Dynamic Systems Development Method (DSDM) is a framework based originally around Rapid Application Development (RAD), supported by its continuous user involvement in an iterative development and incremental approach which is responsive to changing requirements, in order to develop a system that meets the business needs on time and on budget. It is one of a number of Agile methods for developing software and forms part of the Agile Alliance.
DSDM was developed in the United Kingdom in the 1990s by a consortium of vendors and experts in the field of Information System (IS) development, the DSDM Consortium, combining their best-practice experiences. The DSDM Consortium is a non-profit and vendor independent organisation which owns and administers the framework. The first version was completed in January 1995 and published in February 1995. The current version in use at this point in time (April 2006) is Version 4.2: Framework for Business Centered Development released in May 2003.
DSDM Public Version 4.2 (www.dsdm.org) was made available for individuals to view and use in July 2006. However, anyone reselling DSDM must still be a member of the not-for-profit consortium.
As an extension of rapid application development, DSDM focuses on Information Systems projects that are characterized by tight schedules and budgets. DSDM addresses the common reasons for information systems project failure including exceeding budgets, missing deadlines, and lack of user involvement and top management commitment.
DSDM recognizes that projects are limited by time and resources, and plans accordingly to meet the business needs. In order to achieve these goals, DSDM encourages the use of RAD with the consequent danger that too many corners are cut. DSDM applies some principles, roles, and techniques.
In some circumstances, there are possibilities to integrate practices from other methodologies, such as the Select Perspective, Extreme Programming (XP), and PRINCE2, as complements to DSDM. Another agile method that has some similarity in process and concept to DSDM is Scrum.
Principles of DSDM
There are 9 underlying principles of DSDM consisting of four foundations and five starting-points for the structure of the method. These principles form the cornerstones of development using DSDM.
Prerequisites for using DSDM
In order for DSDM to be a success, a number of prerequisites need to be realized. First, there needs to be interactivity between the project team, future end users and higher management. This addresses well known failures of IS development projects due to lack of top management motivation and/or user involvement.
The second important prerequisite for DSDM projects is the decomposability of the project. The possibility of decomposition into smaller parts enables the iterative approach, and activities, that are hard to prioritize, often causes delays. And that is exactly the effect that DSDM was developed to avoid. Another group of projects for which DSDM is not well-suited are safety-critical ones. The extensive testing and validation found in these kinds of projects collide with DSDM goals of being on time and on budget. Finally, projects that aim at re-usable components might not be well-suited for development using DSDM, because the demands on perfection are too high and collide with the 80%/20% principle described earlier.
The Phases of DSDM
The DSDM framework consists of three sequential phases, namely the pre-project, project life-cycle and post-project phases. The project phase of DSDM is the most elaborate of the three phases. The project life-cycle phase consists of 5 stages that form an iterative step-by-step approach in developing an IS. The three phases and corresponding stages are explained extensively in the subsequent sections. For each stage/phase, the most important activities are addressed and the deliverables are mentioned.
Core Techniques of DSDM