Friday, May 11, 2012

“AMDD” is the abbreviated form of the “agile
model driven development” and nowadays is quite popular among the developers
and programmers in the field of software engineering and technology.

AMDD took
its birth from the “MDD” or the “model driven development” as its agile version
that makes use of the agile models rather than using the extensive models in
the pure model driven development.

The agile model driven development was
formulated out of model driven development since it was thought that the
iterative development with the model driven development is possible. And since
it constituted of the iterations, it was categorized under the category of
agile software development methodologies.

The agile models that drive the whole
development procedure are good enough to take care of the development efforts.
The agile model driven development is one of the most sought after beyond the
small agile software scaling development methodologies.

Agile Model Driven Development Lifecycle

To understand this
whole agile model driven development one needs to familiarize himself/ herself
with the life cycle of this development model. This article is focused up on
the life cycle of the agile model driven development only!

The life cycle of the agile model driven
development is of quite a high level. So let us see what all are the various
stages in the life cycle of the agile model driven development:

1. Envisioning:

This
stage of the life cycle is comprised of two more sub stages namely: the zeroth and the
first iteration. These iterations usually come in to play during the
first few weeks of the development process. This stage is actually included in to the life cycle
with the purpose of the identification of the scope of the system and what
kind of architecture will be suitable for developing the project. For this
the following two sub stages come in to process:

(a)Initial requirements envisioning or modeling:

This stage may
take up to several days for the identification of the high level requirements.
Apart from just identifying the requirements the scope of the release product
is also determined at this stage only. For carrying out with this stage the
developer may require some type of usage model in order to see how the software
project will be used by the customers or the users.

(b)Initial architecture modeling:

This stage is all about
setting up of a proper technical direction for the development of your software
project.

2. Iteration Modeling:

This stage involves planning for
what is to be done with the current iteration. Often the modeling
techniques are ignored by the developers while planning objectives for the
iteration that is to be carried out next. The requirements in every agile
model as we know are implemented in the order of their priority.

3. Model Storming:

As mentioned in the agile manifesto the
development team should consist of only a few members who are the ones who
discuss the development issues by sketching it up on a white board or
paper. The sessions which involve activities such as those are called the
model storming sessions. These sessions are short enough to last for at
most half an hour.

4. Test driven development involving the executable
specifications: this stage involves the coding phase using the re-factoring
and test first design (TFD). The agile development helps you address cross
entity issues whereas with the test driven development you can focus up on
each and every single entity. Above all the technique of re-factoring the
design, it is ensured that the high quality of the software project is not
hampered at all.