Software is in everything and we and our businesses depend on it more and more. Yet Software Quality is not rising, so we have rising numbers of failure incidents and out-of-control costs in maintaining software. What should you do about it?
Software, software, software
No matter where you look, there is software. Whether you inspect the thermostat in your home, look at the smartphone in your pocket, or lift the hood of your car, you find digital chips running software that keeps the device going.
And this doesn’t even begin to describe all the software that is running in your computer and in The Cloud. Software is everywhere and we are dependent on it for so many things in our daily lives.
If you have something to do with creating software, you’re probably in a secure job because software creation is not going away. On the other hand, you’re probably worried about keeping up with the latest techniques and standards, because software development is in the public spotlight more and more.
Why? Because software failures, system data breaches and rising maintenance costs are in the news more than ever.
Software can be stable and reliable
I attended this month’s meeting of an organization called SofTech and enjoyed hearing Fred Davis talk about the latest gadgets – which, of course, are full of software. And in that room were some of the most experienced software developers in the San Francisco Bay Area. Yet even among those high-tech gurus there is an unspoken acknowledgement that software quality is not very high overall, and that creating stable and reliable software is an arduous undertaking.
How can we make it less arduous? Well, as Fred Brooks explained, there is no silver bullet — no single countermeasure that will make software development become predictable and reliable. If you want reliable software, you have to organize and execute deliberately, monitor the results regularly and keep up with the evolving tools and methods that incrementally make the process better.
To learn more about development issues, have a look at Technical Debt. Also visit SEI, PMI, and CISQ. But above all, get expert guidance that is not focused solely on technology and tools, because creating reliable software depends as much on management and organization as it does on tools and process.
If you’re managing development projects …
I’ve started offering a series of webinars on managing development projects. The first two were titled The 10 Danger Signs of a Failing IT Project and How to Fix a Failing IT Project. The third one, in January, will be Why Agile Won’t Fix All Your Problems.
Even these webinars won’t fix all your problems. But you may become aware of the possibilities and some of the pitfalls in development. And that could be enough to get you on a path of improving the software quality in your enterprise.