Opinion Apart from those who have a commercial vested interest does anyone still believe in large top-down centrally architected IT solutions? Public sector IT in the UK is littered with expensive white elephants, and it sometimes seems as if the only beneficiaries are the large IT contractors, who can threaten significant job losses or other problems if the government fails to continue the cycle of dependency.
The National Programme for IT in the NHS (known as NPfIT) provides a notorious example of this. For readers of The Register, the story of gross cost escalation and repeated disappointment will be a familiar one. When the NHS set up the Programme in 2002, it was billed as the world's biggest civil IT programme, and was expected to cost £2.3bn over three years. It was largely dismantled in 2011, having cost over £12bn and delivered very little.
So is there an alternative to these large top-down solutions? Enter Dr Carl Reynolds, who is a hospital doctor and a self-styled geek. He organizes a series of one-day events called NHS HackDays, where hundreds of volunteers - including doctors, software developers and designers - work on disruptive digital health technologies.
Obviously there is a limit to what can be done in a day, but it is still possible to produce a wealth of interesting and useful apps to improve the NHS for patients and healthcare professionals. But clearly that's not enough; even the most generous pile of interesting and useful apps cannot possibly deliver everything the NHS needs. We can think of the software available to the NHS as if it were a fleet of ships. At one extreme, a slow and cumbersome supertanker. At the other extreme, a flotilla of tiny boats. But we need something in between.
Many experts believe the answer lies in the platform approach, which if properly designed and maintained would combine the benefits of diversity and interoperability. Some extremely successful platforms have emerged in recent years, notably Amazon and Apple, but the general approach is not just limited to glamorous high-tech end-consumer products and services.
There are three key characteristics of a platform.
- The platform provides a way for customers to access the specific capabilities and resources they need, and to link them together.
- The platform provides a way for third-party suppliers to offer additional specialized capabilities and resources.
- The platform makes capabilities and resources available to third parties. These are typically common or general purpose capabilities, which may be offered as utility services.
A platform approach was proposed by some smaller IT suppliers, but according to a submission to the House of Commons Public Accounts Committee, the approach was rejected as high risk and too cheap to be credible, despite claiming successful results in Canada and elsewhere. Clearly the large contractors are good at persuading government that any given solution must be sufficiently large that only the large contractors can deliver it.
Elsewhere, the success of companies like Amazon and Apple has come from understanding how platforms work. Back in 2005, some experts predicted that Steve Jobs was too much of a perfectionist to fully embrace the platform approach. They were wrong – he turned himself into a master of platform.
In this emerging world, the job of the architect is not to plan and control everything top-down, but to make the platform work, and to manage the ecosystem so that there is a good mix of small, medium and larger applications, and a good balance between differentiation and integration.
The idea that a healthy system architecture requires a range of different size systems (scales) comes from the architect Christopher Alexander, who has had a wide-ranging influence over IT architecture over many decades including his work on structured methods and patterns. According to Alexander and his colleagues, including the mathematician Nikos Salingaros, we need to allow things of different sizes to coexist and interrelate: this can be thought of as a "fractal" approach.
Salingaros has introduced the concept of "fractal loading" which means that a given exchange may be simultaneously meaningful at different levels. He argues that a system that cannot respond to change on any one of its multiple levels, is inherently unstable.
So for example, a single exchange between a doctor and a patient forms part of a longer process involving that patient with other health professionals, and also part of longer processes such as commissioning. The core task of the architect is to build patterns and frameworks that guarantee the interoperability of these different processes at different scales.
The architect is also managing different development tempos. There are large legacy systems and packages, developed many years ago, where even relatively small enhancements may take months (and large sums of money) to carry out, alongside tiny apps that might be developed over a weekend. So an intermediate development tempo is needed, sometimes called the Alignment Tempo, for aligning the fast-moving with the slow-moving, and allowing agile development and innovation to proceed apace without waiting for the slowest-moving subsystems. A good architecture framework is essential. Healthcare system provider Maracis has used the same framework for six years, with which it claims to be able to deliver small application increments extremely rapidly. A similar approach was adopted by the Canadian Health Service, which achieved better results than the NP4IT for a fraction of the cost.
Thus Alexander's architectural approach to large complex requirements, provides a promising alternative to the traditional one-size-fits-all top-down approach, which has cost so much and delivered so little, and gives architects a new way of working intelligently with agile developers and users to deliver real value.
This article is a shortened extract from Richard Veryard's new book on Next Practice Enterprise Architecture, published by LeanPub. He will be presenting and running workshops at the IASA Conference in London, April 22-26. The next NHS Hackday will be in London on May 25-26.