I’ve recently been involved in a discussion regarding the blame culture that lives within the software development industry.
You hear the stories everywhere, where a bug is found on a live environment and people (usually management) automatically start finger-pointing at individuals to blame them for the bug, either for missing it during testing, or for missing it in the code review or unit testing process…
In this discussion, I was told that “it’s important to point out the person who is responsible for the defect, so that they can learn from their mistake”… I have a few problems with this statement.
Firstly, we are making the assumption that the buck stops with the initial person being blamed, and there is not further cause for the mistake happening. A hypothetical example could be if a bug was found on the live system. Management automatically turn to the tester who was testing the system to blame them for not finding the bug during testing… “How did you miss that bug!?”… but in reality, it could have been missed due to time pressures placed on the testing process, or by an extremely late release being performed to fix a “quick” issue that has ended up breaking something else.
Secondly, I don’t think it’s a situation where only 1 person should learn from it. There is an opportunity for the entire project team, or the entire company to learn from this issue. the “learning from it” shouldnt be solely focussed on the person who made the mistake, the information on the cause and how it occurred is useful knowledge for everyone to know about and learn from.
Thirdly, I think it can be counter-active blame someone and put them in a situation where they lose confidence and other people start to possibly distrust them or look at them in a different, demeaning way due to a mistake. This can ruin teamwork and moral for everyone on the project.
I believe that it is important to find the root cause for the occurrence of the problem, but that you do this and allow everyone on the project to learn from this problem without having any blame culture towards any individuals.
It is important to discover why and where the problem has occurred. This is so we can learn from problems and mistakes, and so that we can put measures and processes into place to test and prevent them from occurring again. I also believe that we should learn these problems as a team though, and not be forced to learn them in a demoralising manner from the finger of blame being pointed in our direction.
One way that you can efficiently get to the root cause of an issue, without any finger-pointing, is to perform the “5 Why’s” method for root cause analysis. (Just one of many resources that supply further information on the “5 why’s” method can be found here – or you can google “5 why’s” for more resources on it). This is far more productive than pointing the finger at the first person that you think might be the cause of the problem.
In a blame culture, management might turn to the testers (who are generally the first people in the blame line of fire) to point the finger at and ask how this bug could have been missed. This not only causes any moral or confidence to be sapped from the individual(s) that the finger is being pointed to, but will also having an effect on the other project members who will automatically subconsciously start to look down at the person being blamed for the problem. This in turn has an effect on the entire teamwork vibe for the remainder of the project and all future projects…
But in reality, if we stick with the team spirit (with the entire team holding the responsibility for the issue), and we continue to work as a team to communicate in a civilised and respectable manner to get to the root of the problem, this is more efficient and will consequently allow us all to learn from the problem while keeping moral high.
What do you think? Have you ever had any experiences where yourself or a colleague have been blamed for an issue occurring? Or have you ever been in a situation where you have blamed someone for a problem occurring? How did you handle this situation and would you have done things differently in hindsight?