Dynamic System Development
Method (DSDM)
Content
DSDM Introduction
Phases
Recommended Core Techniques
DSDM Principles
Roles in DSDM ( Project-level roles)
DSDM Roles ( Solution development team roles)
DSDM Roles ( Supporting Roles)
DSDM Introduction
DSDM is an Agile method that focuses on the full project lifecycle
DSDM (formally known as Dynamic System Development Method) was created in 1994, after project
managers using RAD (Rapid Application Development) sought more governance and discipline to this new
iterative way of working.
It has clearly defined phases, sub-phases, roles and principles that enable software development teams to
work efficiently.
DSDM Framework Phases
DSDM Framework Phases
Pre-Project
The Pre-Project phase includes project suggestion and selection of a proposed project candidate
The pre-project determines if a project should be realized at all.
Project Lifecycle
Feasibility Study (FS)
Business Study (BS)
Functional Model Iteration (FMI)
Design & Build Iteration (DBI)
Implementation (IMP)
Post-Project
Post-project tasks include measurements on how the deployed system is performing and if any further enhancements are required.
Usually these measures take place about 6 month after the project technically finished.
Recommended Core Techniques
Timeboxing
MoSCoW Rules
Prototyping
Facilitated Workshop
Timeboxing
A timebox is an interval, usually no longer then 6 weeks, where a given set of tasks should be achieved.
Timeboxes can contain several tasks, and at the end need to deliver a product
Milestones also suffer from having a fixed deliverable, while timeboxes are subject to change, since the tasks
are defined, not the necessarily the deliverable, which can change if prioritization shifts during the timebox
iteration, allowing for rapid response to business needs
MoSCoW Rules
Prioritization rules. Since DSDM projects are concerned to be in time and on budget, and since the users are heavily involved
into the development process, it’s mandatory to keep a constant watch on which features the user needs most.
MUST HAVE - These features are a show stopper if they are not delivered, the system would simply not work
SHOULD HAVE - Features of this priority are important to the system and contribute a significant value, but
can be omitted if time constraints endanger the delivery of any “Should have” feature.
COULD HAVE - These features enhance the system with functional items, which can easily be
reassigned to a later timebox
WANT TO HAVE - Usually these features only serve a limited group of users and are of little value.
Prototyping Rules
1. Business Prototype: Allow assessment of the evolving system
2. Usability Prototype: Check the user interface
3. Performance / capacity Prototype: Ensure solution will deliver performance or handle volume
4. Capability/Technique Prototype: Evaluate possible options
8 Principles of DSDM
8 Principles of DSDM
Focus on the business need
a. Establish your business case and align it to your organizational goals
b. Guarantee the Minimum Usable SubseT (MUST) – which is like the MVP
Deliver on Time
a. Use timeboxing to control your time
b. Focus on the business priorities first
c. Predictable delivery can build confidence
Collaborate
a. Get the right people involved when needed during the entire project
b. Push for pro-active involvement from the stakeholders
c. Build a culture that revolves around being one team
Never compromise quality
a. Define your level of acceptable quality at the beginning of the project
b. Do not let quality become a variable
c. Test early, test often, test continuously
d. Constantly review the work and improve
8 Principles of DSDM
Build incrementally from firm foundations
a. Do Enough Design Up Front to create a strong foundation
b. Re-assess priorities and ongoing project viability with each delivered increment
Develop iteratively
a. Gain business feedback with each iteration
b. Embrace and adapt to change, let the right solution evolve
c. Detail should emerge later rather than sooner
d. Encourage creativity, learning, and experimentation through iterative development
● Communicate continuously and clearly
○ Encourage informal communication at all levels
○ Have daily standup meetings
○ Demonstrate the evolving solution early and often and accept feedback
○ Keep documentation limited and prepared when needed
○ Manage stakeholder expectations of incremental deliveries throughout the project
○ Be honest and transparent in all communication
● Demonstrate control
○ Ensure progress is visible to everyone
○ Progress is measured by the delivery of products rather than completed activities
○ Manage work and issues proactively
○ Continue evaluating project viability based on the organization’s goals and objectives
Roles In DSDM
1. Project Level
2. Solution Development Team
3. Supporting Role
Project Level Roles
Roles in the Project Level would be responsible for interacting with stakeholders and providing project governance.
They provide the needed vision of the project and work to ensure that the vision is followed.
Types of Project Level Roles
Business Sponsor
They are the project champion and responsible for the business case and project budget.
Their position should hold enough power within the organization so that they can help resolve business issues and make financial
decisions.
Business Visionary
The Business Visionary is meant to be very involved with the project, helping to create the business vision of the solution.
They are required to help keep a single clear vision as the project moves forward.
Technical Coordinator
They work to ensure that the other technical roles work in a coordinated way.
The glue that holds the technical aspects of the project together while advising on technical decisions and innovation
Project Manager
The Project Manager is tasked with providing an “Agile-style leadership”.
The Project Manager should lead a self-empowered team using facilitation rather than a commanding approach to leadership.
Solution Development Team (SDT)
Business Analyst
It is a relationship facilitation role, bridging gaps between the SDT and the Project Level and between the technical/solution
developer roles and the business roles.
Business Ambassador
They provide daily requirements to the team during Evolutionary Development, being the primary decision-maker for the
business.
Solution Developer
The Solution Developer translates the business requirements into a Solution Increment that meets the needs of the increment.
Solution Tester
The Solution Tester is tasked with making sure the solution works, testing to the decided standards.
Team Leader
They are tasked with ensuring goals are met and working with the team to coordinate solution development and delivery.
Supporting Roles
Technical Advisor
They may be responsible for operational changes, assisting with the release, or ongoing maintenance of the solution.
Business Advisor
The Business Advisor’s role is to help ensure the testing of the solution meets the business needs.
Workshop Facilitator
The Workshop Facilitator will manage the workshop process. They are responsible for organizing meetings that
achieve a workshop objective.
DSDM Coach
The DSDM Coach is responsible for helping the team understand the DSDM approach. They are there to ensure that
DSDM is followed and to help those outside the team understand the process. They provide the details of DSDM.