DSDM and XP on reflection

The article was written in 2004.

Since then DSDM v4.2 has been released which describes how to run DSDM with XP. XP has become accepted in the UK - there are currently over 50 books on the subject. XP professionals are regular contributors to the Agile Business Conference which is organised and promoted by DSDM.

The original article is reprinted in full below:

(Article First Published in 2004)
 

DSDM, XP and Agile: is it a marriage made in heaven?

By Keith Richards

Is it luck, co-incidence or destiny? Call it what you will but recent events are conspiring to change the way the UK thinks about building I.T. systems.
 
It’s coming from the USA and you can describe it with one word – Agility!
 
Well almost! To be truthful the exact word should be ‘Agile’ but more about that later.
 
There is a saying that “luck is when opportunity and preparedness meet” – well those in the UK who know about DSDM are about to get lucky!
 
To understand the impact Agile and Agility will have on the I.T. industry we need to do three things:
1)     Reflect on what has gone before
2)     Understand where we are now
3)     Decide how to become Agile
 

A SHORT HISTORY!

Why is Systems Development in the UK like it is today?

 
In the Seventies there were hardly any formal methods and this led to the need for something to bring order to the chaos. Heavy, document driven approaches such as SSADM arrived. By the end of the eighties Rapid Application Development (RAD) was becoming popular as a reaction against the ethos of ‘slow and thorough’.
 
Unfortunately, both approaches had limitations and in the mid-nineties many people found they had struck the balance by adopting formalized pragmatic approaches such as DSDM.
 
DSDM won many admirers but many people had difficulty with it. These problems came from two familiar places. Firstly, they had perceived it as common sense and didn’t understand the whole philosophy. They viewed DSDM as a collection of ideas and took the bits they liked. DSDM doesn’t work this way – it is a framework upon which you build things, not a toolbox.
 
The second source of difficulty was from companies who DID understand the philosophy but did not support their staff accordingly.  According to Pete Measey of RADTAC a leading consultancy in the deployment of DSDM: “Companies needed to understand that mentoring and support were essential to the successful deployment of DSDM – training by itself was not enough – you needed someone to show you how to do it”.
 
The I.T. departments that have succeeded with current best practice did so because they realized that changing the culture was the problem and it would take up a lot of time and effort.
 

What is happening over the pond? 

 

In the USA a significant event took place In February 2001 when a group called the Agile Alliance was formed. They believed in uncovering better ways to develop software. The growth in Agile approaches in the States has been rapid and the first ripples of these new approaches have begun to break against the shores of the UK. 

So what is Agile and The Agile Alliance? 

 

Agile is the key word selected by the founder members of the Agile Alliance because it most aptly described their approach to lightweight but formal approaches which also encompass human interactions. 

They are trying to shift the emphasis from processes and documentation to interactions and dynamism.  
At it’s highest level it is a simply a belief. This has been created the by the never-ending flow of information that is saying that methodologies are more about communication and people than tools and plans. 

The Agile Manifesto 

 
We are uncovering better ways of developing
software by doing it and helping others do it.

Through this work we have come to value:
Individuals and interactions over processes and tools

Working software over comprehensive documentation
Customer collaboration over contract negotiation

Responding to change over following a plan
 
That is, while there is value in the items on
the right, we value the items on the left more. 
 
This is why Alistair Cockburn (Agile Software Development, 2002) refers to ‘sweet spots’ where such things as co-location of people and user involvement are the focus of attention.
 
The signatories to the Agile manifesto came from a range of pragmatic or lightweight methods [see table]. The realized that they shared the same core values and were able to take these down a layer into further detail.  

The Agile Methods

 
DSDM
Adaptive Software Development
XP
SCRUM
Crystal
Feature-Driven Development
Pragmatic Programming
 
 
Probably the most well known of the agile approaches is eXtreme Programming (XP) and when it is put next to DSDM things get interesting.
 

So what is XP (eXtreme Programming) – why is it so popular? 

 

XP is based on four core values of simplicity, communication, feedback and the courage to improve at anytime. It works by adopting a set of 12 practices  

