Dynamic Systems Development Method
E N D
Presentation Transcript
Justin.Bowers Dynamic SystemsDevelopment Method
Overview • What is DSDM? • History and Background • Principles • Project Life Cycle • Techniques and Roles • When to use • Summary • References
What is DSDM? • Dynamic Software Development Method • A RAD approach to software development • Iterative and Incremental • Eliminate problems of: • Going over-budget • Missing deadlines • Users not involved • Management not commited
History • 1990s - Rapid Application Development • "Meet the needs of a fast business" • January 1994 - 16 founding members of DSDM Consortium • January 1995 - Version 1 completed. • May 2003 - Current version is 4.2
Organization • United Kingdom based • Non-profit, vendor-independent • Board of 11 directors, 10 elected • Academic membership costs about $860 US • http://dev.dsdm.org/membership/list.asp
Accredited Training • Accredited Training Organizations • Offer courses to become a practitioner • About 655 US Dollars for the basic training • 1 hour test, 60 questions
9 Principles • 1. Active user involvement • 2. Teams must be empowered to make their own decisions. • 3. Frequent releases more important than maximizing quality. • 4. Primary criteria for deliverables is meeting business needs. • 5. Iterative development is essential to reach correct solution. • 6. Any change during development can be reversed. • 7. The most high level requirements should be unchangeable. • 8. Testing shall occur throughout the lifecycle of the project. • 9. All stakeholders must cooperate and communicate.
Attaining Success • Management • Must accept the philosophy • Empower project team to make decisions • OR participate regularly with development • End users • Must be willing to test and judge functional prototypes
Phases • Pre-Project • Project Lifecycle • Post-Project
Pre-Project • This is not a planning stage • Identify a project • Have funding • Have commitment
Process Overview • Feasibility Study • Business Study • Functional Model Iteration • Design and Build Iteration • Implementation
Feasibility Study • Investigate scope of an approved project • Kick-off workshop to ensure stakeholders buy in to the project. [1] • Questions: • Can this project meet the required business needs? • Is this project suited for the use of DSDM? • What are the most important risks?
Feasibility Study • Produces: • Feasibility Report • Feasibility Prototype (optional proof-of-concept) • Outline Plan, a schedule of major milestones • Risk Log
Business Study • Refine the plans of the feasibility study • Produces: • Business Area Definition • Prioritized requirements list • Development plan • Updated risk log • Leave non-functional requirements for later
Functional Model Iteration • Utilize requirements to begin designs • Four sub-stages • Identify functional prototype • Schedule development • Create functional prototype • Review prototype • Begin user involvement; show prototypes • Begin testing models
Functional Model Iteration • Produces: • Functional model • Functional prototype • May combine this phase with Build phase if • Working on a small project • Technology exists to generate code from models
Design and Build • Integrate components of previous phase • Four sub-stages • Identify design prototype • Schedule development • Create design prototype • Review design prototype
Design and Build • Produces: • Fully designed prototype • User Documentation • Testing continues
Implementation • System is delivered to end user • Four sub-stages • User approval • Train users • Implement system on-site • Review system
Implementation • Review is critical • May return to modeling phase • Eventually delivers final system
Post-Project • Team has disbanded • Maintenance, Support, Review • Continuing nature of DSDM on a smaller scope
Techniques of DSDM • Prototyping • Testing • Modeling • Configuration Management • Workshops • MoSCoW • Timeboxing
MoSCoW • Must have • Should have • Could have • Would have
Timeboxing • Split the project up • Fixed budgets and delivery dates • Allows omission of least important requirements • Pareto principle
Roles • Executive Sponsor • Visionary • Ambassador User • Project Manager • Technical Co-ordinater • Team Leader • Developer • Tester • Scribe (documentation) • Facilitator (workshop communication)
Role Details • Executive Sponsor • Commits funding • Final say in decision making • Visionary • Greatest knowledge and view • Supervising project direction • Ambassador User • User experience and knowledge
When to Use • Inappropriate projects • real time • safety critical • have well defined requirements • have no fixed end date • re-usable components • Appropriate projects • prioritisable requirements • fixed end date • cleared defined users • can be broken down
Summary • Eliminate time and budget as variables • Prioritized requirements • Incremental process • User involvement • Testing, prototyping
References • [1] DSDM Public Version 4.2 Manual. (n.d.). DSDM Consortium - Enabling Business Agility. Retrieved March 24, 2010, from http://www.dsdm.org/version4/2/public/default.asp • [2] What Is DSDM? - CodeProject. (n.d.). Your Development Resource - CodeProject. Retrieved March 24, 2010, from http://www.codeproject.com/KB/ • [3] Davies, R. (2004, September 21). DSDN Explained. Agile eXperience. Retrieved March 24, 2010, from www.agilexp.com/presentations/DSDMexplained.pdf • [4] Dynamic Systems Development Method - Wikipedia, the free encyclopedia. (n.d.). Wikipedia, the free encyclopedia. Retrieved March 29, 2010, from http://en.wikipedia.org/wiki/Dynamic_Systems_Development_Method