The Agile Project Framework, formally known as DSDM, is one of the best Agile frameworks that few know about. By best, I am judging on the following criteria:
- Discipline (in the positive sense of the term)
- Coverage of both product management and project management
- Balance between the business and technical side
- Guaranteed delivery on schedule
- Guaranteed quality
- Guidance on all aspects of the development lifecycle
- Assessing organizational & team readiness
We will look at how DSDM excels at each of these criteria, but first we will outline the DSDM lifecycle.
There are six phases in the DSDM lifecycle:
- Pre-project – This phase is at the portfolio management level. Its goal is to determine if the project’s feasibility is worth exploring further.
- Feasibility – In this short phase (no more than two weeks) , an initial feasibility assessment is conducted. The business case is assessed by conducting a high level cost-benefit analysis, along with the technical feasibility and organizational Agile readiness. The outline of whatever documents are required are produced as well as a Go/No-Go recommendation. A high-level budget and delivery plan are produced and an initial high level Prioritized Requirements List (Product Backlog) is produced. Also an initial assessment of organizational and team Agile readiness is made. If the decision is made to proceed, then one enters the Foundations phase.
- Foundations – The goal of foundations is to lay a firm foundation for the project. This phase corresponds to Sprint 0 or Inception in other frameworks. The Prioritized Requirements List is refined, technical and business approach is determined and a high-level solution design is done (Just-Enough Design and no more). Any Agile readiness workshops are held and the level of process required is determined (DSDM deliverables are determined by project size). A second assessment of organizational and team Agile readiness is made. A final Go/No-Go decision is made.
- Evolutionary Development – The goal is the incremental and iterative development of the product so that it both meets business needs and is technically correct.
- Deployment – The goal is to deploy our potentially shippable release increment into production. On larger projects, there will be multiple deployments.
- Post-Project – A few months after the final deployment, a review is done to determine if the planned benefits have been realized. The may result in a follow-on x.1 release.
Note: That the overall lifecycle is also iterative as it is possible to return to an earlier phase if necessary.
DSDM has more roles than Scrum, so I will only focus on two of the more interesting ones.
Technical Coordinator – This role carries equal authority to the role of Business Visionary (Chief Product Owner), and has full authority of the technical requirements of the project. This prevents key technical requirements or constraints being overlooked or overruled by a business-focused PO and insures that not only do you build the right thing, but you also build it right. This insures the balance between the business and technical sides of the project is explicitly addressed.
Project Manager – Also has equal authority with the Business Visionary and Technical Coordinator. Their role is one of coordination between teams, ensuring the DSDM process is followed, and dealing with impediments that cannot be resolved at the team level. Could be considered a Chief ScrumMaster or similar to a SAFe Agile Release Train Engineer. However, unlike Scrum which focuses primarily on product management, the DSDM framework addresses at some length the importance of project management; though of course the development teams are empowered and self-organized within the area of their responsibility.
On a final note on roles; DSDM explicitly expects at least one tester to be included in team.
Scalability & Flexibility
While DSDM outlines a range of deliverables, only two are mandatory; these are the Prioritized Requirements List and high-level delivery plan. The delivery plan outlines the planned increments (what DSDM calls releases), as well as list the proposed timeboxes (what DSDM calls Sprints) for the first Increment.
Other key deliverables that could be used on larger project include:
- Solution Architecture Definition (SAD) – Outlines in just enough detail the business and technical architecture, design, and process changes. The goal is to provide a high-level direction without constraining the teams’ implementation of the product
- Development Approach Definition (DAD) – Outlines the tools, techniques, and technical standards the teams will use and follow.
- Management Approach Definition (MAD) – Outlines how the project will be managed, organized and planned.
The above deliverables are optional and if created would only contain just enough information to add value.
DSDM is a disciplined Agile framework that is supported by the eight principles;
- Focus on the Business Need
- Deliver on Time
- Never Compromise Quality
- Build Incrementally from Firm Foundations
- Develop Iteratively
- Communicate Continuously and Clearly
- Demonstrate Control
Also key to DSDM are the five instrumental success factors;
- All stakeholders must embrace the DSDM approach
- There must be an effective solution development team
- Business engagement must be active and on-going
- Iterative development, integrated testing and incremental delivery must be ensured
While it is an excellent Agile Framework in its own right, there is much that other frameworks, such as Scrum, can draw from it. Therefor it behooves all Agile practitioners to familiarize themselves with DSDM in order to add new Agile tools and techniques to their tool belt. For those that are interested in learning more about DSDM, Learning Tree offers, APMG AgilePM® Achieving Foundation & Practitioner Certification, a 5-day course leading to the APMG AgilePM Practitioner certification.