Sie sind auf Seite 1von 4

Design/Implementation:Programming

Understanding DSDM
Dynamic Systems Development Method or DSDM is a design methodology which is
growing in popularity. David Norfolk explains what it is and what it can and can’t do.

D ynamic Systems Development


Method (DSDM) is a do-
cumented method for develo-
ping systems. Although most IT
The system works, eventually, but it
is late, over-budget and, sometimes, no
longer needed (quite often, most of the
business benefit comes from a small
maintain. Well, that may be true if you
build systems that way but it seems a
little wasteful.
A superficially more attractive ap-
professionals view formal develop- part of the system as originally speci- proach is to give the toolset to a
ment methods with a degree of cyni- fied). The developers do avoid blame "superprogrammer", who goes off into
cism this one is a bit different. It isn’t by quoting the specification they a room somewhere and works 72 hours
that traditional methods such as worked to, by the way, but the reputa- straight to deliver a maintainable, do-
SSADM don’t work, it’s just that they tion of the whole IT department drops cumented, gem of a system. This
take ages to deliver anything. True, one more notch. method works well (assuming that you
even an inexperienced developer can have a reliable source of superpro-
use them to produce a reliable system Better Way grammers for when this one burns out)
- but why shackle experienced de- - until you discover that the issues
velopers to the same rigid framework? There must be a better way, and which your new system addresses so
there are four alternatives that are often brilliantly don’t correspond precisely
Tradition tried. The most usual is powered an- to any of the issues faced by your busi-
archy. You buy what is optimistically ness.
In theory the traditional methods called a rapid application develop- In the end, it’s simplest to go out and
can be used flexibly and guarantee sys- ment (RAD) tool and put together an buy a pre-programmed package which
tem maintainability and correctness impressive GUI-based system in a mat- your users can evaluate for themselves.
(as system maintenance over the sys- ter of days, often cobbling it together However, this condemns them to
tem’s life usually costs more than from bits of other systems. This is a working at the same level of efficiency
development, a little extra overhead popular move as the users can start as everyone else - if the package gives
during development doesn’t matter) work immediately, and if they don’t you an advantage, your competition
but the idealised picture of develop- like anything a particular feature can will buy it too. No problem, if all it does
ment on which the traditional methods be reprogrammed over the lunch is calculate tax payments, but a real
rely never seems to occur in practice. break. The problems appear later, problem if it is fundamental to your
In reality, everyone agrees that a pro- when dozens of such systems don’t business competitiveness. This means
ject is feasible and then does a detailed talk to each other properly and main- that you will get insistent demands
requirements analysis, amidst much bic- taining any of them is a nightmare. At that you customise the package and
kering and political wrangling. After this stage, people start talking about (since the code was never designed
several months the boss loses patience throw-away code and the obvious fact with your particular needs in mind)
and bullies all concerned into signing that it is cheaper to redevelop than to you’ll find that if you have to change
off a requirements specification. Then
the programmers go away (confident
that if they deliver to this specification,
no one can blame them for any prob- "DSDM is primarily based on continuous
lems) and design and code a system.
When the users get their new sys- user involvement in an iterative
tem many months later they go back on
their requirements signoff and insist on (prototype-based) development process
all sorts of changes (often exposing
fundamental design flaws in the sys- which is responsive to changing business
tem), partly because it is easier to
recognise shortcomings in a real work- requirements but still sufficiently
ing system than in a paper document
and partly because the requirements defined for use with a formal quality
have changed anyway. Unplanned
prototyping in a production environ-
ment (which is what is happening) is
management system if required."
not very satisfactory.

Issue 67 Page 15
PC Network Advisor File: D1121.1
Design/Implementation:Programming

