Well, one comment I would make as a practising software engineer is that this truism, that bugs introduced earlier in the software development process are more expensive to fix, is not all that relevant to modern software engineering. Because at the time this truism first became generally accepted, the prevalent “software development process” was generally some variant of the “waterfall” method, which is so discredited that… just don’t get me started:)
Nowadays, everyone who is actually succeeding in shipping working code on time is doing feature-based, iterative, test-driven development. The life of the project itself is not a timeline against which it makes sense to identify when a bug was introduced. Individual working features are introduced, tested, written and delivered continuously and iteratively.
It seems to work. At its best it’s a creative and rational process of exploring a problem space and contriving a solution, taking into account costs and risks. Whether you can call it “engineering” as such, nobody really cares.
Well, one comment I would make as a practising software engineer is that this truism, that bugs introduced earlier in the software development process are more expensive to fix, is not all that relevant to modern software engineering. Because at the time this truism first became generally accepted, the prevalent “software development process” was generally some variant of the “waterfall” method, which is so discredited that… just don’t get me started:)
Nowadays, everyone who is actually succeeding in shipping working code on time is doing feature-based, iterative, test-driven development. The life of the project itself is not a timeline against which it makes sense to identify when a bug was introduced. Individual working features are introduced, tested, written and delivered continuously and iteratively.
It seems to work. At its best it’s a creative and rational process of exploring a problem space and contriving a solution, taking into account costs and risks. Whether you can call it “engineering” as such, nobody really cares.