|
|
|
|
|
by TameAntelope
1891 days ago
|
|
Possibly off-topic, but the "a bug is cheaper to fix the earlier on it's discovered" idea came from a since-debunked bit of research, and even if it were true in 1995, has since become untrue through tech advances in how we execute modern deployments, e.g. if I commit a bug in my UI, fixing it in production is the same process as fixing it in dev, just pushing a commit. I wish I had a citation, but my google-fu is getting circumvented by "error" and "cost to fix a bug" being too related. |
|
That seems like quite a stretch.
The cost of fixing a bug isn't just the deployment effort. It's also the investigation, the impact analysis for any potential fix, and the mitigation of any unwanted side effects on other code that is related to wherever the bug is.
I think the original point of the idea was also that a bug may also have cost real money by making it further through your pipeline or even into production before someone fixed it. A bug only found in some sort of QA or code review exercise took the resources to do that exercise, when a bug found by a developer shortly after writing the code did not. A bug that made it to a staging server might have tied up shared resources or interfered with someone else's deployment before it gets backed out.
If a bug makes it all the way into production, there might be customer relations or PR fallout for having the bug in your software and affecting your customers negatively as a result. There might be regulatory consequences if the bug caused a breach of some kind. If the bug caused something serious like personal injury, damage to equipment or loss of important data, that could be catastrophic.
Of course, a lot of software today also isn't online systems that can be readily redeployed, and it's obvious that if you have a more demanding deployment process like serving millions of software updates to unhappy customers, possibly through a significant marketplace that you don't control where you can't just push out your change whenever you want, or physically recalling a dangerous hardware product deployed halfway around the world to update its firmware, that's going to be far more expensive.
I'm not sure what since-debunked bit of research you were referring to, but the idea you mentioned is far broader than any single bit of research and I think it's still a pretty good rule of thumb even today. The relative ease of new deployments for online systems running on servers you control just reduces the damage a bit in that one specific area.