Dynamic Systems Development Method
“DSDM stands for Dynamic Systems Development Method, an agile methodology. Development teams use DSDM to address the project lifecycle, including its impact on the business.”
Dynamic systems development method (DSDM) is an agile framework that follows an iterative approach to software development. The central idea on which it is based is that “any project must be aligned to clearly defined strategic goals and focus upon early delivery of real benefits to the business”.
Continuous user involvement is essential in DSDM.
The DSDM is an agile development model, and DSDM is considered the ‘grown up’ version of the agile framework in common usage.
The dynamic systems development method was invented in 1994. Before that, Rapid Application Development was the commonly used agile framework, and DSDM was developed as an extension of RAD.
History of DSDM
The dynamic systems development method (DSDM) is a well-known agile software process model that started in 1991.
The University of Cambridge was the birthplace of DSDM’s concept. This university has worked on dynamic systems development projects since 1972 under the name Concurrent Contextual Design.
In 1987, they developed their own “methodology”, dynamic systems development method (DSDM), which aimed to shorten the time needed for software production.
Later, C de Vreede, who had taken part in the DSDM project, extended it. He created a general extension called Dynamic System Development Method with Enhanced Feedback Mechanisms (DSDM/EF).
Today, several projects for the Swedish public administration use the latest version of DSDM.
DSDM framework is categorized into three phases:
Here, we pick out the projects to work on, register the budget or funds required (and available), and establish project commitment.
Project life cycle
Project lifecycle covers the stages of feasibility and market research, functional model and prototype iteration, design and structure iteration, and execution.
Post project phase
The objective of this phase is to ensure that the product is working efficiently and as per user and company’s requirements. This stage requires maintenance, rectifications, and performance enhancement. Because of the iterative nature of the project lifecycle, one cycle is not enough to complete the product development. It undergoes retesting for the previous phases to refine the product.
Project Life Cycle Phase of DSDM
Now let us discuss the project life cycle phase of the dynamic systems development method. The project life cycle itself has the following stages:
- Feasibility and market research: It is a study of necessary success requirements and the constraints of the application that are part of the process following an assessment of the application’s feasibility to the DSDM approach and its ability to cater to business needs.
- Functional model and prototype iteration: This step involves the production of operational models and prototypes at many levels of demonstrations and trials to garner feedback. The iterative testing helps in rectifying the prototype at every level. This way, the prototypes move forward to develop into the actual deliverable product.
- Design and structure iteration: To ensure that the built functions are by the user’s expectations and ease. It involves identifying the design prototype, plan, and scheduling, creation of the prototype, review through Iterative testing.
- Implementation: The product is made available to the end-users. The end-users are trained to run the product, provide feedback, raise or report issues with the product experience that are to be solved. This way, you can achieve product excellence.
Principles of DSDM
DSDM has eight core principles as follows:
- Focus on market needs
- Deliver on time
- Build incrementally from firm foundations
- Develop iteratively
- Communicate continuously and clearly
- Demonstrate control
Advantages of DSDM
- It’s a rapid process.
- Collaboration and communication are critical points of DSDM; the product designers can easily connect to the end-users for feedback.
- Adherence to deadlines.
Apart from these features, DSDM is expensive and might not suit small companies.
Should You Develop Your Product Using Dynamic System Development Method?
Well, the answer would depend on the kind of project you have.
DSDM can be useful for most types of projects.
Several projects in the public sector use the DSDM, and it is advantageous when following a product strategy.
The struggle with common problems such as hidden requirements and delayed feedback loops becomes more manageable within dynamic system development.
1) When you want your IT project to become dynamic, you need active system development.
2) When you want project success, you need dynamic system development.
3) When you know your project will involve multiple, varying system development, then dynamic system development is the way.
4) Dynamic system development helps organizations that work with systems develop solutions using dynamic techniques.
Q: What is the difference between RAD and DSDM?
A: RAD methodology was disordered without anyone core approach and less strictness on deadlines and budget, unlike DSDM, a more structured approach. DSDM is more focused on its principles of collaboration, quality, and effective communication among stakeholders.
Q. What is the difference between DSDM and scrum?
A: The dynamic systems development method (DSDM) is an agile software development approach for flexible environments. It aims to help organizations respond better to their customers’ and users’ needs by delivering higher-quality systems faster than traditional methods. Scrum is a framework for developing and sustaining complex products. It focuses on working effectively in one of the most complicated systems known to humankind – a scrum team made up of highly skilled professionals working with complex products.
Q. Is DSDM suitable for all projects?
A: No. DSDM is suitable only for dynamic projects, and it is suited for projects where the solution is varying and flexible over time due to market conditions or other factors.