Software testing is the oddball in information system development. It is generally easy to estimate how long it will take and how much it will cost. Testing is also widely acknowledged to be the most important bottleneck in the software release process.
All posts by this author
It is practically impossible to operate a rapid software release cycle without automated testing. Manual testing is too slow to keep up with the brisk pace of agile development teams. Later on, during system testing and validating integrations with other systems, both the time spent and the overall workload become intolerable.
A software process tends to be more difficult to manage and optimize than an industrial manufacturing process. This has little to do with the “intellectual challenge” or “inherent complexity” of software. The history of industrial manufacturing just happens to be longer, its underlying practices, processes, and tools are much more standardized, and there is less variation to manage than with software.
If you haven’t yet adopted DevOps in your application development, start now. Simply put, DevOps is to software delivery what lean is to production processes. DevOps aims to optimize the ratio of time to value – with high quality, of course. Software developers love DevOps because it’s considered cool. Unfortunately, a majority of developers treat DevOps the same way they initially treated agile: by only adopting the fun parts.
Does the success of your business depend on the flawless operation of your information systems? It does for most businesses today.
Stop and think for a minute. What do you know about the systems your business relies on? Where do they come from? How is their quality managed? How do you know if something goes wrong? How can you reduce the risk of something going wrong? What are the biggest risks that could materialize? How likely are they?
“From projects to products” has recently become a fashionable slogan – and for a reason. In the past, an information system was a project investment. We spent a year defining it, a couple of years implementing it, and a few years utilizing it. Then we started a new project to replace the system.