RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


A Practical Guide to Seven Agile Methodologies, Part 2

You know that adopting an Agile methodology is the right thing to do, but trying to sort out all the different methodologies is a major research endeavor. How to know which one is right for your organization? In this two-part article, you'll learn all the ins and outs of the seven most popular methodologies so you can pick the one that's best for you. In part 2, we cover AUP, Crystal, and DSDM.

his is the second in a two-part series that surveys Agile methods and helps readers decide which combination is the most appropriate for their projects. The first part introduced Agile and summarized Extreme Programming (XP), Scrum, Lean, and Feature Driven Development (FDD). This part will look at the Agile Unified Process (AUP), Crystal, and Dynamic Systems Development Method (DSDM) before providing a comparison of all seven methodologies. (In case you missed it, be sure to read part 1.)

Agile Unified Process
The Unified Process (UP) is an iterative and incremental software development process framework. It is often considered a higher ceremony process because it specifies many activities and artifacts involved in a software project. As a process framework there are several adaptations, the most popular being the Rational Unified Process (RUP) from IBM. The Agile Unified Process (AUP) is an Agile adaptation of the UP formalized by Scott Ambler and written about by others including Craig Larman. Ambler succinctly summarizes AUP as "serial in the large, iterative in the small, [and] delivering incremental releases over time."

Figure 1. Phases and Disciplines of the Unified Process. AUP is an implementation of the Unified Process which tailors it by selecting only seven disciplines (model, implementation, test, deployment, configuration management, project management, and environments).
Image courtesy of IBM.

Risk management plays an important role in AUP projects. AUP stresses that high-risk elements be prioritized early in development. As a means to this end, a risk list is usually created early on and maintained throughout the development process. Additionally, AUP stresses the early development of an executable architectural baseline. This architectural core is developed during the Elaboration phase to validate key requirements, assumptions, and address technical risks.

In describing AUP as "serial in the large," Ambler refers to the four major phases of a UP project: inception, elaboration, construction, and transition. These phases occur in serial and each concludes when a specified milestone is achieved.

  • Inception—The goal of inception is to develop a shared understanding of the scope of the new system and to define a candidate architecture.
  • Elaboration—The goal of elaboration is to expand the team's understanding of the system requirements and to validate the candidate architecture.
  • Construction—During construction the development of the system is completed.
  • Transition—During transition system testing is completed and the system is deployed to production.
AUP is "iterative in the small" in that each phase is divided into one or more iterations. AUP disciplines are a subset of UP disciplines and include: model, implementation, test, deployment, configuration management, project management, and environment. During most iterations, all of the seven disciplines of AUP occur in parallel (see Figure 1). Each discipline represents an activity that drives the project closer to achieving its vision.

Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date