AMDD
stands for the agile model driven development which is not all to be confused
with the agile model of software development. The model driven development or
MDD is a separate development model and the AMDD i.e., the agile model driven
development is its agile version.
Not many of us familiar with this model. This
article is dedicated to the agile model driven development model only.
About Model Driven Development
- The
model driven development involves the creation of the extensive software models
before the actual coding is done.
- The best example for this is given by the
Object Management Group (OMG’s) model driven architecture standard.
- Model
driven development is quite famous with the developers who follow the
traditional approaches whereas the agile model driven development has made it
mark with the agile followers.
- After going through a research on the RUP/ EUP,
it was observed that the model driven development can do with an iterative
approach and thus the agile model driven development was born.
- The basic
difference here lies in the creation of the models.
- In the agile
model driven development the agile models of the software are created rather
than creating extensive models like in the case of the model driven development.
- These agile software models are good enough to drive the whole lot of the
development efforts.
- The agile model driven development is a methodology that
has adopted for scaling of the agile software development.
Activities included in life cycle of an agile project
Below mentioned are
the activities that are included in the life cycle of an agile project:
- Identification of the high level scope
- Identification of the initial requirements stack
- Identification of an architectural vision
- Iteration modelling
- Model storming
- Test driven development (TDD)
Iteration activities In AMDD
The
following are the iteration activities in an agile model driven development
method:
- Requirements envisioning
- Architecture envisioning
- Initial set up and planning
- Investigative testing
- Release
- Production
- The
envisioning is done usually in the first week of the development of a software
project with the goal of identification of the scope of the software system or
application and its architecture.
- For this both the high level architecture
modelling and the high level requirements modelling are required.
- Envisioning is a means for exploring the requirements and
develops a strategy for the development of your project.
What is to be done
in each iteration should be decided well before beginning with the iteration
process?
- The agile software development principles insist that the requirements
are implemented in the order of their priority levels.
- This is what is called as the iteration planning.
- For
the accurate estimation of the requirement it is required that you understand
the work needed to be done for its implementation and this is where the
modelling comes to help.
- The model storming sessions are usually like some
impromptu sessions which do not last for more than thirty minutes.
- It involves
the discussion over an issue until all the members are satisfied with their
understanding of the issue.
- After this they again get back to coding process.
- Model storming is often called as the JIT modelling or “just in time”
modelling.
- During the whole development process several agile methodologies are
followed like:
- Test first design (TFD)
- Refactoring etc.
- The above
two agile methodologies combined together are known as the test driven
development.
- This is the stage in the agile model driven development where much
of the time is spent.
- Here the detailed modelling is carried out with the help
of development tests, customer tests, executable specifications and so on.
- The
customers tests here are nothing but the agile acceptance tests.
No comments:
Post a Comment