It seems every day we hear about hideous cost overruns on public sector projects in the UK. What makes it even more frustrating is that open source, a real no-brainer for many applications, is rarely given the chance to prove itself here. Which means, of course, that there are no case studies to refer to, so no one gives open source a chance etc. etc.
Against that background, a new paper by Darrel Ince, Professor of Computing at the Open University, which rejoices in the deceptively-bland title of “The Re-development of a Problem System”, is pretty exciting stuff. The summary gives a good flavour of why that might be:
The Integrated Children’s System [ICS] is a set of computer programs that are used to chronicle the interaction between British social workers and children in need. It has been the subject of many criticisms from social workers, a major trade union and social work academics. This article details a redevelopment of the system that removes the problems with the system and demonstrates the advantages that can be gained in development by employing readily available open-source and proprietary software. The advantages are twofold: first it removes the major problems with the system and, second, does it for a fraction of the £80-100m original cost (the article estimates the full cost of the redevelopment to be c £35k). The article is important in that it details a major reuse effort which resulted in very large savings, details an approach to software development for human-centred applications that is radically different to the forms, relational database, Java/PHP approach and is one of the first case studies which shows the dramatic effects of employing open-source software.
It's really got everything: yet another troubled child support system that never worked properly, with an open source solution not only addressing most of the problems, but doing it at a tiny fraction – as in *one-thousandth* – of the cost. Amazing.
I suspect that one of the reasons the project was so successful was its extreme simplicity:
The redesigned system is purely based on a word-processor or MediaWiki in which the chronology of interaction is held in a single word-processed document or as a wiki article. A social worker just produces a narrative of all the interactions that they have with a child and others adding to it by instantiating a word template or copying a wiki templace and filling it in. However, embedded within each template are as many attributes as are required. The first part of the based narrative is devoted to the event of registering a child after a referral and has necessary bureaucratic contact details which would be implemented as attributes. The remainder of the document would correspond to templates associated with events which have as many or as few attributes that are relevant to the event as is required.
The other reason why the project is notable is because it re-used so much existing code:
The cost of the system in terms of software is zero. All the major components that were used were free of cost and readily available—many as open-source software. These included: Open-Office Writer (the word-processor associated with the Open-Office suite), Open-Office Calc (the spreadsheet system associated with the Open-Office suite), mySQL, the Lucene search engine, the MediaWiki system and a SAX-based API form XML processing.
The development costs were also pretty light:
The key criticism of social workers was that they were unable to develop a whole picture document. As soon as the decision was made to use a word processor a number of problems were solved: those of a technical nature such as problems with undo and autosave together with the major problem of narrative fragmentation. This had the effect of using implemented functions rather than functions which were developed ab initio. I carefully monitored the time that I spent developing the ICS system (around 1300 lines of Java code) and I took just under 15 days to complete this. At a commercial rate for programming of £800 (well above my salary!) this would have cost c £12000.
The paper concludes by noting:
A major contribution of this article is that it is a case study of the redevelopment of an expensive class of system by considering reuse and that the reuse involved open-source software. The software that was used to develop the system was a readily available word processor, a readily available spreadsheet, an open-source XML API, an open-source database system and an open-source wiki API. It is a lesson to developers—certainly of human-centred systems—not to reach for the UML editor to specify a new system but to pause awhile and cast around for existing software that embeds the functionality required and which is familiar to users vide the employment of a word-processor.
Let's hope others can learn from this splendid example. And for those that would like to see the details in order to do so, Professor Ince has kindly offered to email an advance copy of the paper: please write to [email protected], mentioning this article.