Thursday, December 07, 2006

A Conservative government must be Agile

Everyone knows there is a problem with Government IT projects. They always overrun, on both budget and time. Opposition politicians beat the Government with a stick on this matter, but rarely do we hear what the solution should be. Nor do we hear serious analysis of why such failures occur.

The reason, and the solution, I believe, lies with development methodology. The vast majority of large Government IT projects take the classical "waterfall model" to software development. This is based on the idea of software development progressing like a flowing waterfall through its stages.

You start with requirement analysis, then design, then implementation, then testing, then integration and finally into maintenance (basically, operations, or what some might call Business As Usual). This process is at the core of virtually all IT projects on the scale that the Government IT attempt.

The beginning of the project is all about paperwork and lengthy amount of times without actually delivering anything. By the time you actually reach implementation it's likely that the Government has changed, budgetary priorities have changed, or even, in the worst cases, requirements have changed.

In essence the waterfall method represents the classic grand theoretical narrative models that are inherent in the Left's view of the world. It bases development on the weak assumption of "all things being equal".

The result is that you have projects that underestimate cost, underestimate time, and generally fail to deliver. They create an albatross around the neck of the Government of the day, or, potentially, an incoming Government.

The next Conservative government should not, in my view, allow itself to fall into the trap of grand theory methods of development. Obviously there will be hangover projects that it will not be able to do anything about, but any new IT projects should apply traditional conservative approaches to change.

The implications for Government IT projects under a Conservative government are therefore simple. There should be a strong, and advocating debate in the promotion of Agile development methodology. Agile is, as it suggest, a flexible approach to software development which has the mitigation of risk at its very core.

Software is developed along the approach of rapid iterations of code that deliver little and often within short timeboxes. Each iteration, which last between 1 and 4 weeks, is taken on the basis that it is a small IT project of it's own, which delivers only known and measured necessary functionality to a core code base.

During each iteration, you plan; draw up requirements from user case stories; design; code and then finally test. Every iteration, whilst not necessarily containing a full release, should be able to be released anyway. That is to say the code compiles, and works within the scheme of the iteration's planning, design and requirements.

This creates a lightweight approach to software development which has a greater tendency to deliver on time, and usually in budget. By removing the top-down rigidity of the waterfall method across the entire project life cycle, Agile provides developers with the means to create code fast and also to be flexible if goalposts shift.

If the budget changes, or if new requirements appear, they can be factored in quickly within the next iteration. This approach, whilst appearing initially to be one founded on progression, is, fundamentally, conservative. It rejects the narrative approach by acknowledging the complexity of the world external to the software development. As things can change outside and are thus unknown, the approach mitigates risk in order to accommodate those external unknowns.

It is possible to have a successful Government IT project. A Conservative government just needs to reject the top-down heavyweight approach of the waterfall, and start applying the conservative principles inherent in Agile, which provide for flexibility and, most importantly, delivery.

Anyone interested in a reading a case study of an Agile project (which I happen to still be working on) should look here.

8 comments:

Anonymous said...

It makes me wonder if anyone working on the It project had ever heard of ITIL or even gained the qualification.

I've just had a look at Agile from your link and they do seem to be methodical in the approach with an emphasis on delivery. Always a bonus in my IT experience.

I'm going to have a look at this when I get more of chance today. Good post - or it could just be the geek in me. I'm sure Buster George will be very interested.

Benedict White said...

good post Dizzy. The other problem with government IT projects is taht they ALWAYS need to be BIG. Stupid really.

It would be better to define RFC's for information exchange between systems covering certain sorts of data, then have lots of small implementations so you can see what works best for whom.

Jeff said...

I can fully appreciate this method of project delivery having worked on several government IT projects.

Whilst the bulk of my work was in deliverin new infrastructure and Hardware, the basic principals of project deliverablesapply.

The only problem with your idea is changing attitudes, I must admit that I had a tendency to work in my own fashion in order to meet deadlines, this did cause problems but in the end I was able to deliver on time.

I found that both local and national government to be at least a decade behind the IT industry in terms of methodology and flexibility. This will be the bigest obstacle for any party. The resistance to change from civil servants is awsome.

Anonymous said...

I think the key is basic project management principles. I tend to work on the PRINCE 2 methodologies and utilise change management methods to get the desired result.

I do think BW has a point regarding how big these projects are. They seem convoluted which causes people to loss track of their aims.

Especially if they don't have a strong project infrastructure and the powers that be don’t provide the project team with a statement of commitment.

Buster - you have to admit that the drinking sessions we had with our client at the time made it far easy to get the job done. Civil Servants love a good drinking session.

dizzy said...

Prince and Agile don't sit well together in my experience.

Anonymous said...

Dizzy - Why?

After all Agile seems to demand adaptability to all management tools. A certain degree of common sense applies to all targets. A key aspect being convincing stakeholders of their requirements rather than their wants.

Business is Business! So, keep people on board! Give them the reality of the situation.

(Change management) Working within IT I’m sure you will appreciate that.

Jeff said...

Teri

As with any project the people the actualy deliver, work better without the interferance of the (to quote) "the waterfall effect"

ths rings true with most projects within government.

Having a process that invloces all parties is a wonderfull idea and is praticable in private industry, but dealing withh the intrangience of governmant is a whole different ball game.

dizzy said...

Teri, I'm just speaking from experience that Prince practioners I have known have tended not to work well within Agile environments.