Pages

Wednesday, 26 May 2010

Why prefer DSDM to Scrum?

Ultimately practitioners know that there is no need to choose between Scrum and DSDM, of course: they can be integrated into a hybrid that suits your specific requirements. However, it is helpful to have a clear idea of what the different flavours are and what they are capable of, because it is not only purists who want to know exactly what you are doing: so will the people who are shelling out the cash to pay for the change. Being able to give them a clear choice between clerly defined options, plus clear criteria for choosing, is essential to selling any form of agile.

So, here are some reasons for preferring DSDM to Scrum, in direct proportion to the size, complexity and innovativeness of the project and the difficulty of the technical and compliance requirements.
  1. The Foundation stage makes sure that everyone ‘gets’ what you are up to. Without this, something very bad is likely to happen to your project. Adding a 'Sprint 0' isn’t the answer unless it looks very like DSDM’s Foundations anyway.

  2. DSDM is a true end-to-end process, not just the middle, development snippet. Since most of the mistakes in IT are made before the ink is dry on the contract (internal or commercial), this is a crucial consideration.

  3. Defining the roles as completely as DSDM does can be extremely helpful in any but the most trivial of projects. After decades of IT neglecting this issue, it is refreshing that DSDM includes it. Very hard to do well (and the sell to the business and operations alike), but absolutely essential.

  4. Defining a few basic products – BAD, SAD etc. - is also very helpful. Given the complexity of most real projects, it can be impractical to rely too heavily on prototypes and the authority of empowered teams, powerful though they are.

As this list suggests, DSDM is much more suited to a corporate environment, where the playfulness, autonomy and spontaneity of Scrum clashes rather sharply with the demand for formal definition, accountability and predictability. It's hard to get the full benefits of Scrum while adhering to corporate formalities dictates concerning governance and accountability, investment prioritisation, intelligibility and visibility to a wider group of stakeholders, quality management, reporting and architecture.

Anders Larson has kindly pointed me to this good comparison of DSDM and Scrum from the DSDM Consortium site. Its author, Andrew Craddock, summarises the position very well: after listing the principles of the Manifesto for Agile Software Development, to which both Scrum and DSDM practitioners contributed and subscribe -

  • People and Interactions over Processes and Tools
  • Working Software over Comprehensive Documentation
  • Customer Collaboration over Contract Negotiation
  • Responding to Change over Following a Plan

- he notes that 'DSDM recognizes value in the items on the right of the Manifesto statements more than Scrum does, whilst still putting the highest value on the items on the left. This allows DSDM to fit more comfortably with the normality of larger organisations and gives rise to some of the differences between these two Agile approaches.'

Tuesday, 25 May 2010

Why is DSDM called Atern? A methodology by any other name...

Rant on.

For some while I had wondered why DSDM’s most recent incarnation is called ‘Atern’. What could it possibly mean? An internet search – including a search of the DSDM site itself unearthed – nothing. Then the other day I was browsing through the discussion of the DSDM Group on LinkedIn entitled – ‘What does Atern mean?’ Given that the discussion was initiated by David Winders, who seems to know what he is talking about when it comes to DSDM, this I slightly surprising.

Like David, I awaited a potentially embarrassingly simple answer – and one came back straight away, from Inna Dalton:

I was told that it stands for an arctic tern - a bird. There was something, it
was claimed, in the fly pattern or behaviour of this bird that has some
semblance to the iterative and/ or incremental nature of the method. Hence, the
image of this bird on some of the books by DSDM Atern.
Embarrassingly simple indeed. But who should be embarrassed by it is another question. Not so much those who did not know but, I think, those who gave it the name in the first place. Because it lacks meaning, 'Atern' is just annoying, or perhaps a pretentious little joke for insiders. Now that I know the answer, my reaction is somewhere between a despairing 'Oh dear' and a thudding 'So what?' - exactly the opposite of what a brand name should do. What could possibly have possessed them to do something so crass?

Still more importantly, plainly hardly anyone seems to know what the name means – i.e., that it is the name of a bird - so the species probably doesn't matter much. Metaphorical names (eg, a bird) are useful, but only if it is clear what the metaphor actually is!

As David concluded, ‘I do hope the Arctic Tern doesn't become a Dodo or indeed the version isn't a Turkey’.

Rant off.

The business case for DSDM (and Agile generally)

Currently I am participating in a very interesting discussion about the business case for DSDM with the LinkedIn site’s DSDM Group, particularly with David Winders.

