From top to bottom

Virtual Consumer column from Ethical Consumer magazine Mar-Apr 2014

When the Co-operative Bank announced losses of £709m last year, it was largely blamed on the commercial property loans made by Britannia Building Society before the two mutuals merged in 2009. However a significant component was a £148m “write down” on the bank’s IT systems. The software it had been developing for the planned takeover of 632 Lloyds branches was no longer needed.

The bank is not alone. The department of work and pensions recently wrote off £34m of work on IT systems to run Universal Credit. Not because the system was too big - the budget for IT has actually increased by 60%.

Both of these disasters pale in comparison with the possible losses on the NHS patient record system, now abandoned. The Public Accounts Committee estimates a cost to the taxpayer of £9.8bn.

Contrast with the explosion of new applications for smartphones and the Internet. Apps that tell you the time of the next train home, or the flight number and destination of a plane flying overhead have to interface in ‘real time’ with other systems developed by other people - exactly the type of complexity that causes big IT projects to stumble. And yet the vast majority of Internet and smartphone applications are developed by small companies on tiny budgets.

When I studied programming we were taught to go “top down” - start with the objectives and refine in increasing detail. The whole system should be specified and fully documented before writing a single line of code. That’s not the way people are developing smartphone and Internet applications.  For them speed is key. They use existing code and other people’s systems to get something working and out to market as soon as possible, then they learn from the experience of users before adding new features and improving the design.

This “bottom up” way of working inspired a group of 17 developers to propose the ‘Agile Manifesto’ in 2001. In just 126 words it outlines a different approach: try getting limited but useful functions working before refining and extending them; be ready to go back and re-write code; work collaboratively as developers and with users. Importantly the agile method is designed for big systems as well as small, indeed the proponents argue that is when it pays the biggest dividends. It’s an argument they’ve been winning: the UK government, fingers burnt with big IT suppliers, now uses agile for its new Government Digital Service.

Two very different approaches to software development coming from two very different cultures. There’s an obvious parallel with the wider world. Perhaps the failures of government and the big challenges facing our world are the inevitable result of an old, top-down way of organising things.