Principle 1: Active user involvement is imperative
· Ensures pro-activeness of involving users to support and participate at an early stage
Principle 2: DSDM teams must be empowered to make decisions
· Team members must be able to make quick decisions
Principle 3: The focus is on frequent delivery
· Controlling activity and working rapidly within a constraint time
Principle 4: Essential criterion (fitness for business) for acceptance of deliverables
· Validation is more important than verification
Principle 5: Iterative and incremental development
· User involvement evolves the system by tacking errors before they become costly
Principle 6: All changes during development must be reversible
· Ensuring only recent work needs to be rethought by doing frequent backtrack to a known safe point in development when a wrong path has been taken
Principle 7: Requirements are baselined at a high level.
· To ensure that work is based on a common understanding of captured requirements
Principle 8: Testing is integrated throughout the lifecycle
· Test as you go, all forms of testing are carried out throughout the project
Principle 9: Collaborative and co-operative approach between all stakeholders is important.
· User/developer team work must work effectively as well as co-operation between the business and IT organization
Above is the dsdm process figure, the golden arrows indicates the forward path while the purple greyish arrows indicates the recognized routes to evolve the system. The so called three pizzas and a cheese development process, the DSDM development lifecycle consist of only five phases and the whole lifecycle has seven phases in all.
· Ensures that the project is correctly set up.
2. Feasibility study
· Investigating whether or not DSDM is the right framework for the project.
3. Business study
· Provides the business and technical foundations.
4. Functional model iteration
· Produce both analysis documents and working software.
5. System design and build iteration
· Plan and bring about the system to the required operational level.
· Assessing the scope of what has been delivered to specified requirements.
· Maintain and review the solution in use, as for testing it is performed throughout the iterative phases not at the end of the development lifecycle.