From childhood we are programmed to fear the failure, the opposite behavior is rewarded. I still see many companies & people trying to recruit people with a “Failure is not an option” requirement. Such practices reinforce this behavior. In many cases the “prevention” causes more problem & costs more than the actual issue.
Without failure there is no learning. Any process/framework/companies which needs people to follow the “dotted” lines and where “failure is not an option” will not result in innovation or new ideas ; And eventually they will cease to exist.
A lot has changed in the last decade, now we have tools and process to give instantaneous feedback to any changes we can think of.
Clean code + Short feedback cycle (CI/CD) + automation + transparent data metrics should be the cornerstone for any software development team
A good software development strategy will have process to review failures and make the changes to ensure that people are learning from their mistakes. Such a continuous learning and process adaption cycle will gradually improve the knowledge and capability of the team. You might start with an average team but you will end up with a team of superstars