The Australian IT on Tuesday had a “lovely article”:http://australianit.news.com.au/articles/0,7204,18994350%5E15306%5E%5Enbv%5E,00.html?from=rss on the Trellis system rollout in WA – specifically, how it was a “Big Java Job [that was] blasted on blowout”. The implication, of course, was that Java was to blame.
However, the problems that plagued this project were not technology, but skills and competence. Straight from the article:
* it was initiated in 1999 and didn’t go live until 2004 – multi year projects without staged delivery have been argued against for over 30 years.
* There was no business case approved in advance – this meant that they didn’t have any clear guides on when to stop.
* it was to replace the existing licensing sytem – the two couldn’t live side by side, which meant a big-bang delivery. Another symptom of this was the need to sanitise the data before the rollout.
* Lack of regression testing or design for change – the incompatabilty between 2.1 and 3.0 is the obvious example.
* Lack of good QA – “combination[s] of user, data validation, andsystem processing errors”
* Insufficent automation of migration – “Only 6 million out of 20 million” records cleansed – Why? Also another example of bad QA.
* Bad performance – 6.5 million transactions/year = ~4000/hour (assuming 200 work days, 8 hours per work day), or a little over 1 a second. Where was the performance testing to see if it could handle the load?
* Out-of-control “maintainence spending” – $2.8 million in the first year. This either represents massive quality problems (bugs to fix), poor analysis (features that were needed and forgotten about) or large scope creep – or more likely a combination of all three.
At the same time, if only “1.25% of the revenue Trellis collects” is going into maintainence, that’s very cheap, all things considered.