Dynamic System Development Method Overview
Dynamic System Development Method Overview
Submitted by*:
Benjamin J. J. Voigt
Zürich, Switzerland
S99-728-123
Supervisor:
Prof. Dr. M. Glinz
Advisor:
Dipl.-Inf. C. Seybold
*
I would like to thank Gregor J. Rothfuss for his review.
Dynamic System Development Method
Table of Contents
1. Introduction................................................................................................................. 1
2. Values and Principles.................................................................................................. 2
2.1 The 9 Principles .................................................................................................. 2
2.2 Values ................................................................................................................. 4
2.3 The DSDM Philosophy....................................................................................... 5
2.4 Yet another Guide on Good Project Management? ............................................ 5
3. The Project Structure .................................................................................................. 6
3.1 Roles and Responsibilities .................................................................................. 6
3.2 Team Organization and Size............................................................................... 7
3.3 7 Phases to Rule Them........................................................................................ 7
4. Recommended Core Techniques .............................................................................. 10
4.1 Timeboxing ....................................................................................................... 10
4.2 MoSCoW Rules ................................................................................................ 11
4.3 Prototyping........................................................................................................ 11
4.4 Facilitated Workshop ........................................................................................ 12
6. Key Success Factors ................................................................................................. 13
7. Related Methods and Quality.................................................................................... 14
7.1 Capability Maturity Model and ISO 9001 ............................................................ 14
7.2 Extreme Programming .......................................................................................... 14
8. Conclusion ................................................................................................................ 15
Page ii
Dynamic System Development Method
1. Introduction
Page 1
Dynamic System Development Method
The DSDM framework can be implemented for agile and traditional development
processes. To show how DSDM relates to the agile methodology it’s essential to
understand how DSDM principles relate to agile development process values. The
following chapter introduces the DSDM principles and matches them to key agile
concepts afterwards. In the last two sections a brief analysis of the DSDM philosophy
will conclude with a reflection on whether DSDM introduces any new concepts.
Page 2
Dynamic System Development Method
enhancements in a later iteration. Refactoring, design engineering and feature
enhancement, being part of the natural live cycle of any software system, need to be
recognized as integral part of the project, rather then being a task which is taking
place only after the project is finished. DSDM does not promote to write ad-hoc
software, but suggest satisfying the business needs first, and acquire timeboxes for
refactoring and related activities in a later iteration. Even on a DSDM project it’s
crucial to identify the key issues, which do required a robust design. Agile methods in
fact do require a sound understanding of patterns and architecture; depending much
more on patterns then traditional development methods, because it is fare more likely
to make a decision which will turn out to prohibit delivering iteration results three or
four iterations into the future.
Page 3
Dynamic System Development Method
hard to gather requirements, and later getting honest feedback on the resulting
products.
2.2 Values
The Agile Manifesto claims 4 values and 12 principles, and is considered the
beginning of agile development methods. To show how DSDM relates to the agile
philosophy the following sections will associate the DSDM principles with the value
system as described the Agile Manifesto.
2.2.1 Individuals
Many modern management practices highlight the importance of humans, so does the
Agile Manifesto and DSDM framework. The DSDM principle 1, 2 and to a lesser
extend 9 highlight the key role individuals take in a project. Since DSDM projects
need to implement all of the 9 DSDM principles it’s implicit to satisfy the agile
demand on rating individuals over tools and processes, which are, however, still
required by the DSDM framework. The high degree of interaction DSDM requires
are less obviously hidden in the principles 5 and 3, both of them demanding a healthy
work environment, where communication and coordination can take place as friction
less as possible.
2.2.3 Collaboration
As described in the two previous sections, collaboration is most significant to DSDM
(principle 9) and agile methods likewise, because these development paradigms react
to change and whenever change is happening, regardless of being part of a project or
in personal life, a fair amount of communication is required sorting out the
implication of change. Being able to talk without political barriers helps a lot; the
need to interpret other people’s statements and the error of misunderstanding is
greatly reduced. Unfortunately collaboration is not easy, since humans tend to take
selfish decisions; especially if an immediate reward is expected. Creating an
Page 4
Dynamic System Development Method
environment where collaboration works as seamlessly as possible is a management
and leadership task.
2.2.4 Responding
Welcoming change and responding to change is rooted in principle 6 and partially in
principle 7. The management of changing business demands is commonly perceived
as the most prominent difference of agile and traditional methods. DSDM handles
change in a variety of ways, mainly through prioritization as described in Chapter 3.
Page 5
Dynamic System Development Method
Page 6
Dynamic System Development Method
Page 7
Dynamic System Development Method
DSDM does specify concrete results for each task and for each one of the three phase
groups (FMI, DBI and Implementation). However the result specification is general
enough to use DSDM in engineering projects and business projects alike. The
following describes the 7 phases as shown in figure 2.
Pre-Project Post-Project
[DSDM04a]
3.3.1 Pre-Project:
The Pre-Project phase includes project suggestion and selection of a proposed project
candidate. The pre-project determines if a project should be realized at all.
Page 8
Dynamic System Development Method
3.3.6 Implementation
The Implementation phase covers the cutover from the development environment to
the operational environment.
3.3.7 Post-Project
Post-project tasks include measurements on how the deployed system is performing
and if any further enhancements are required. Usually these measures take place
about 6 month after the project technically finished.
Page 9
Dynamic System Development Method
4.1 Timeboxing
Traditional project management uses milestones to agree on a deliverable to a given
point in time. While milestones work well enough, a timebox is a much more
powerful tool to achieve the same result. A timebox is an interval, usually no longer
then 6 weeks, where a given set of tasks should be achieved. The reason for the
relatively low duration of timeboxes is the fact, that humans give much more accurate
estimates in the near-future involving a small set of tasks, while estimates into the
distant future involving large sets of tasks turn out to have hefty errors. Timeboxes
can contain several tasks, and at the end need to deliver a product. Milestones also
suffer from having a fixed deliverable, while timeboxes are subject to change, since
the tasks are defined, not the necessarily the deliverable, which can change if
prioritization shifts during the timebox iteration, allowing for rapid response to
business needs. In short: DSDM rather drops functionality in favor of delivering in
time.
Looking at the four timebox examples in figure 3 we can observe several important
attributes of timeboxing in combination with the DSDM project phases:
Overall Timebox
4 BS FMI & DBI IMP FMI & DBI IMP FMI & DBI IMP
Timebox Examples - Figure 3
[DSDM04a]
Page 10
Dynamic System Development Method
Finally timeboxes are not the cure to all time slips, in some cases the management
may decide that the cost of exceeding time is smaller then dropping some features,
this is possibly the case when a new “must have” feature emerges.
4.3 Prototyping
Endorsing evolutionary prototyping DSDM projects satisfy two of the DSDM
principles, frequent delivery and incremental development. Prototypes are to
implement critical functionality fist to discover difficulties early in the development
process, they also allow having very early deliverables to get user feedback. If an
evolutionary prototyping is executed, the incremental nature allows for enhancing a
Page 11
Dynamic System Development Method
given product always considering the relevant user feedback. The necessary
feedback-loop is provided by a workshop, which is the last important technique in a
DSDM project. DSDM differentiates on the following for types of prototypes:
Page 12
Dynamic System Development Method
To determine the important factors management needs to control prior to starting and
during DSDM practice is crucial to the projects success. The DSDM consortium has
compiled 10 most important factors from its member experiences:
[DSDM04]
While the list leaves little to comment on, it’s noteworthy that many factors are
executive or even leadership responsibilities. This fact suggests that DSDM requires a
fairly advanced corporate culture to be successful in the long run. Some success
factors might not even apply to many projects, i.e. “supportive commercial
relationships” are not usually present in Open Source Projects.
Page 13
Dynamic System Development Method
Page 14
Dynamic System Development Method
8. Conclusion
The DSDM framework is a straight forward framework based on best practices to
start implementing a project structure, its strengths being simplicity, extendibility,
proven in the past but not claiming to be the solution to all kind of projects. The fact
that the very authors of DSDM issue a warning concerning the single-minded use of
DSDM where it does not suite the purpose provides much more credibility to the
concept then many other similar methodologies.
The weakness of DSDM is, like with many other structured approaches, the relatively
high barrier to entry (apart from the licensing costs). Switching to DSDM is neither
cheap nor fast, and requires a significant cultural shift in any organization, because
suddenly deliverables are replaced with tasks. I suppose for many people accepting
the fact that their project will be on time and on budget, but not necessarily delivering
the initially requested functionality will be hard to accept.
DSDM clearly presents itself as the most mature agile development method, while
many agile methodologies are rather programming methodologies then process
models. The select few agile methodologies share common ground with DSDM, ie.
SCRUM which as well as DSDM, promotes team empowerment. The Crystal
Methodologies in turn assume to be a good collection of best practices as well, where
as DSDM does a much more comprehensive job in showing its evolving character by
versioning their framework after every revision by the DSDM consortium. [ADM04]
Shell, Loyds Bank Insurance Services, British Telecom, British Airways, Deutsche
Bahn, Hewlett-Packard, Renault, the city of Los Angeles; the list of companies using
DSDM is long. Many other organizations may already use DSDM, but are not yet
ready to publicly commit to DSDM, even the worlds largest software vender,
Microsoft, borrows ideas from DSDM when publishing his own semi-agile solution
framework currently in version 3.1 complete with 25 000 certified practitioners.
Agile methodologies are very visibly on the rise, as well as another promissing
concept, Offshoring. Xansa used DSDM to organize its offshore development in
India; ThoughtWorks has been using offshoring to India with agile methods as well,
proving that the highly profitable practice of offshore development and onshore
engineering works with agile methods, good enough to present a business case.
Further research into agile methodologies and offshoring could provide actionable
evidence for business which IT and development efforts they should relocate and
whether agile methods are supporting the change. [FRAZ03], [CALD04], [SIMO02],
[THEE03]
Page 15
Dynamic System Development Method
[SUTH03] Sutherland. Web 2003 [Link]
[COCK02] Cockburn, Highsmith, Jones. Web 2002
[Link]
[DSDM04] DSDM Consortium Frequently Asked Questions. Web 2004,
[Link]
[DSDM04a] DSDM Consortium Official Presentation. Web 2004
[Link]
[YEBO83] The Relationship among Group Size, Yetton, P.W, Bottger, P.C, 1983.
[Link]
[BSI03] British Standard Institute, DSDM & TickIT. Web, 2003
[Link]
[CALD02] Caldow, DSDM Consortium, DSDM and XP. Web 2002
[Link]
[ADM03] Advanced Development Methods, Web 2003
[Link]
[FRAZ03] Frazackerly, DSDM Business Focused Development p. 131 ff. 2003
[CALD03] Caldow, Distance No Object: Working Offshore. Web 2003
[Link]
[SIMO02] Simons, InformIT. Web 2002
[Link]
%2DB290%2D4CC5%2D9F24%2D67E8A683E36D%7D
[THEE03] The new geography of the IT industry, The Economist. Print/Web 2003
[Link]
QA%5B%21%23%40%20D%0A
Page 16