Dynamic Systems Development Method

Download Report

Transcript Dynamic Systems Development Method

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
 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
Accredited Training
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
Process Lifecycle
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
Questions?