What is DSDM & its principles?
What is DSDM?
DSDM is dynamic in nature as it’s a Rapid Application Development (RAD) approach to software development. It is an iterative and incremental approach that emphasises continuous customer/ Client involvement.
What makes DSDM different is, active involvement of the user and the decision making power is with the teams working on it. The teams are empowered to make decisions.
It focuses on the formula: 80% system deployment in 20% time, i.e., it doesn’t take long to achieve a working stage or to get it to a stage where you can say it will work.
This method is used mainly for the system where software delivery requirements happen in a short span. Its goal is to deliver software in time and on budget while still adjusting for new conditions or changes along the way.
Brief History:
According to Wikipedia, the Dynamic Systems Development Method (DSDM), its base was developed in the 1990s to meet the need for rapid business, but it was officially originated in January 1994 by a non-profit group in the UK, to provide an industry-standard framework for project delivery. Its first version got finished in January 1995. And the latest version, which is currently in use is 4.2, developed in 2003.
DSDM Principles:
DSDM has nine fundamental principles revolving around the business needs:
1. Active user involvement: the first and most crucial principle is user involvement. User, the people who will be using the final product, must be actively involved throughout the project development. It helps in reducing the errors which may occur due to user perception and thus reduces the cost of rework as well. DSDM emphasis on working with a small and selected group of users and stay in touch with them continually, rather than meeting them occasionally in periodic meetings and review sessions.
2. Empowered teams: To proceed quickly and smoothly, this model encourages and empower teams to take decisions. Below are some areas where decision making as a team is very critical
· Requirements decision
· Prioritizing the activities and features delivery
· Details of technical requirements
· Which functionality needs to add in a given incremental
3. Frequent delivery: A frequent delivery of value to the customer ensures that the errors/bugs get identified, worked upon, and resolved/ reversed/fixed at an early stage. The source of the error and root cause is also found and fixed. It applies to all, requirement documents (user stories), working models as well as on program codes.
4. Fitness for business: In DSDM, our focus is to deliver software which is efficient enough to solve a business need and accepts changes or enhancement in a later iteration. DSDM focuses on satisfying business needs first and doesn’t allow to create ad-hoc software. It keeps the process flow simple and effective.
5. Incremental development: To keep the big project simple and less complicated, it becomes crucial to decompose it into multiple small feature projects. Every delivery ensures a new feature gets delivered to the client. This incremental development and delivery continue until the delivery of the complete set of business required features.
6. Reversible changes: In DSDM iteration happens through small increments. As all the stages of development are well known to developers, so changes here are reversible. Therefore, the fear of total loss of work is also very less.
7. Base-line the requirements: Some high-level baselines need to be set to limit the degree of freedom to make changes. During the business agreement phase, the Business and Development Team discuss and agree on the baseline when the change requests and requirements would be “frozen.”
8. Integrated testing: In DSDM, testing is done as early as in the development phase to ensure that the product does not have any technical flaws. Developers and team leads cross-check even the testing documents. It helps in fixing issues at a very early stage and reduces rework and therefore reduces cost and time.
9. Stakeholder collaboration: It is crucial to have an atmosphere of trust and honesty to get precise requirements and honest feedback on a resultant product. In DSDM, Business staff and developer collaboration are very crucial to deliver value. Clear business requirement and honest feedback help in fast development which further leads to timely delivery of the project.











