Title: Dynamic Systems Development Method
1Dynamic Systems Development Method
DSDM.ORG
2Underlying Principles
- Active user involvement is imperative
- DSDM teams must be empowered to make decisions
- The focus is on frequent delivery of products
- Fitness for business purpose is the essential
criterion for acceptance of deliverables - Iterative and incremental development is
necessary to converge on an accurate business
solution - All changes during development are reversible
- Requirements are baselined at a high level
- Testing is integrated throughout the lifecycle
- A collaborative and co-operative approach between
all stakeholders is essential
3Fundamental Assumption
- Nothing is built perfectly the first time.
Build the right product before you build it
right - 80 of the solution can be produced in 20 of the
time.
4DSDM is Date-Driven
- Early to Market
- Avoid Schedule Overruns
- User Involvement and Commitment
- Efficient Use of Resources
5Why DSDM?
- Produce Something that is Fit For Use
- High Probability of Meeting Deadlines
- Ensure Frequent Communication
DSDM is NOT meant to compress a project into an
artificially short time period.
6Five Factors
- User participation
- Timeboxing
- Prioritization
- Workshops
- Prototyping
7Define the Project Vision
8Timeboxing
- Process by which objectives are reached at a
pre-determined and immovable date - Agreed scope and clear objectives
- Timeboxes work through the effective application
of empowerment - Timeboxes within timeboxes
- Each timebox should guarantee to deliver
something - Continuous prioritization and flexing of
requirements
9Getting Started
- What is the vision for the project?
10Example
11Vision
- To make the house
- Livable
- Marketable
- Earn a profit on the sale
12Success Criteria
- Sale Price
- at least 30 above the purchase price
- expenses no more than 15 of purchase price
13Risks
- May need to quickly wrap-up the project and sell.
- May discover additional problems that require
time/money - (May not find a buyer when project is complete.)
14Getting Started
- What is the vision for the project?
- Agree upon High-Level Requirements
15Requirements for Livable
- Working utilities (Gas, water, electric)
- Working mechanicals (furnace, water heater)
- Usable bathroom
- Usable kitchen
- Roof/walls free from leaks
- Safe (sturdy stairs, solid floors solid
foundation)
16Requirements for Marketable
- Clean
- Walls free from holes
- Bathroom/ shower usable attractive
- Kitchen usable attractive
- Curb appeal
- Walls painted
- Floors relatively clean
- Dry basement
17Getting Started
- What is the vision for the project?
- Agree upon High-Level Requirements
- Prioritize Requirements
18Prioritized requirements - MoSCoW
- Must have
- Should have
- Could have
- Want, but Wont have now
- 60 20 20 rule
19Prioritize Requirements
- Working utilities (Gas, water, electric) M
- Working mechanicals (furnace, water heater) M
- Usable bathroom M
- Usable kitchen M
- Roof/walls free from leaks M
- Safe (sturdy stairs, solid floors solid
foundation) M - Clean S
- Walls free from holes S
- Bathroom/ shower usable (M) attractive (S)
- Kitchen usable (M) attractive (S)
- Curb appeal S
- Walls painted S
- Floors relatively clean S
- Dry basement S
- Landscaping C
- Update Wiring C
- Add a 2nd Bathroom C
20Getting Started
What is the vision for the project?
- Agree upon High-Level Requirements
- Prioritize Requirements
- Translate Requirements into Deliverables
- Estimate Time For Deliverables
- Determine Project End Date
- Define Timeboxes and Their Objectives
21Define Deliverables
22Define Deliverables
- Bathroom, enlarged rebuilt
- Kitchen remodeled
- Holes in plaster repaired
- Outside concrete steps repaired
- Mudroom rebuilt
- Interior painted
- Exterior painted
- Windows stripped/repaired/repainted
- Gutters downspouts fixed
- New Furnace
- Working outlets
- Grass/ Landscaping
- ½ bath on first floor
- Clean crawlspace
- Porch columns replaced
23Getting Started
- What is the vision for the project?
- Agree upon High-Level Requirements
- Prioritize Requirements
- Translate Requirements into Deliverables
- Estimate Time For Deliverables
- Determine Project End Date
- Define Timeboxes and Their Objectives
24Estimate Deliverables
- Bathroom, enlarged rebuilt M
- Gut current, 2 days M
- Design new bathroom, ½ day - M
- Enlarge/rebuild space, 3 days - M
- Move plumbing, 1 day - M
- Paint/Tile, 2 days - M
- Install fixtures, 1 day - M
- Kitchen remodeled M
- Gut current, 2 days - M
- plaster repair, 1 day - M
- rot repair, ½ day - M
- paint, 1 day - M
- plumbing wiring, 1 day M
- Design new kitchen, ½ day - M
- Install Floor, 2 days - M
- Install cabinets, 2 days - M
- Holes in plaster repaired, 1 day - M
- Outside concrete steps repaired, 2 days - M
25Estimate Deliverables
- Mudroom rebuilt M
- Remove current steps joists, 1 day - M
- Rebuild steps re-deck, 2 days - M
- Draw plan for mudroom, ½ day S
- Rebuild mudroom structure, 4½ days - S
- Interior painted M
- Downstairs, 2 days M
- Upstairs, 2 days - M
- Paint unpainted trim, ½ day - M
- Exterior painted S
- Paint front South side, 8 days M
- Paint back North side, 2 days - S
- Strip/repair/repaint windows M
- Scrape off loose paint, prime, repaint, 2 days
M - Stuck windows broken sash cords repaired - W
- Gutters downspouts fixed, ½ day - M
- New furnace (contract out) - S
- Outlets tested fixed, ½ day S
26Estimate Deliverables
- Grass planted, ½ day - C
- Trees trimmed, ½ day - C
- ½ bath on first floor C
- Build walls, 3 days M
- Install plumbing, 2 days M
- Install fixtures, 1 day M
- Paint, 1 day - M
- Closet across the hall (for symmetry) S
- Build walls, 3 days M
- Paint, 1 day - M
- Clean crawlspace, ½ day - M
- Porch columns replaced, 2 days - S
27Getting Started
- What is the vision for the project?
- Agree upon High-Level Requirements
- Prioritize Requirements
- Translate Requirements into Deliverables
- Estimate Time For Deliverables
- Determine Project End Date
- Define Timeboxes and Their Objectives
WBS 63 work days
28Getting Started
- What is the vision for the project?
- Agree upon High-Level Requirements
- Prioritize Requirements
- Translate Requirements into Deliverables
- Estimate Time For Deliverables
- Determine Project End Date
- Define Timeboxes and Their Objectives
29Determine Objectives of Timeboxes
- Timebox 1 General necessary interior repairs
- Timebox 2 Upstairs
- Timebox 3 Kitchen
- Timebox 4 Outdoor Repairs curb appeal
- Timebox 5 Additional bathroom
30Planning a Timebox
- Determine Tasks
- Tasks that are necessary to complete the
objectives for the current timebox. - Tasks that are necessary to be ready to begin the
subsequent timebox. - Tasks from previous timeboxes that were not
completed. - Document the Time to Complete each Task
- Prioritize Tasks
31Prioritized Tasks - MoSCoW
- Must have
- Should have
- Could have
- Want, but Wont have now
- 60 20 20 rule
32Determine Objectives of Timeboxes
- Timebox 1 General necessary interior repairs
- Repair holes in plaster, 1 day M
- Clean out crawlspace, ½ day - M
- Strip/repair/repaint windows Scrape off loose
paint, prime, repaint, 2 days M - Paint unpainted trim, ½ day - M
- Paint interior downstairs, 2 days - M
- Test outlets, ½ day - S
- Replace furnace (contract out), 5days
(concurrent, must be done before kitchen) S - Prime paint interior upstairs, 1 day S
- Design new bathroom, ½ day - S
- Gut bathroom, 2 days C (An overall MUST task,
but a COULD for this timebox) - Gut Kitchen, 2 days - C
- Timebox 2 Upstairs
- Timebox 3 Kitchen
- Timebox 4 Outdoor Repairs curb appeal
- Timebox 5 Additional bathroom
33Planning a Timebox
- Determine Tasks
- Tasks that are necessary to complete the
objectives for the current timebox. - Tasks that are necessary to be ready to begin the
subsequent timebox. - Tasks from previous timeboxes that were not
completed. - Document the Time to Complete each Task
- Prioritize Tasks
- Assign Resources to each Task
- Document Dependencies
- Create a Timebox Schedule of Tasks
34Evaluate the Timebox
- Were the objectives of the timebox met?
- Were all of the MUSTs for this timebox completed?
- If not, that indicatesEstimating was not
accurate enough. - Completion Criteria was not specific or realistic
enough. - Work will shift into a later timebox.
- Were SHOULDS and COULDs completed?
35DSDM Suitability Risk Factors
Does the sponsor/senior management understand and
accept the DSDM philosophy? Will the team members
be empowered to make decisions on behalf of their
communities? Is there senior user commitment to
provide end user involvement? Can the
organization accommodate the frequent delivery of
increments? Will it be possible for the
developers to have access to the users throughout
the project? Will the development team remain the
same throughout the project? Will the development
team have the appropriate skills? Will the
individual development teams consist of six
people or less? Is there a supportive commercial
relationship? Will the project use technology
suitable for prototyping? Is there a highly
demonstrable user interface? Is there clear
ownership? Will the development be
computationally non-complex? Can the solution be
developed in increments if required? Has the
development a fixed timescale? Can the
requirements be prioritized?
36DSDM Roles
37Questions/ Discussion
Dave Ungar ungard_at_oclc.org XP Columbus
Website cardinalsolutions.com/xp
38DSDM Roles
- Executive Sponsor
- Visionary
- Ambassador User
- Advisor User
- Project Manager
- Technical Coordinator
- Developer
- Tester
39DSDM Roles Executive Sponsor
- Attributes
- Ability to commit appropriate funds and resources
- Ability to question
- Decisiveness
- Political awareness
- Business knowledge
- Responsibilities
- Ensuring the decision-making process for
escalated project issues is effective and rapid - Responding to escalated issues
- Ensuring that funds and other resources are made
available as needed - Monitoring the continued business case for the
project - Commitment and availability throughout the
development cycle.
40DSDM Roles Visionary
- Skills
- Excellent communicator
- Excellent awareness of business goals
- High-level awareness of technological
possibilities. - Responsibilities
- Promoting the translation of the vision into
working practice - Taking a wider view of the end-to-end business
process - Contributing to key requirements sessions
- Contributing to key design sessions
- Contributing to key review sessions
- Resolving conflicts across the business areas
owned by the Visionary - Ensuring user resources are available as needed
- Monitoring progress in relation to the original
vision - Commitment and availability throughout the
development cycle
41DSDM Roles Ambassador User
- Skills
- Knowledge of the relevant business area goals and
the organization politics - High-level view of how the computer system should
function to support the business - Good communication skills
- Ability to disseminate knowledge and ideas.
- Responsibilities
- Providing key input to business requirements and
design sessions - Providing the detail of business scenarios
- Communicating with other users and getting their
agreement - Providing input into prototyping sessions
- Reviewing documentation
- Reviewing and accepting delivered software
- Providing user documentation
42DSDM Roles Advisor User
- Skills
- Practical knowledge of the business area
- Ability to communicate knowledge and ideas.
- Responsibilities
- Providing information on request
- Participation in the prototyping and review
processes offering advice and guidance on issues
of practical import - Approval of designs and prototypes as acceptable
for use - Assisting with business and usability testing.
43DSDM Roles Project Manager
The Project Manager is ultimately responsible for
the success of the project meeting the project
goals. The Project Manager is responsible for
establishing and communicating project goals,
scope, work plans, project team and project risks
during the Analysis and Design and the Build
and Market Prep phases. The Project Manager is
responsible for establishing the project team,
addressing the needs of the team and leveraging
individual experiences to enhance team
performance. The project manager is responsible
for communicating project needs and status both
up and down the organization.
- Skills
- Excellent communicator
- Excellent awareness of business goals
- High-level awareness of technological
possibilities.
44DSDM Roles Project Manager
- Responsibilities
- Reporting to senior management and the steering
committee - Project planning and scheduling
- Monitoring progress
- Risk management
- Targeting and motivating the teams
- Setting team objectives
- Chairing project meetings
- Management of user involvement with the
development teams (for example, ensuring
availability) - Exception handling
- Identifying and calling in Specialist Roles as
required - Handling problems escalated from the project
teams - Coaching the development teams when handling
difficult situations.
45DSDM Roles Technical Coordinator
- Skills
- Experienced in the tools being used
- Experienced in standards being used
- Senior technician who has seen the problems
before - Good technical vision
- Ability to effectively communicate the technical
vision.
46DSDM Roles Technical Coordinator
- Responsibilities
- Determining the technical environment
- Controlling configuration management procedures
- Ensuring adherence to standards of best practice
- Advising on and coordinating each team's
technical activities, particularly in terms of
cross-team interfaces and database usage - Attending prototyping sessions to advise on the
application of standards - Ensuring the maintainability objectives are met
- Agreeing and controlling the software
architecture - Identifying opportunities for reuse
- Managing release control.
47DSDM Roles Developer
- Skills
- Knowledge or experience of the tools and
development techniques being used - Good listener/communicator
- Business area awareness
- Responsibilities
- Creation of detailed documentation as necessary
- Working with users to define business
requirements, create prototypes and finished
programs - Creation of other deliverables, such as a class
model or data model - Reviewing personal work and that of others.
48DSDM Roles Tester
- Skills
- Knowledge or experience of testing techniques
- Good communicator
- Responsibilities
- Carrying out all types of testing except unit
testing and user testing - Creation of test documentation in accordance with
the Test Strategy, e.g. test cases, plans and
logs. - Reporting to the Project Manager on results of
testing activities - Assisting Ambassador and Advisor Users to ensure
that they can carry out their tests well enough
to ensure the important areas are covered.
49The DSDM Consortium
- DSDM - Some facts
- Launched in 1994 to capture industry best
practice - Currently on DSDM version 4.2 Full Members are
licenced to use the DSDM Framework - DSDM Consortium is part of the Agile Alliance
- Worldwide DSDM membership 400 organisations
- Vendors
- Small and Medium Enterprises (SMEs)
- End Users
- Academia
- Over 20,000 people trained
- Many Accredited Staff
- Practitioners, Project Managers, Trainers,
Examiners, Consultants - 1000s of projects