DSDM: Your guide to Dynamic Systems Development Method

Check out all you need to know about Dynamic Systems Development Method or DSDM. Also learn about the 8 key principles of DSDM.


What is DSDM?

DSDM or Dynamic Systems Development Method is an agile software development methodology which focuses on the full project life cycle. DSDM is an iterative and incremental approach to software development, which also focuses on adding discipline and structure to the development process.

DSDM is largely based on the Rapid Application Development (RAD) method of agile development. The RAD method prioritized rapid prototyping as well as iteration based on user feedback, but lacked structure. This is why the DSDM consortium was founded, so that experts could share their knowledge and develop a proper agile framework.

The DSDM framework has 4 main components which are split into 8 key principles. These four components are:

  1. Feasibility and business study
  2. Functional model / prototype iteration
  3. Design and build iteration
  4. Implementation

All these components combine to deliver strategically aligned benefits in business at the fastest possible time to give the best Return on Investment. The DSDM framework uses Pareto’s principle as one of its differentiating factors from other traditional approaches. This principle states that ‘as a rule, 80% of the value of the solution can be delivered for 20% of the effort that it would take to produce the total solution.’

Using this, the Dynamic Systems Development Method aims to efficiently develop good quality software so that the returns are very beneficial to the stakeholders.

dydm - dynamic systems development method

How DSDM came into being

The RAD method of development was gaining popularity in the early 1990s. This method allowed developers to build prototypes quickly and with ease and show customers the possible solution. Although it sped up the development process, the RAD method had no structure and wasn’t uniform as the processes weren’t common between teams.

Due to this, each organization had its own RAD practices. This non-uniformity made it difficult to recruit people who were RAD experts. To solve this problem, the DSDM consortium was formed. The objective was to jointly develop and promote an independent RAD framework. This gave birth to DSDM in 1994.

Initially, the DSDM practices were protected as intellectual property by the contributing companies and its use was limited to the Consortium members. In 2007, the contributing members made DSDM free to view and use, for all. You can find the complete DSDM handbook at this link.

DSDM project phases

The Dynamic Systems Development Method has 6 project phases as follows:

  1. Pre-Project phase - to make sure that only the right projects are started with a proper objective.
  2. Feasibility phase - to check the technical and business feasibility of the proposed project
  3. Foundations phase - to understand the scope of work to be done, as well as how it will be carried out, by whom, when and where.
  4. Evolutionary development phase - to evolve the solution and create solution increments in an iterative manner.
  5. Deployment phase - this consists of assembling the various components, reviewing the product and deploying it before closing the project.
  6. The Post-project phase - to check how well the expected business benefits have been met.

In practice, this may not be a steady, one-directional approach and one might have to revisit a previous phase. 

8 key principles of DSDM

The 8 principles of Dynamic Systems Development Method are given as follows:

1. Focus on the business needs

It is important to understand the business priorities and take any decision in accordance with it. Any move you make should be in line with the project goals. The project isn’t the end, but rather a means to get to the end. You need to develop a valid business case and ensure continuous business commitment.

2. Deliver on time

Delivering projects on time is non-negotiable and you need to ensure that your product is ready in due time. Use timeboxing techniques, plan them in advance and predict a time frame for completion. Delivery date shouldn’t be changed at any cost but you might make some feature adjustments.

3. Cooperate and collaborate

The stakeholders and developer team should be able to collaborate with ease when required. Through Facilitated workshops, project stakeholders can share their inputs with the development team. The team should have experts who are proficient in relevant subject matter.

4. Never compromise quality

The level of quality that will be delivered should be agreed upon early on. This cannot be a variable and all the work should be towards achieving this quality. Continuously testing is a must to ensure quality.

5. Build incrementally

Understand the scope of the business problem and deliver business value early. However, do not overanalyze the requirement details and assess priorities with each increment.

6. Develop iteratively

It’s quite certain that there would have been mistakes early on which need to be rectified as the details emerge. Get feedback from your customers and develop improvements accordingly. Continuous evolution enables you to develop more accurately.

7. Communicate continuously

You need to manage stakeholder expectations effectively and can’t let poor communication come in the way of project success. Present your work early and repeatedly by making use of models and prototypes. 

8. Demonstrate control

You need to be proactive when monitoring progress of your project, and establish control to show that you’re in charge.

0
Comments

You'll love these articles too!

Crystal Agile Methodology: Your guide to the Crystal framework in Agile
Hrishikesh Pardeshi
Hrishikesh Pardeshi

Crystal Agile Methodology: Your guide to the Crystal framework in Agile

Find out all you need to know about the Crystal method in agile. Also learn about the origin, functioning and principles of the Crystal agile methodology.

Uchenna
Keith from buildd
are talking about this
Duty of Loyalty Definition | What is a breach of the duty of loyalty?
Hrishikesh Pardeshi
Hrishikesh Pardeshi

Duty of Loyalty Definition | What is a breach of the duty of loyalty?

Duty of loyalty is about making sure that the company's best interests are given priority over personal interests. Learn more about Fiduciary Law and examples of when the duty of loyalty has been breached

Irvin
Tamilselvi Ramasamy
Vandhana V
are talking about this
What is a non-accredited investor? Difference between accredited investor vs non-accredited investor
Karthik Sridharan
Karthik Sridharan

What is a non-accredited investor? Difference between accredited investor vs non-accredited investor

Globally, non-accredited investors constitute the majority of investors. Learn about non-accredited investors and the different types of investors in the US.

Hari
Ankit
Tamilselvi Ramasamy
are talking about this
What are Non-Qualified Stock Options (NSOs)? - Complete Guide
Karthik Sridharan
Karthik Sridharan

What are Non-Qualified Stock Options (NSOs)? - Complete Guide

A non-qualified stock option is an option to buy company stock that is given to an employee as part of the company's compensation package. Learn more about NSOs and the differences between NSOs and ISOs

Hari
Tamilselvi Ramasamy
Darshana
are talking about this

Check out these founder stories!

Brian Chesky

Brian Chesky

AirBnB
Brian Chesky Started on the side Doesn't code

Check out these failed startup stories!

SmallWorlds

SmallWorlds

Entertainment

2008-2018