Over time I have written less and less software; the last development team removed my access rights to the source code long before I had even left the project. But I have always had a passion for delivering software that does what the user wants, and does it well.
Much has been written about how to develop software. I am not talking about the lines of code, but rather how to structure a team, how to test, how to design for operations, produce something that works and that is supportable and does what the customer wants.
Especially when looking at government IT projects, the failure rate is horrifying and I think as an industry we need to take a very serious look at how we are delivering projects. There are many reasons for this failure rate, but the one that has currently got my attention is the rate of innovation in IT (which is good) and the insistence of development teams to use that latest innovation (which is not always a good).
This is where as an industry there is much to learn from more mature industries. I was talking to a friend who comes from an engineering background, and he was talking about the mix of old and new technology that they used.
The example he had was about props used to hold up tunnels on building sites. They have been using steel props for a long while – they are light and strong. However if you go down a tunnel on a building site, you will often see wooden posts being mixed in with the steel ones. Why?
The answer is simple. Under great pressure, wood starts to crack and splinter. You can see and hear that the post is under too much pressure. Steel however shows no sign of strain - until it suddenly breaks, causing the tunnel to collapse. When working underground, wood will give you a warning of an impending collapse, potentially saving lives.
Sometimes in IT, we need to temper our desire to use the latest and newest technology. Don't always throw out the old, it sometimes has its uses.