March, 2007

It’s not good enough to blame the computer. Blame the lack of tests

It’s education lottery time. Parents are receiving letters bearing good or bad news from schools telling them if their little lovelies have got places in their chosen schools or not. Choice being the big thing – although there isn’t really such a thing as choice, it’s more a preference. Parents have have three choices, ranked one two or three. Good schools have strict admission criteria, and will usually only accept “first choice” children. Don’t get your child into your first choice school and you are at the mercy of the local education authority – no good school will accept parents who rate their schools as second or third choices. It’s not an ideal system, but at least all the letters go out on the same day so you get to know where your child has been allocated a place.

Sadly we fall into the unfortunate category of parents whose first choice has not been honoured. Our first choice school has rejected us on the grounds of distance from the school. Their classroom quota has been reached and we didn’t fill it. That is not good for us! So will we be exceptionally lucky and our daughter get a place in our second or even third preferred schools? We don’t know. And Surrey Country Council can’t tell us.

We’ve got a week of anxious waiting before they send their letters out. They’ve got a problem with their “systems.” Well that is the message I get told when I rang them up. “We can’t tell you anything more because we don’t even know” I was told.
Frankly it is not good enough to blame the computer. If something so critical happens in the private sector, SLAs dictate a course of action; this is a severity one problem that will be fixed within hours. Not weeks. But this is good enough in the public sector where faceless bureaucrats can hide behind the computer, cosy outsourcing deals with little accountability mean that no-one really needs to take responsibility. Take responsibility for the pain and distress this is causing me and my family!
So I got their press office number from the website and rang the Head of Communications. She knew nothing of any problems with letters going out, but promised to have someone call me back to let me know what the problem was.

A little while later I got a call back and was told that there was indeed a problem with the computer, specifically in resolving offers, and in particular resolving offers where children have other siblings already in the school. I was also told that they’d earlier had problems in importing data into their systems.

Now the deadline for getting completed applications in is the end of October. That was four months ago. Four months to scan several thousand forms and process the data, and get it right. That is not such a hard task is it? OK, so the process changed for this round of admissions so changes would have been required to the systems, but even more reason to make sure you get it right. It begs the question, was there a test strategy in place? Did anybody do any testing? I believe that the system has been outsourced to Capita. Has anybody at Capita heard of test driven development? It strikes me that this sort of project is ripe for an agile approach to delivery; a business critical system that cannot fail, simple business rules… I wonder if my MP is going to listen to this story…

Productvity, creativity, lean and a blockbuster movie

When it tries to reinvent itself, software development takes paradigms from other industries; in many respects traditional waterfall approaches are analogous to the construction industry, and more recently software development is looking to the manufacturing industry with “lean” being in favour. The benefits of lean in the car industry are self evident, look at the daddy of lean, Toyota. Just-in-time is firmly embedded in the manufacturing lexicography and one of its by-products, six-sigma, has overtaken quality and the TQM movement in many areas.

Software is still in the dark-ages of scientific management, it is more Henry Ford’s production line than Toyota’s production system.

When you do a “Value Stream Map” of Waterfall software development, (a lean methodology that essentially takes each step in the process and asks “how long does that take?”) it is evident that Waterfall is an inefficient process with significant bottle necks at every step of the process. Applying agile / lean techniques aims to overcome these bottlenecks and eliminate “waste” in the process can only be a good thing in an industry that is rife with bloat and failiures. All well and good, but I wonder if we need to take the whole lean manufacturing thing as the ideal paradigm for software development. After all, a software product is not a mass produced car, isn’t it is more a work of art. Something creative…

…you should be thinking about the tectonic shift from productivity to creativity – how shifting from work to play is the source of real, durable, economic gains in the post-network economy.

Shift from productivity to creativity. I like this. I wonder that if we focus solely on productivity and turn software delivery into an ultra-efficient production line, where stories (requirements) are little more than inventory, we risk loosing any creativity in the process. Maybe there is another paradigm we can learn from, that of the film industry. Afterall, building a piece of software in many respects is more like creating a film than building a car…

For a start, it is generally a one-off, it is not a production line.

The team who work on the film are brought together based upon their expertise, they are a project team, rather than a production line business a usual work unit.

There is no architecture, rather a script (overarching story) that is visualised in storyboards.

Filming is not linear, it is done in iterations; film all the scenes on a particular location, regardless of the order they fit in the film.

Filming needs to be responsive to change within the boundaries of the overarching vision (business objective); often decisions are made on location; the director sees a particular shot that was not storyboarded and changes are made there and then.

At the end of each iteration you have the rushes (showcase).

Before being launched the film is previewed (usability tested) and depending upon the audience reaction changes may be made.

And then the film is released to critical acclaim. (Or maybe not…)

I’m not suggesting this is a better paradigm than lean – indeed read the wikipedia entry on film making:

An entire big Hollywood-style production cycle typically takes three years. The first year is taken up with development. The second year comprises pre-production and production and the third year comprises post-production and distribution.

…and that sounds distinctly like waterfall.

There is much the software industry can learn from Lean; it’s not an either/ or, rather that I’m sure there are plenty of lessons that can be learned from the film industry. Let’s not loose creativity in our drive to productivity and efficiency.

2 of 2
12