I work for an electricity utility and one of the things that the company is passionate about is safety. Its dangerous work out in the field. Dealing with electricity, there is always the chance of electrocution. So everyone, even though who work in an office learn about safety.
Once of the concepts we were introduced to was the safety pyramid. We found out that if you focus on reducing unsafe acts, you actually make a difference and reduce fatal injuries. Its a trickle up effect. Being aware of the situation from a safety perspective, you make the workplace safer overall. That’s not to say that you eliminate fatal injuries, you just reduce the chance of them happening.
This got me thinking, what if the same process was applied to software development. Would being aware and trying to fix minor bugs, those both during the development process but more importantly those already in production. Would you be making your system more stable overall, thus reducing the chance of a severe outage? If so, how would the pyramid look. So I put the following together.
I know the concepts of Test Driven Development, Acceptance Test Driven Development and the whole, shift left theory deals with this, but does putting it in this perspective help?
I’m interested in your opinion, please let me know in the comments below.