350 likes | 531 Views
Justin.Bowers. Dynamic Systems Development 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
E N D
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