ANALYSIS DSDM and XP hold user involvement and frequent revision in common, of course. DSDM's winning features in larger and more complex environments are its business fitness focus and the reversibility requirement -- a somewhat costly feature, but one that pays for itself by minimising the damaging effects of inevitable implementation errors and user backtracking. And some features of XP, such as pair programming, are rendered unnecessary by the DSDM testing philosophy, which accomplishes the same thing.
DSDM's five phasesIn place of XP's "do-over" design doctrine, DSDM requires five distinct project phases:
- A feasibility study phase, to gauge the business appropriateness of the proposed system, its technical realisation, and the costs and duration.
- A business study phase, to generally define the primary functions of the system and set the reliability and performance goals.
- A functional model iteration, with prototyping to determine user requirements and gather information, demonstrate intended functionality, and gather nonfunctional requirements (this phase is repeated as often as necessary).
- A system design/build iteration, which may begin before the previous phase is complete, for refining and detailing the functional prototype with the goal of delivering a design prototype that meets the functional and nonfunctional requirements (this is a repeatable phase).
- An implementation phase, in which the system is delivered to end users for evaluation and a project audit is conducted that will either release the system for live use or return it to an earlier phase.
Interphase activitiesContinuity is maintained during this process by several interphase activities: project management, prototyping management, configuration management, risk analysis, testing, and quality assurance. Diligence in these areas appears on the surface to create a time cost to the project; however, that same diligence repays the project in reduced iteration time.
The benefits of DSDMMany of the benefits of DSDM are also benefits of XP. For instance, both methods involve the user deeply in the development process, resulting in strong user identification with the system -- cooperation in the process will break down the users' resistance to change before it has a chance to grow. And the final system is more in line with the ultimate user requirements.
However, DSDM has the edge, with several deliverables that recommend it over other methodologies. Reversibility in every iteration avoids the optional scope contract trap of XP. There's no corrective design when any misstep can be rapidly eliminated. The five-phase project structure makes missing delivery windows less likely. And while XP's methodological emphasis is programming, DSDM delivers the most comprehensive final product, with a continual focus on business processes -- where the customer needs it to be.