The 12 Core Practices of XP

 
Planning Game
Customer Tests
Small Releases
Simple Design
Pair Programming
Test-Driven Development
Design Improvement
Continuous Integration
Collective Code Ownership
Coding Standard
Metaphor
Sustainable Pace
 
 
It is controversial because some of its beliefs seem to be at odds with perceived wisdom. For example:
Can two people working on one program be quicker than 2 people working on 2 programs? XP says yes!
Can continuous integration (perhaps many times a day) be right? XP says yes!
Can continuously improving the code (refactoring) be efficient? XP says yes!
 
Many people are already using some of the ideas such as writing the test plan before the code. Other concepts such as ‘on-site customer’ and ‘small releases’ are already common best practice.
 
It has become popular because it is perceived as an ‘anti-method’ – it wants to cut away the bureaucracy and the ‘analysis paralysis’.
It doesn’t want to be classed as a fresh approach – it wants to be seen as an extreme approach. In Auer and Miller’s, Extreme Programming Applied it talks of XP “taking proven industry best practice and turning the knobs up to ‘ten’”.
 
It is this image that gets XP noticed and also causes the controversy.
 
But how does it work? This is the tricky bit because it is not obvious to see why XP would work. Particularly when the first impression is that it probably wont.
 
The answer lies in the four core values. What XP is good at is creating a very rich environment where it is easy to communicate and validate. Face to face human interaction is by far the most efficient and productive communication channel.
 
Along with this XP is more obsessed with checking that what has been produced is right, rather than checking that it has been produced. This is validation focused as opposed to product focused.
 
Another important factor about XP is to understand that it works because it is holistic – the whole is greater than the sum of its parts. If you leave some bits out – you are probably not doing XP 
 

WHERE ARE WE NOW

The UK I.T. sector is having a quiet time at present with regard to process and methods. This kind of talk is out of fashion!

 Jules Godwin a leading methods consultant for KnowledgePool describes this as ‘taking stock’. She feels that “people are currently improving their existing processes as opposed to looking for wholesale change”.

Many initiatives into pragmatic, user centered approaches have struggled and a quiet air of resignation sits across many I.T. functions because it has proven to be difficult to change a culture which has been ingrained over decades.

But Agile is coming! XP is coming! Will this shake people out of their defensive mindset. Will this free people up to express themselves and everyone will live happily ever after.

 In short: No!
 
The biggest reason for this is the ‘been there, done that’ syndrome. On first look it appears to be a modern version of RAD.
 
So will XP and Agile be an interesting idea, which some people will adopt, or will it revolutionize the I.T. culture in the UK?
 
There is a compelling argument to suggest the latter.
 
Remember the opening quotation – about opportunity meeting preparedness?
 
Well – in the UK there over a 1000 companies who have used the DSDM framework and over 20,000 people have been trained in it.
 
What would happen if you wrapped the DSDM framework around XP?
 
Let’s have a look….
 

First Impressions

 
XP suffers from the old adage that ‘first impressions last’.
 
It looks anarchic. It seems born out the American culture of ‘go for it’ and ‘just do it’. There is no big picture. No deliberation.
 
People quickly home in on ‘pair programming’ and the grins start to appear – ‘can you imagine doing that?’  - Certainly not many people in the UK could.
 
Could this work with DSDM?
 
Again the initial reaction is the feeling of culture shock. It is quite intimidating to come across an approach that makes a DSDMer feel a bit staid and conservative. 
 

Second impressions.

 
Closer examination of blending DSDM with XP reveals something so fundamental that it can only be described as a ‘eureka’ moment.
 
DSDM has it weak points and so does XP but they also have very many strengths and when the two are combined they cancel out each other’s failings.
 
Why?
 
The reasons lie in their origins.
 
DSDM is a business focused systems development framework, which stops short of being prescriptive when it comes to coding.
 
XP is an approach to coding.
 
This is over simplistic but still accurate.
 
Here are 3 examples of weaknesses matching up with strengths.
 
