DSDM or Dynamic System Development Method was first released in 1994 by DSDM consortium which was founded by the then software development enthusiasts who were targeting to give a proper structure to Rapid Application Development (RAD) method. It took time to take its current shape and by 2007 it gained good popularity & became a generic approach to project management and solution delivery. DSDM follows a lot of AGILE principles and focuses a lot on user & customer involvement.
DSDM Atern recognizes that most of the issues observed while software / product development are caused because of people problems. Atern aspires to keep the processes not dependent on tools (so that it can be incorporated in any situation) while helping people collaborate and work effectively.
Principles / Foundation of DSDM:
End-user must be involved actively:
DSDM recommends having end users involved while building the product. This approach helps in building the product as per the end user’s real business requirements, getting quick updates, reduce errors and reduce time wasted in unwanted functionalities.
Team and people empowerment is another key aspect of DSDM Atern. Empowering people to take quick decisions that they feel would benefit the product, team and the business most is what is desired. It not only entails a feeling of responsibility within every team member but also helps in loss of time in communications.
Frequent releases & updates:
Frequent releases, incremental development make issues / bugs visible at a much early stage in the process. It also helps the technical folks understand the requirements much clearer since frequent releases make them smaller and thus increases on the core functionalities that the teams would be developing in those releases.
Development driven to meet business needs:
Primary focus of DSDM always revolves around the business requirements and development of the solution catering to those requirements. Any add on to be developed for the product is developed after the core functionalities are developed.
Incremental development is the key:
Incremental product development is another key to DSDM’s success. It helps in keeping the complex task easy (by breaking a bigger task into smaller tasks). Also features and functionalities that are identified as the most important ones are developed first. Thus 80% of the core solution is targeted to build in the initial 20% of the time.
Be open to change:
‘Change’ is the new constant. Technology being a rapidly evolving domain, there should be a mechanism to incorporate changes. Even while developing the product, sometimes the requirements identified in the beginning may not remain the same as the product evolves. Hence DSDM always emphasizes on keeping room for change in the product development cycle. Iterative mode of development helps here. Since it helps in reversing / updating something that is already built.
Keep initial requirements at high level:
While beginning the product development, the practitioners advise to keep the requirements simple and at a high level. Getting deep into the requirements right in the initial discussions doesn’t really help since the solution (and thus the requirements) evolve as the product takes its shape.
Efficient integration between development & testing:
DSDM emphasizes on having a small teams, high level of communication with those teams, and efficient integration between the team members. Traditional methods involve testers at a much later stage. Thus any issue if identified, took a lot of time to get resolved. In DSDM however that issue is addressed and testing of the solution is started as soon as the development activities are started. The testing is integrated usually in such a fashion that when the developers are working on second release the testing of first release is in progress. Thus both the teams work in tandem while building the solution.
High focus on team collaboration and cooperation:
Collaboration and team cooperation are main pillars of DSDM and Agile. An atmosphere of trust and honesty is observed within the team. Daily calls and discussions on issues that team mates are facing are helping in quick issue resolution and thus development of the product more efficiently.
This post is also available in: Anglais