Dynamic Systems Development Method Agile Framework, DSDM phases, Dynamic Systems Development Method principles, DSDM methodology
Dynamic Systems Development Method – DSDM was developed in 1994 when Rapid Application Development was replacing the waterfall Rational Unified Process. RAD was making it very easy to quickly build mockup screens, get customer feedback and build features, but it was lacking structure and processes to maintain good software quality. DSDM was built for project delivery and project management, therefore it had a strict set of rules in order to be compatible with ISO 9000 standards and Prince 2 project management framework.
Dynamic Systems Development Method phases
- the pre-project phase – executed at portfolio and executive management level to identify projects and funding
- project lifeline phase – additional feasibility analysis is performed and system is build in an iterative and incremental manner
- post-project – analyzing if the expected benefits of the project have been realized, discussing what went well and what didn’t during the execution and finding ways of improvement
Although build on phases, DSDM is not a waterfall process, because different phases may be repeated and iterations might occur between phases. Dynamic Systems Development Method advocates for timeboxing activities, uses MoSCoW prioritization to categorize requirements into must have, should have, could have and won’t have and focuses on iterative and incremental approach on building software.
Dynamic Systems Development Method principles
- Focus on the business need
- Deliver on time
- Collaborate
- Never compromise quality
- Build incrementally from firm foundations
- Develop iteratively
- Communicate continuously and clearly
- Demonstrate control
The official page for DSDM is on the Agile Business Consortium website https://www.agilebusiness.org/page/whatisdsdm
- Scrum
- Kanban
- Scrumban
- Extreme programming – XP
- Feature Driven Development – FDD
- Dynamic Systems Development Method – DSDM
- Crystal
- Scaled Agile