DSDM stops short of prescribing how people should build the code – XP tells people how to build code.
 
DSDM is still largely an underground movement. The DSDM consortium is a ‘not for profit’ organization, whereas XP has taken the commercial route via book selling. XP has been successful with this – it has a high profile.
 
XP is light on the wider business context such as vision and business case – DSDM is business centric and likes to code when the problem is understood although not necessarily stable.
 
XP is light on architectural vision (and proud of it!) – DSDM is more formal and therefore enables XP to be applied to larger projects.
 
These fundamentals are complimentary and will work well in harness.
 
Ken Schwaber of SCRUM (Schwaber 2002) summed it up nicely by saying that ‘Agile methods need DSDM because DSDM had the type of up front stuff that senior executives need’.
 
It is ironic that the synergy between XP and DSDM should come out by viewing their differences. The similarities are many fold such as team game, roles and responsibilities, timeboxing, feedback, communication, prioritization, pragmatism, incremental delivery and iterative development. 

Then it gets scary! 

 
The further you dig into the idea of wrapping DSDM around XP the more enticing it gets.
 
With any new approach or method no matter how light or heavy, there is the existing culture to breakdown and the new capability to build up. What better way to rapidly increase the overall knowledge of a team than XP’s pair programming! Fine in theory but in practice you will need people who can work together. They will need to be ‘open’. This is why DSDM uses a ‘one team’ approach with a heavy reliance on facilitating team dynamics and facilitated workshops.
 
The style is not ‘this is what you said!’ but more ‘Is this what you mean?’
 
DSDM and XP foster each other’s values and beliefs. 

Then it gets scarier still! 

 
Something else is coming over the Atlantic - Microsoft is promoting ‘Agility’!
 
Microsoft is actually talking about Business Agility and not Software Development Agility. However, only the discerning will be able to distinguish them apart when we are hit by a tidal wave of coverage and debate on ‘being Agile’ and ‘having Agility’.
 
You can see the marketing slogans already: ‘For Agile Business Solutions you will need Agile Software Development’  
 

WHERE ARE WE GOING? 

The bottom line

 
The facts speak or themselves:
 
Agile and Agility are the new buzzwords.
DSDM has many admirers and has a widespread awareness in the UK
XP has many admirers and is on its way to the UK
Blending DSDM with XP presents a powerful new way of thinking – there has never been an approach like it, which is formally documented.
 
The truth is that we need Agile methods such as DSDM to ensure ‘on time’ delivery of ‘fit for the purpose’ systems built to the appropriate level of quality.
 
So what next… 

Unfortunately there is a sting in the tail

 
Most people assessing this impact of this moment will normally range from open-minded to cynical. A typical view maybe that it sounds fine but will it work in practice?
 
That view is the crux of the revolution that is before us.
 
It is not the question of whether DSDM works or XP works – they do; there is no question about it. DSDM and XP look to be an even more powerful when working in tandem.
 
The problem facing managers in I.T. today is that they have a choice: - embrace the new era or wait and see.
 
So which option will you take?
 
Option 1.
Do nothing about it. 
Advantage:
·        Cheap
Issue:
·        Risk of falling behind your competitors and your staff disappearing
 
Option 2.
Have a go at some of it – try a few things out 
Advantage:
·        Low cost
Issue:
·        Methods are not like toolboxes – you cannot cherry pick the ideas you like. XP and DSDM both work because of the interactions between the constituent parts.  Experience has shown that you may be better off with option 1
·        Little tangible benefit
 
Option 3.
Prepare for the change and manage the deployment
Advantage:
·        The change is a managed process
·        People buy into it
·        People are supported by it
Issue: 
.       Have you got senior management backing
.       Cost – you will need to allocate enough time and resources

The choice is yours – but remember, you will need to make that choice and you will need to make it soon! 

Finally

It may be best to answer the question posed by this article by using the same analogy.
 
This could well be a marriage made in heaven because DSDM and XP ‘go together like a horse and carriage’.
 
Don’t forget the lessons of the past - just like weddings, they take a lot of careful planning and don’t just happen over night!