This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Agile and Other Processes and the fly likes AM - Model with a Purpose Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "AM - Model with a Purpose" Watch "AM - Model with a Purpose" New topic
Author

AM - Model with a Purpose

Anil Vupputuri
Ranch Hand

Joined: Oct 31, 2000
Posts: 527
Hi Michael,

In AMDD, I have a question when we're modeling with a purpose suppose the design which we have created works well only in the initial stage of a project and falls apart over new requirements in later stage of a project and it will be too late to fix the design at this stage and there are some cases where requirements in later stage have a need to change original design. How do we handle such cases?
Does it mean that we've to spend a lot of time up front for design and analysis which is against AMDD.

Thanks.


SCJP 1.5, SCEA, ICED (287,484,486)
Michael Nygard
author
Ranch Hand

Joined: Jan 03, 2007
Posts: 40
Anil,

What is AMDD?

Cheers,
-Mike


Michael T. Nygard<br /><a href="http://www.michaelnygard.com/" target="_blank" rel="nofollow">http://www.michaelnygard.com/</a><br /> <br />Release It! Design and Deploy Production Ready Software<br /><a href="http://pragmaticprogrammer.com/titles/mnee/index.html" target="_blank" rel="nofollow">http://pragmaticprogrammer.com/titles/mnee/index.html</a>
Anil Vupputuri
Ranch Hand

Joined: Oct 31, 2000
Posts: 527
AMDD - Agile Model Driven Development, it's a agile version of Model Driven Development (MDD).
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Anil, what do you mean with "too late to change the design"? I don't know very much about (A)MDD, but isn't the whole purpose of it that you can change the design at any time, and have it directly reflected in the system?


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Anil Vupputuri
Ranch Hand

Joined: Oct 31, 2000
Posts: 527
What I mean is, we have an existing system which has to enhance for new requirements so we came up with a design which would slightly impact earlier design which is in production so we got to modify old code to cater for new requirements that means old modules have to be tested again. Isn't this against agile modeling?
Michael Nygard
author
Ranch Hand

Joined: Jan 03, 2007
Posts: 40
Anil,

I can't speak much to model driven development, as I've never tried it in practice (and have some reservations about it in theory.)

I can say that the purpose of agile modeling is specifically about adapting to change. The whole point is to allow the existing design and code to accommodate new requirements. That doesn't mean old code will never be touched. Just the opposite in fact... it's about ensuring the the existing code and design can be modified with ease.

In my chapter "Adaptation", I discuss some issues around enterprise architecture that can make adaptation easier or harder. In particular, how you build interfaces that cross the system boundary can make a big impact on how easily you can upgrade your applications.

"Adaptation" operates under the assumption that change is good---a basis of all agile methods---so it shows how to make change as painless as possible.

Cheers,
-Mike
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Originally posted by Anil Vupputuri:
What I mean is, we have an existing system which has to enhance for new requirements so we came up with a design which would slightly impact earlier design which is in production so we got to modify old code to cater for new requirements that means old modules have to be tested again. Isn't this against agile modeling?


As Michael said, it's definitely not against AM. See http://www.agilemodeling.com/essays/changeManagement.htm for example.

Regarding testing, you are correct that you need to test the full system before every release. In fact Agile teams test much more often - at least once every day, selected tests much more often, up to every couple of minutes.

Of course that only works if most of your tests are fully automated and can be run at the press of a button (or even run fully automatically, for example triggered by a change in the code repository). Extensive suites of fully automated tests are an important prerequisite for every Agile approach to software development.
 
jQuery in Action, 2nd edition
 
subject: AM - Model with a Purpose
 
Similar Threads
Refactoring Databases: help to design ?
How many use cases are enough?
one more question from preassessment test
Parsing thousands of files.
test first