Dynamic Systems Development Method (DSDM)

A comprehensive teaching resource for agile project management

Introduction to DSDM

The Dynamic Systems Development Method (DSDM) is an agile project delivery framework, primarily used as a software development method. DSDM is an iterative and incremental approach that embraces the principles of agile development, including continuous user/customer involvement.

Originally developed in 1994, DSDM has evolved to become a mature approach that provides a comprehensive foundation for planning, managing, executing, and scaling agile process and iterative software development projects.

DSDM Interactive Learning

DSDM Overview

DSDM is a proven framework for agile project delivery that:

  • Focuses on the full project lifecycle
  • Provides a best-practice approach for iterative development
  • Emphasizes frequent delivery of products
  • Promotes collaboration and cooperation between all stakeholders
  • Is independent of tools and techniques

DSDM Principles

DSDM is based on nine key principles that form the foundation of the method:

1. Focus on the business need

Every decision taken during a project should be viewed in the light of the overriding project goal - to deliver what the business needs to be delivered, when it needs to be delivered.

2. Deliver on time

Delivering a solution on time is a very desirable outcome for a project and late delivery can often undermine the very rationale for a project.

3. Collaborate

Teams that work in a spirit of active cooperation and commitment will outperform those that do not. DSDM creates the environment where this can happen.

4. Never compromise quality

The right level of quality for the deliverable to be fit for purpose should be agreed at the outset and adhered to throughout.

5. Build incrementally from firm foundations

DSDM advocates an approach whereby a firm foundation is created in terms of both business understanding and technical feasibility.

6. Develop iteratively

Iterative development allows products to be improved incrementally, enabling feedback and learning from earlier iterations to influence later ones.

7. Communicate continuously and clearly

Poor communication is often cited as the biggest single cause of project failure. DSDM creates an environment of rich communication.

8. Demonstrate control

Projects must be executed in a disciplined manner with regular progress checks against the plan and continuous monitoring of risks.

9. Tailor to suit the project context

DSDM is a framework that must be configured and tuned to suit the specific context of the project.

DSDM Process

The DSDM process consists of seven phases grouped into three main stages:

Pre-Project

This phase ensures that only the right projects are started and that they are set up correctly.

Project Lifecycle
  1. Feasibility Study: Determines if DSDM is appropriate and establishes the business case
  2. Foundation: Establishes firm foundations by understanding the business and technical context
  3. Evolutionary Development: Iterative development of the solution through cycles of:
    • Functional Model Iteration
    • Design and Build Iteration
    • Implementation
Post-Project

This phase ensures the delivered solution continues to meet the business need and identifies opportunities for further enhancement.

DSDM Roles

DSDM defines several key roles that form the project team:

Business Sponsor

The ultimate decision-maker who champions the project at the highest level within the business.

Business Visionary

Provides the high-level business view of what the project needs to achieve.

Business Ambassador

Represents the business community and is empowered to make decisions on their behalf.

Business Advisor

Provides more detailed business knowledge to supplement the Business Ambassador.

Technical Coordinator

Ensures the system is technically coherent and adheres to architectural standards.

Team Leader

Facilitates the team's progress towards its goals and removes obstacles.

Developer

Creates the solution by developing and testing the deliverables.

Tester

Ensures the solution meets the agreed quality standards.

Workshop Facilitator

Ensures workshops are properly planned and effectively run.

DSDM Techniques

DSDM employs several key techniques to support its principles:

Timeboxing

A fixed period of time (typically 2-4 weeks) in which a planned activity must be completed.

MoSCoW Prioritization

A technique for prioritizing requirements:

  • Must have
  • Should have
  • Could have
  • Won't have this time

Modeling

Creating visual representations of the system to aid understanding and communication.

Prototyping

Creating early versions of the solution to gather feedback and validate requirements.

Workshops

Structured collaborative sessions that bring stakeholders together to achieve specific objectives.

Iterative Development

Developing the solution in small increments, with each iteration delivering a working product.

Test Your DSDM Knowledge

1. Which of the following is NOT one of DSDM's nine principles?

2. What does the 'M' stand for in MoSCoW prioritization?

3. Which DSDM role is responsible for ensuring the system is technically coherent?

4. What is the typical duration of a DSDM timebox?

5. Which phase of DSDM establishes firm foundations by understanding the business and technical context?

Additional Resources