There seems to be very little hard evidence that DSDM is significantly more efficient than a waterfall approach at doing the work, which would seem to kill the business case stone dead. After all, why incur the costs of migration if the grass really isn’t any greener on the other side?

But as the discussion has evolved, it has become clear that this is to misread what Agile methods like DSDM (or Scrum) are offering. (And perhaps this should have been obvious from the start – I only really noticed this point once the discussion was well under way).

To boil down what is (for the time being) the final argument, there is indeed a narrowly economic argument for DSDM. Unlike a waterfall, DSDM is never going to waste stakeholder time and money by delivering (say) 100 function points that were agreed a year ago, when they were almost certainly based on premature and immature judgements. We probably don’t want exactly those things any more: our thinking has evolved, our goals have evolved, and the business situation has evolved. Instead it (DSDM or any other agile methodology) will deliver 100 function points and for much the same price per FP, but they will all be FPs we know we want.

Add to this DSDM’s far closer control over the delivery process, which makes it far less likely that the whole project will go over budget, schedule but under scope, and the business case for DSDM is clear: even if DSDM projects don’t cost less per FP, they represent better value for money, because they are all FPs you want.

Another interesting point was made by John Isgrove of Collaborative Consulting -

What we found was that DSDM completed the same development in 66% less time. It did not complete in less effort however as with agile projects they tend to be shorter but fatter resource profiles i.e. work for less time but more people involved at the same time across the time period. Overall effort was about the same with with higher proportions than the waterfall project being spent by the analysts and testers.

Monday, 24 May 2010

Moving to Agile - Identifying the truly essential documentation

A crucial feature of migrating to Agile is identifying the irreducible documentation needed to support the process. For many Agile practitioners the very notion of a fixed documentation suite will raise their hackles, but there are many stakeholders, not all of whom are not directly involved in the delivery process, but all have interests that must be taken into account.

To name only the most obvious, there are three general classes of stakeholders, each with their own distinct information needs:

  1. The delivery team itself
  2. The business
  3. Operations, compliance and support

These groups are already often poorly served by waterfall processes; the risk is that Agile’s understandable and largely justified desire to take an axe to the great mass of pointless documentation will result in them being served still worse. So…

The delivery team

Well, obviously. And generally speaking the Agile assumption that there is, by default at least, no need for internal project documentation, holds good. Why would I need to write down what I can tell everyone in a tenth of the time? Why write down anything at all if its lifetime is likely to average 15 days?

But less obvious, is it in fact the case that they need nothing? In very simple projects, yes, it usually is, but in a more complex programme – for example, a dozen Agile workstreams flowing into a common integration/release cycle – they may well need a good deal more. The PM is likely to be unavailable (doing programme-level duties at meetings and forums) and when they return to base, unable to convey everything by word of mouth.

Then the standard criterion applies – fitness for purpose. But in a project of any significance (size or importance), that rule is unlikely to result in their being no documentation at all. Add to that the other reason why documents exist – because the project is innovative, organisationally complex, heavy with technical or regulatory content, and ‘pure’ Agile starts to look a bit thin. Absolutely never create more documentation than are strictly needed, but don’t assume that the minimum set is zero. That is usually wishful thinking.

Business stakeholders

Yes, a properly empowered business rep should allow you to dispense with almost all external review and approval, but even in the most benign environment, there are likely to remain yet higher level reports. Much as most of us would like to dispense with this too (why don’t they just have faith in us?) but ultimately projects exist solely because they serve the interests of the organisation as a whole, and someone up there really does need to know what you are up to. So there is all but bound to be some form of reporting.

However, taking a constructive approach to this can also encourage those to whom reports are due – PMOs, line managers, HR, finance, direct reports to senior stakeholders, etc. – that they don’t really need the detail they are probably accustomed to. Reporting strictly by exception is the starting point, as it is that, rather than no reporting at all, which is the true corollary of empowerment. Using the move to Agile to rationalise reporting isn’t a bad idea either.

Operations, compliance and support

Now we come to the groups who are most in need to solid documentation and most likely to be neglected. In many organisations the needs of operations, service transition and support teams are already poorly met, and Agile is unlikely to do them any favours. Nevertheless, it is crucial that their needs are met, and these go far beyond touching base with them or even having them represented on the project. They will spend far more on the delivered system than the developers, and the better equipped they are to manage the delivered solution, the better for everyone.

