The characteristics of a software lifecycle methodology that uniquely qualify a process as being suitable for rapid development include the following:

  • Lightweight, by requiring the minimum level of procedure for the size and scope of the system under development

  • Complementary, to the techniques and tools you adopt as part of your adaptive foundation for rapid software development

  • Adaptive, so system changes can be easily accommodated by the process

Adaptive methods are preferable to conventional predictive approaches, as they offer the necessary techniques to accommodate changing requirements. The key to adaptive methods is their iterative approach to development, the benefits of which are:

  • Low risk, as early iterations are used to target identified areas of high risk early in the process

  • Well suited to projects with emergent requirements, as iterations refine the requirements over time

  • High quality, with testing being a continuous activity undertaken from the outset of the project

  • Improved customer satisfaction, as the customer plays an active role in guiding the evolution of the system

Two examples of popular methodologies offering iterative approaches are the IBM Rational Unified Process and the agile methodology, Extreme Programming.

Of these two, RUP provides an extensive process framework from which a tailored process can be designed for a particular project type. Due to its comprehensive list of activities and artifacts, RUP scales well and so is applicable for both small and extremely large projects. The ability of RUP to contend with large development projects, potentially with distributed development teams, makes it an ideal candidate for enterprise-level J2EE systems.

In comparison, XP offers a highly disciplined, ultra-lightweight process that has been proven to work well for small teams developing projects with the vaguest of requirements. It is easy to learn and is proving popular with the software engineers who have so far embraced its values and practices.

Now that we have covered some of the key concepts around the choice of a development process for rapid development, we can move on to the business of designing, building, and testing our J2EE solutions.

Additional Information

Philippe Kruchten, one the founding fathers of RUP, has openly criticized publications that misrepresent the practices of his process, particularly those that present it as a waterfall model. I'm confident I've done his creation justice, but if you want to hear about the process framework from the horse's mouth, as well as learn more about RUP, then you should read his excellent book, The Rational Unified Process: An Introduction [Kruchten, 2003].

Numerous resources exist for XP, with volumes of material being published on the process. A good starting point is Kent Beck's original text on the subject, Extreme Programming Explained [Beck, 1999]. A detailed online reference is also available for XP at

From my exposure to XP, I was always of the opinion that XP would be unsuitable for split-site development, especially for projects with the bulk of the development work taking place offshore. I may need to revise my opinion, as Martin Fowler has written a thought-provoking article on his experiences using XP with an offshore development shop in Bangalore. The article is available from

For more information on use cases, Alistair Cockburn has written a number of articles on the subject, which can found at his Web site at His site also contains an example of a use-case template on which the example in this chapter is based. See

The site also includes information on Alistair's agile methodology framework, Crystal.

    Rapid J2EE Development. An Adaptive Foundation for Enterprise Applications
    Rapid J2EEв„ў Development: An Adaptive Foundation for Enterprise Applications
    ISBN: 0131472208
    EAN: 2147483647
    Year: 2005
    Pages: 159
    Authors: Alan Monnox © 2008-2017.
    If you may any questions please contact us: