Lower costs through timely error detection
August 3, 2015
Barry Boehm, an American scientist in the field of software engineering, stated almost 40 years ago that the repair of software errors becomes exponentially more expensive the later these "defects" are identified. Even now, proof of this statement is regularly provided in various IT projects.
Your new bathroom
Imagine that you are going to completely renovate your present, outdated bathroom. First, you weigh, fit and measure everything carefully and then, together with the bathroom supplier, you choose the layout, the shower and the bath, the washbasin and the tiles. The supplier will lay down as much as possible in detail in a design. Because the layout is completely different from your current bathroom, all pipes have to be moved and hidden in the walls. Then the bathroom is placed and the walls are tiled according to the design. When the taps are placed, you turn on the bath and see a thin stream of water coming from the tap. And to your horror, on the wall above the bathtub, there is an ever-growing wet spot...
In the above example, it does not take an American scientist to show that repairing the leak in the diverted water pipe would have been cheaper if tests for leaks had been carried out earlier. Just as it is good to test earlier whether the sockets are in the right place, looking at the design. At an early stage, the possible repair costs for correcting errors are limited.
Simple measures
Of course, a bathroom cannot be compared to a comprehensive IT project in terms of complexity. Nevertheless, simple measures both during the renovation described and in an IT project can prevent large (repair) costs.

The graph above shows Boehm's theory contrasted with the phasing of an IT project. From this it can be seen that the cost of correcting an error during use of the software is many times higher than correcting incorrect requirements.
In the example of the bathroom, the moment of "error detection" is just before the actual commissioning. Similarly, in an IT project, the focus is often on user acceptance testing. A good measure to counter this is to shift the focus of testing to the system integration test. By adopting a "risk-based" testing approach in this testing phase(see also a previous article on this subject), software errors with the greatest damage are the first to be revealed and the most time is left to fix them. These are also usually the errors with high repair costs when only discovered at a later stage.
Another measure lies in the early involvement of testers. If the testers are already involved in the project when the requirements are being drawn up, it is possible to have the first designs tested for testability. Think, for example, about unambiguity or preventing confusion. These 'errors' can then be corrected even before the supplier starts development. An additional advantage is that the testers can already extract many logical test cases from discussions about the design during the first phase. This saves time in drawing up the scenarios to be tested.
Advice
The advice is therefore to organise the testing strategy in such a way that the largest errors are found (and solved) at an early stage. Involving testers in the first phase helps enormously. So you can face 'the new bathroom' with peace of mind...