DSDM (Dynamic Systems Development Method)
Introduction to DSDM (Dynamic Systems Development Method)
DSDM (Dynamic Systems Development Method) is often seen as Agile’s best kept secret.
History of DSDM
Birth of DSDM
Launched in 1995, DSDM is the longest-established Agile method. It is also the only Agile method to focus on the management of Agile projects.
In the years after 2000 DSDM has became a popular agile approach amongst software developers seeking alternatives to rapid application development (RAD) approaches to building software. One problem with RAD approaches was that they did not scale well for people collaborating on teams. By enabling collobaration to happen within the team, and at scale, DSDM became one of the first agile approaches to be used within the software development community.
DSDM was represented at the launch of the Agile Alliance and their Agile Manifesto in 2001. The philosophy and principles of DSDM helped shape the Manifesto for Agile Software Development, although DSDM takes the concept of Agile far wider than just software.
So, DSDM was agile before Agile came along!
In 2007 a significant update was made to the DSDM approach. This version was called DSDM Atern. The term ‘Atern’ was formed from the name of the Artic Tern. This bird has a reputation for being highly collaborative and could travel huge distances. This was seen as a good metaphor for the rebranding of the DSDM method.
In 2014 another upgrade to the method took place because the term ‘Atern’ had caused confusion. It was decided to revert to calling the method DSDM as this was the brand name that everyone recognised. So, DSDM means the same as DSDM Atern!
DSDM Agile Project Framework
The re-branding of DSDM in 2014 incorporated the Agile Project Framework. The DSDM Agile Project Framework is now the leading, proven, agile approach which meets the twin needs of organisations today: both governance and rigour, along with agility and flexibility.
DSDM’s Agile Project Framework helps organisations address common project problems such as late delivery, cost overruns or the final deliverables not being fit for purpose.
Agile Project Management (AgilePM)
DSDM became the first agile framework to incorporate agile project management capabililties. Compared with Scrum which focuses solely on product delivery during an iteration, DSDM also focuses on the project management aspects. In this way, DSDM is quite different from most other agile frameworks.
Due to DSDM’s ability to meet a variety of agile needs it was chosen as the basis for the rapidly growing AgilePM (Agile Project Management) qualifications, which are accredited by APMG International and Agile Business Consortium.
DSDM – an agile methodology
DSDM is an iterative agile framework which was originally developed to deliver software projects in a more efficient way. Like other agile frameworks and approaches, DSDM emerged in response to problematic waterfall processes that had become prevalent in the software development industry during the late 20th century.
DSDM is prospering
DSDM is now prospering as agile has come of age. This is due to organisations needing more rigour and control when running agile in situations where the ‘ideal agile environment’ doesn’t really exist.
DSDM is an agile method that addresses the needs of both simple product development projects where teams are co-located, and more complex projects involving multiple distributed teams working in different countries and time zones. DSDM can therefore scale up to address multiple teams working in distributed environments, something that scaled agile frameworks only recently started to offer.
Facts about DSDM
DSDM is not just IT-focused
DSDM’s heritage along with most agile frameworks and methods is founded in the software development industry. Over the last decade the agile arena has moved on and agile is no longer seen as the preserve of IT.
DSDM can easily be applied to projects other than software development projects. In fact it can also be applied on any type of product development project. By delivering a workable product incrementally at the end of each timebox, DSDM can deliver business value early in the product development lifecycle.
Use DSDM standalone or combined
The DSDM Agile Project Framework can be used either stand-alone or combined with other recognised project management methods such as PRINCE2, MSP and PMI.
It is also ideal as a wrapper for more limited Agile approaches such as Scrum to ensure that the whole project lifecycle is addressed. DSDM also enables Scrum to be scaled up to run on more than just product development.
Composition of DSDM
DSDM is an agile project framework incorporating several elements:
- common sense and pragmatism.
Together, all these elements underpin and support a philosophy of delivering business benefits as early as possible to give an organisation the best possible return on investment (ROI).
To some people, DSDM’s ‘common sense and pragmatism’ is a bit odd. However, it is this flexibility that enables DSDM to avoid the dogma that sometimes surrounds other Agile approaches.
A fundamental assumption of DSDM is that nothing is built perfectly first time. As a rule of thumb 80% of the value of a solution can be delivered for 20% of the effort that it would take to produce the total solution.
By focusing on the business need, DSDM supports projects which align strategically to the needs of the organisation’s change portfolio.
DSDM has 8 principles. They represent an ethos, a culture, a way of working. The principles are actively managed at all times because if a principle becomes compromised it represents a risk to the successful execution and completion of a project.
DSDM closely follows the agile principles. It focuses on delivery, effective communication, collaboration, and continuous delivery. DSDM principles all help align DSDM practices within the agile philosophy.
Learning the guiding principles of DSDM is important if you intend on taking an agile project management course such as AgilePM® which is based upon the DSDM method.
The 8 DSDM principles are:
1. Focus on the business need
- Understand business priorities
- Create a valid business case
- Enable continuous business commitment.
All decisions made on your project must align with overall project goals. Projects should be a means to an end and should serve long-term business goals. Techniques such as MoSCoW and timeboxing help keep the focus on delivering what businesses need, when they need it.
2. Deliver on time
- Use timeboxing
- Focus on priorities
- Predict deliveries.
Delivering products within schedule is often non-negotiable. For predictable deliveries, plan all timeboxes in advance. Features may vary but delivery dates must always remain the same.
3. Cooperate and collaborate
- Promote stakeholder collaboration
- Focus on team building
- Work with business representatives.
Teams should be able to work collaboratively and make decisions on behalf of those they represent. Subject matter experts in your team to ensure information is shared. Stakeholders can share their knowledge and experiences with the project teams through regular workshops.
4. Never compromise quality
- Set quality level at the start
- Ensure quality doesn’t vary
- Document and test.
The level of quality to be delivered is agreed at the start. All work should aim to achieve this agreed upon level. Test deliverables early and reviewing constantly.
5. Build incrementally
- Deliver business benefit early
- Reassess priorities with each iteration
- Confirm that the work is correct
DSDM states that before committing to development, teams must first understand the scope of the business problem to be solved. Don’t go into such derail that development becomes paralyzed by overly detailed analysis of requirements.
6. Develop iteratively
- Use customer feedback
- Create Enough Design Up Front (EDUP)
- Evolve and be creative!
The concept of iterative delivery is at the heart of DSDM. It is rare that anything is created perfectly the first time and you’ll need to embrace change within your project if you’re to be successful.
7. Communicate continuously
- Manage expectations
- Keep documentation simple
- Interact through workshops.
Encourage team interaction through stand-ups and workshops. Present your work early and often using models and prototypes. Always encourage informal, face-to-face communication within the team.
8. Demonstrate control
- Be proactive
- Timebox work and review regularly
- Evaluate project viability.
One way of improving project control is by making plans and progress visible to everyone. Formal documentation procedures should also be carried out. Measure your progress on the products delivered rather than tasks completed.
DSDM is both iterative and incremental. The most important business needs are delivered early while less important ones are delivered later.
Being iterative DSDM enables business representatives to see an evolving solution, provide feedback on it, and to request changes throughout its further development.
The DSDM process model includes 6 phases. A pre-project phase and post-project phase differentiate it from most other Agile approaches which only focus on delivery.
The phases are:
- Evolutionary development
DSDM involves people from both the business and development stakeholders throughout the iterative and incremental lifecycle.
All personnel involved in a project are given clear roles and responsibilities and work together in timeboxes to ensure the project is kept on schedule.
In contrast to all other Agile approaches, DSDM defines the responsibilities of the project manager role.
DSDM recommends 4 key practices.
Like many agile frameworks DSDM plans work in fixed time periods (timeboxes), rather like sprints in Agile Scrum. The aim is to deliver a useable product at the end of each iteration (timebox). DSDM is thus an incremental approach, as well as an iterative development approach to product development.
Facilitated workshops bring project stakeholders together to collaborate to define business requirements and aid mutual understanding.
Modelling and iterative development
Modelling helps team members visualise a business domain and improve their understanding of it. Modelling helps develop diagrammatic representations of specific aspects of the system or business area that is being developed.
To deliver an incremental working release of software at the end of each iteration DSDM relies upon a short feedback loop with the customer. It recommends the MoSCoW prioritisation technique to prioritise requirements to be worked on by the team during a timebox. Requirements are typically capture in the form of user stories.
DSDM also makes use of prototyping. The idea is to build something fast, get feedback quickly, and to break it sooner, rather than later. The underlying DSDM philosophy is that if something isn’t going to work, it is better to find that out as soon as possible, and change course sooner, rather than later.
These technique helps the business prioritise business requirements by identifying those which are Must have, Should have, Could have, or Won’t have requirements within each timebox.
DSDM and Scrum
Many in the Agile community confuse Scrum with project management. Some claim that Scrum is a project management method. It is not. Scrum is a development method which focuses on enabling teams to collaborate on both project work and non-project work to iteratively develop products that deliver value to the customer.
Scrum does not explain what comes before the project (pre-project) nor what happens after the solution is deployed (post-project). Pre-project requires thought to whether the project is worthwhile, while post-project requires thought to how the benefits of the solution are being measured and whether further improvements are required.
On the other hand, DSDM does describe the pre-project and post-project phases and the responsibilities of the project manager. DSDM is an agile project management framework while Scrum is a product delivery framework. Scrum can be used however on DSDM projects during the 4 remaining project phases.
The following infographic shows the DSDM principles in greater detail.
The DSDM Agile Project Framework is a proven ‘battle hardened approach’ to agile project delivery. It has been used successfully to deliver innumerable projects around the world.
To this day DSDM remains the only agile project management framework.
DSDM continues to prove its ability to successfully work within and complement existing corporate processes.
Its use in both IT and non-IT projects goes back to 1994 and the substantial productivity gains it has brought have been independently verified by the UK Software Metrics Association.
For more information about how DSDM can help your Agile project delivery, or for information about agile project management training, please contact us at agileKRC.
AgilePM® is a registered trademark of Agile Business Consortium Limited. All rights reserved.