In a nutshell, the Dynamic System Development Method (DSDM) is a game-changing, non-proprietary agile application development project model for developing business solutions within tight time frames. It shortens the clock-speed (and time to market) for delivery of core business benefits. DSDM is the only approach that can guarantee delivery on an exact day under tight, Internet-time deadlines. It's tool-independent – there are no tools or software packages to buy. You can find information about DSDM at www.dsdm.org.
DSDM outlines a five phase process which includes
• feasibility study, which lasts weeks rather than months or years
• business study, which scopes the project and determines high and low level functionality, maintenance level and system architecture.
• functional model iteration, which iterates on prototyping to elicit requirements through feedback
• design and build iteration, which iterates on engineering [parts of] the prototype.
• implementation, which is concerned with making the system operational and training the users.
Each phase has a defined purpose and an applicable set of quality criteria and products which cover management, technical and quality issues. There is a minimal set of products which is considered safe for RAD. As in the Risk based software development life-cycle there are preconditions for entry into each phase which are management and product based. Naturally, DSDM relies on active configuration management to track the projects and enable roll-backs.
DSDM Principles
• Active User Involvement is imperative
• DSDM teams must be empowered to make decisions
• There must be frequent delivery of products (timebox)
• Deliverables must be fit for business purposes.
• Iterative and incremental development is necessary to converge to a solution (timebox).
• All changes are reversible.
• Requirements are baselined at a high level.
• Testing is integrated throughout the life-cycle
• All stakeholders must collaborate and co-operate