I have provided training to a wide range of clients, in several industries, over many years, across the world and to disparate audiences. I believe my students have benefited from my teaching, but in addition, I can declare that I have learned also from the experience.
One thing I have learned is that our pre-existing assumptions and prejudices can hinder root cause analysis.
One industrial-client sponsored session on root cause analysis required participants to propose and consider issues that had arisen in their workplace. We had 2 nationalities in the room. Let’s call them A and B. Nationality A firmly asserted that if they issued a procedure or directive, it would not be possible for those to be omitted or disobeyed. Nationality B were equally firm that omissions or failures would be a possibility. What was interesting was that the breakdown was 100% on nationality; Not on seniority; Not on education; But, rather, through some pre-existing assumption or prejudice.
Over my career, I have facilitated and undertaken root cause analyses on subjects from aircraft crashes to electronic component test failures. The best results have always come from those that follow a clear procedure (there are several published) that allows for a wide capture of possible causes to a well-defined problem, and then requires justified evidence to support refinement and final conclusions. If a possibility is ignored or discounted through prejudice, the root cause of a problem will not be found. And if the root cause is not found, a complete fix will not be identified and reliability will suffer.
This applies to hardware, software, simple systems, complex systems. Root cause analysis should be a core skill for all engineers and project managers.