more than about 5% of the code, on top ern method which exploits the ad- therefore, avoid the twin problems of
of any customisation options built in, vanced tools available to the modern traditional projects: that the specifica-
you’d have been better off developing developer. It is supported by many of tion often reflects what the IT people,
from scratch. the major vendors (Texas Instruments, or even the business users, think is
There is, indeed, a swing back to- for example, produce a leaflet showing technically possible instead of what the
wards in-house development in order how their Composer by IEF tool satis- business needs; and that the users have
to give competitive advantage but the fies the requirements of DSDM) and by to wait to use the parts of the system
old problems haven’t gone away. In a lot of major IT users such as American they really need now until the whole
order to gain competitive advantage Express and British Airways. system has been built, tested and
you must deliver precisely what the signed off.
user needs when the user needs it. The Introducing DSDM DSDM exploits this situation by im-
better RAD tool systems are recognis- plementing the famous (and,
ing that the less controlled ones are DSDM is primarily based on con- definitely, non-quantitative) 80:20 rule.
prone to delivering the wrong system, tinuous user involvement in an It recognises that most of the benefit
or an unmaintainable system, too fast iterative (prototype-based) develop- comes from 20% of the system require-
for anyone to do anything about it, and ment process which is responsive to ments - so you can start generating
are extending their scope backwards changing business requirements but competitive edge early if you concen-
towards rapid determination of real still sufficiently defined for use with a trate on getting just that 20% delivered
user requirements as a basis for rapid formal quality management system if first and deliver the rest, incrementally,
delivery of business systems. required. later. Of course, the system may not be
This brings us back full-circle to a DSDM focuses on delivering busi- 100% correct for much of the time, as it
rather different view of the formal de- ness benefit instead of, as in traditional would be if you had implemented a
velopment method, as a framework development methods, the avoidance formal specification, but 80% correct
into which the new tools can be of blame through signed-off specifica- will be good enough as long as users
plugged. DSDM is designed as a mod- tions. DSDM projects should, are intimately involved with the devel-
opment and in a position to ensure that
the missing 20% has no serious busi-
1. There is active user involvement (ideally both users and developers ness consequences.
share a workplace), so that decisions can be made on the spot. This We’ll see later that DSDM does not
makes senior user management commitment into a critical success promise to support applications where
factor. the functionality can’t be assessed at
2. The team must be empowered to make decisions without waiting for the user interface - if the essence of the
higher-level approval. Again, senior management commitment is application is a set of complex calcula-
critical. tions, for example.
Does this imply that DSDM can only
3. Business requirements take precedence (build the right product before deliver systems of limited quality? No,
building it right). it actually guarantees higher quality
4. The team concentrates on product delivery rather than on carrying out systems, in terms of fitness for (busi-
prescribed activities. ness) purpose. The traditional fully-
5. Development is iterative, driven by user feedback. specified and signed off system was
frequently 100% correct, in terms of
6. All changes are reversible.
adherence to specification, but often
7. Management rewards product delivery rather than task completion. very low quality in terms of delivering
8. Testing is carried out throughout the life cycle, not just before delivery business benefit when it was actually
(when it is generally too late to fix anything cheaply). needed.
9. Estimates should be tight and specify frequent business deliverables.
10. Estimates should be based on business functionality (function points, Investment
perhaps), not on lines of code. So what do you get from an invest-
11. Risk assessment should focus on the business functions being ment in DSDM? Make no mistake, it is
delivered, not on the construction process. an investment. The official handbook
12. Although DSDM doesn’t require a signed specification, the high-level on the method (ISBN 1 899340 02 5)
scope and objectives should be frozen or "base-lined" before you start. comes with the annual subscription of
only $150 to the DSDM Consortium
13. There must be a flexible relationship between vendors and purchasers, (contact it in the UK on +44 1233
because DSDM does not give you a formal specification as a basis for 661003) but you will also need proper
purchase orders. training in the techniques (there is a
3-day certified course and at least some
team members should know DSDM in
Figure 1 - The Underlying Principles of DSDM.

File: D1121.2
PC Network Advisor Issue 67 Page 16
Design/Implementation:Programming

DSDM

detail before they start) and an unspe- HTML page on the Internet - take a (and one of deployment). The first con-
cified investment in changing look at http://www.dsdm.org). centrates on determining user
development practice. The first stage in a DSDM project is requirements, with the prototype rep-
Developers should take to DSDM Feasibility. This is where the suitability resenting a working model of the
with little trouble but the method does of DSDM itself for the project is con- traditional paper analysis models.
require significant, continuous, user sidered. If development is not going to The second stage adds the user in-
support - so you will need users to lead to an interactive application terface and control mechanism to the
commit valuable time to the develop- where the functionality is directly evi- functional prototype that turn it into a
ment (which means that their dent to its users at the user interface, if functioning system which delivers
managers may benefit from one-day it doesn’t have a clearly defined user business benefits. There is no separate
DSDM-awareness courses). You will group and, especially, if it depends on testing stage.
also need development support tools, complex inner calculations then it is Testing occurs throughout the life-
but you probably want these anyway. unlikely that a method based on user- cycle, on the principle that it is cheapest
In return, DSDM gives you a frame- driven prototyping is going to be much to remove errors as early as possible in
work for good practice. It doesn’t use - the users of the prototype simply the life-cycle and cheaper still not to
mandate a development method, but it aren’t going to be able to say if it is introduce them in the first place (in the
does define objectives throughout de- working properly. traditional life-cycle, the idea that er-
velopment, suggest people who Nevertheless, an experienced rors can be sorted out later, during
should be involved at each stage and DSDM team working with strong tool testing, is surprisingly seductive and
define suitable deliverables. It is im- support may use it in some unlikely you can find during testing that the
portant that DSDM isn’t used as a projects. All that matters is that there is entire system has been built on flawed
mindless recipe for development but a feedback path on the progress of the foundations).
that the development team checks project and the option to switch to a These prototyping stages are criti-
what it is actually going on against the more rigid (specification-based) cal. User involvement is needed, of
framework. method if DSDM is not delivering. course, on the principle that the users
DSDM also helps you manage de- There are well-defined principles may not be able to say what they want
velopment. Before the project starts it behind DSDM development, which but they can certainly recognise the
gives you some idea of the tasks which may imply a significant cultural im- shortcomings in what they are given.
will have to be performed and it also pact on some organisations (for Tool support is vital during proto-
highlights a project which isn’t pro- instance, if the decisions reached lo- typing. Not only must user input be
gressing properly (if, for example, a cally are currently subject to revision or reflected in changes to the prototype
prototype is being reviewed by two overrule by some remote corporate IT before the users have time to lose inter-
groups with conflicting needs, each standards body). There is also an est, but it is useful if the user
undoing the other’s changes). It also underlying assumption that the devel- requirements can be automatically
gives you hints and tips about keeping opment team is both highly skilled and captured and subjected to a degree of
the development on course and main- stable, and effectively managed by a quality assurance without the de-
taining its business focus. skilled and experienced project man- velopers having to devote time to this
Finally, if you have a formal quality ager. You should think very carefully (basically, if checks for internal consist-
management process in place (such as before using DSDM if the availability ency can be automated). The
ISO 9000), DSDM should let you dem- of skilled staff is an issue, or if any of documentation needed for system
onstrate that the necessary controls are the method’s underlying principles (as maintenance should be generated, by
in place without jeopardising either listed in Figure 1) cause you concern. the tool, as part of the process of build-
flexibility of development or your ac- However, once the feasibility of a ing the system.
creditation. DSDM approach has been accepted, it However, project management is
still remains to determine the high critical too, in order to recognise prob-
The DSDM Model level scope and objectives for the pro- lems in time to do something about
ject, in terms of the business benefits to them.
The DSDM model is iterative, so at be and the staff affected. Without this The obvious problem is a prototype
any stage you can return to earlier it is hard to see how the project can be which isn’t converging on a finished
stages in response to, typically, busi- controlled at all but we don’t think that state - more than 3 or so iterations prob-
ness issues (the requirements may these initial stages should take too long ably indicates that the original scope,
change, for example - not a problem - after all, if agreement can’t be reached or the identified user group, has been
here as it would be in a traditional quickly at this level, the project is badly chosen, and that the business
method). It is also three dimensional, doomed anyway. study should be revisited. Other prob-
so at any stage you can drill down for lems, such as a lack of specific skills in
assistance with particular processes. Development the development team or limited user
All of this makes it a little difficult to commitment, should become obvious
describe in something as linear as a Development proper consists of during prototyping and must be ad-
written article (it fits better into an two stages of iterative prototyping dressed.

Issue 67 Page 17
PC Network Advisor File: D1121.3
Design/Implementation:Programming

Deployment it "tries to be all things to all tools". It to cope with problems not covered by
does provide a useful guide to select- a particular method, but that’s what
The final stage is, of course, im- ing a DSDM support environment but they’re paid for.
plementation or deployment. It is only at a pretty high level. Then, great The most obvious impact of DSDM
expected that DSDM prototypes will reliance is placed on the skills and en- on development and support staff is
evolve into parts of the delivered sys- thusiasm of both the development that they could find themselves work-
tem - there is no room for throw-away team members and the project man- ing at a desk in a business area,
code in a rapid development (although ager and, if the wrong people get alongside a real user, instead of in a
prototypes developed solely to test a involved, unmaintainable systems programming shop.
particular technique may be discarded, could be delivered before anyone no- They could even find themselves
after minimal investment, if the tech- tices - this won’t be a problem during working for a project manager with no
nique doesn’t work). the enthusiastic pioneer stages but coding experience, seconded from the
What is deployed should deliver could happen as DSDM become rou- user community.
immediate business benefit, and tine. They could also expect better user
changing requirements may mean that However, is there a practical alter- relations on all projects, even those not
some parts of the system are never de- native to the DSDM method for many using DSDM, a better reputation for IT
livered. Deployment is controlled by projects? Rapid coding in a tool such as in general, a more enjoyable job - and,
"time-boxing", which means setting a Visual Basic is unlikely to produce most important of all, to be part of a
deadline by which a business objective more maintainable systems and use of more competitive business organisa-
must be met rather than when a task techniques such as object oriented pro- tion.
must be completed (we are talking gramming can also produce DSDM is really a timely reminder
about a period of a couple of weeks, 6 poor-quality systems in inadequately that computer system development is
at a maximum). Delivery should not be skilled hands. DSDM is not a panacea, a science or, at least, a craft and that
allowed to slip, even if the require- just a tool which can help you control there are rules of thumb and methods
ments do (that is, deliver fewer rapid development but which can’t re- which you should expect anyone fol-
functions, working properly, in the place intelligence and training. lowing it to be aware of.
time available, but don’t deliver every- Knocking up even a small applica-
thing late or, worse still, on time but not tion "by the seat of your pants" without
working properly).
Not Suitable
user involvement is no longer profes-
DSDM is quite simple in concept but There certainly are projects for sionally acceptable. The consequences
making it work requires skills of the which DSDM isn’t suitable. Part of the to business competitiveness and future
highest order - delivering better busi- skill of a DSDM practitioner is to rec- maintainability are too well known.
ness function, faster, must cost ognise them. On the other hand, the
something. This is where its third fact that DSDM doesn’t fit your culture
dimension of "good-practice tech- needn’t stop you changing your cul-
niques" comes in. The DSDM manual ture enough to adopt it. You don’t
discusses the different sorts of proto- always need an architect and a quan-
types and their uses: tity surveyor on a building project, but
even a jobbing builder (if any good)
● project management; should work to "accepted good prac-
● team structures; tice" methods, tempered by the
● user involvement; building regulations.
PCNA
● configuration management; DSDM provides a framework for
● estimating; workable good practice in a much
● metrics and so on. younger, and less regulated, industry.
It encourages the use of RAD, with the
Useful stuff, but you’ll need proper consequent danger that too many cor-
training with someone who can ners are cut and unmaintainable
answer questions out of practical ex- systems result, but it gives you a lot of
perience. On the other hand, these assistance with controlling the risks as-
essays could be useful adjuncts to in- sociated with RAD. Ultimately, always
house training and assist people remember that a method can’t force
evaluating the method. you to do something wrong: "I could
The Author
see that we were heading for disaster David Norfolk is a writer and con-
Issues but the method said that we were sup- sultant with a background in pro-
posed to fail at this point" doesn’t viding IT support within a major
There are some general issues with sound good coming from anyone banking organisation. He can be
DSDM. For a start, vendor involve- qualified to be a project manager. At contacted as drhys@cix.compu-
ment in the Consortium may mean that worst, the project manager may have link.co.uk.

File: D1121.4
PC Network Advisor Issue 67 Page 18

Das könnte Ihnen auch gefallen