The ability to react quickly to change is an important aspect of rapid development and a theme that is reiterated throughout this book. Changes to customer requirements have the potential to snowball all the way through the software development process, with catastrophic implications for the project schedule. If the effects of changes can be minimized, then the likelihood of finishing the project on time and within budget is greatly increased. Successfully handling change all comes down to a project's agility.
Part II looks at what steps can be taken to make a project agile from the perspective of architecture and design. We cover the importance of designing solutions conducive to rapidity from the outset and consider ways to apply J2EE technology that produces practical, workable application designs.
To support the design process we examine the roles of modeling and modeling tools, and assess how models offer an effective and inexpensive means of assessing the impact of any change. Coupled with this information is the use of code generators, used to insulate the project from the ravages of rapidly changing requirements.
Part II concludes with a discussion on Model-Driven Architecture, a development paradigm that brings together design, modeling, and code generation.