Operations, compliance and support will make up the great majority of all but the most superficial IT projects (e.g., throwaway web pages or transient rate changes), and their needs are not only substantial but also penetrate deeply into the heart of what is being developed. They all need to be consulted about the original requirements (e.g., to define SLAs) and strategy (e.g., to ensure sustainability), they all need early warning of what, functionally and technically, is coming down the track, they all need to know what exceptions have arisen as the original requirements/backlog is progressively shaped and re-shaped, and they all need to be aware of the (now multiple) schedules for release.

Conclusion

So what does this all add up to?

  1. There is a very great deal of documentation that genuinely can be thrown away – and good riddance. It adds nothing but dead weight to the project and should be discarded whenever possible. Which is remarkably often.
  2. Quite a lot of other stuff needs to be transformed. It is very likely that groups such as administrative functions (PMOs, HR, finance) will have to change the way they think about projects and how they are reported on, but it is unlikely that they will eschew reporting altogether. Nor should they. Likewise for business stakeholders – they need to assign real power to their business representatives within the project, but they are unlikely abandon all visibility. And given their responsibilities, how wise would it be?
  3. Finally, there are those who will need what they have always needed. But if you don’t give operations and support what they need, they probably won’t notice much: by and large they aren’t getting it now either.

Wednesday, 19 May 2010

Moving to Agile - Critical business factors

Some years ago I implemented DSDM (then the preferred flavour of Agile) at Churchill Insurance. As far as the core processes were concerned, there was no great difficulty (admittedly we threw everything at it), but the business was a problem for two key reasons: empowerment and availability.

The nub of the empowerment issue was asking the business to allow their own representatives on the project enough authority to approve of what was going on on the spot (e.g., prototypes, changes, reprioritisations, etc.), without constantly referring to senor management. In short, they could not let go of the strings. As anyone who has worked in IT projects for any length of time will know, there is a ludicrous irony in this, because quite a lot of the problem with delivering successful IT projects of any kind is the business’s ambivalent attitude the ownership. In all too many companies, the business want to be in control of the project (i.e., able to make make-or-break calls about it) without taking responsibility for its delivery. The implicit question is always, do you prefer delivery to control?, and all too often the effective answer is ‘control’. This is as much a problem for Agile as it ever was for waterfall projects.

The second problem was getting the required effort from the business representatives to the project. These individuals were necessarily very experienced and valuable people (who else would you empower?) but that was precisely what made them hard to replace in their day jobs. So we needed them to spend about three days a week on the project, but they still needed five (usually very long) days for their BAU work. No surprise, then, that project work soon started the back seat to day job, the quality and speed of decision-making plummeted and the project started to look pretty wonky.

So although the business was keen on an Agile approach, they could not participate effectively. It was a long struggle – only partially successful – to deal with this problem.

Moving to Agile - Creating an Agile environment

In my experience a crucial precondition for achieving agility is a certain level of maturity. Although the core processes, roles and tools are critical, so is the presence of quite a wide range of highly standardised core mechanisms of which the agile operations can take advantage.

The classic example, familiar from IT development (whence agility sprang, of course) is test automation. Without this the development team is unlikely to be able check its day’s labours swiftly enough to move on confidently the next day. But test automation itself can only be adopted by an organisation that already has standardised test classes, a well established test process, a clear understanding of the basic mechanisms of test scripting, and so on. Without all of these (and much more), test automation will fall flat on its face – becoming either ineffectual or rigid – and quickly start to turn agility into paralysis.

Of course, in a vey small, simple project or activity, the preconditions for agility are very limited. But in a more complex situation, such as BAU operations or a large-scale programme, agility can be achieved, but only ensuring that a full ‘agile environment’ is also in place. The elements of this environment can themselves be agile, but they certainly must be present and specifically geared to allowing other areas to take them completely for granted – it is, after all, the most basic basis of agility that the would-be agile activity can either omit or take for granted that everything in their environment.

Hence one of the key task – perhaps the single most important task – when implementing agile methods is to investigate what the organisation’s ways of working can offer to the agile area – and what they demand from it too.

A few (there are many more - this is just a flavour) of the areas you need to get right include:
  1. A governance system that allows for rapid validation and approvals of many incremental releases.
  2. Business and operational organisations and processes that are capable of assimilating frequent change.
  3. Office arrangements that support closely collocated teams.
  4. Extremely slick mechanisms for remote groups – vendors, outsourcers, other offices, and so on.
  5. System architectures that support rapid change.
And so on - an enormous range of factors, many of which are typically intensively embedded in the wider organisation. it isn’t easy getting this sort of thing right.