5 Differences between Classical and ODC Root Cause Analysis in Software

Ram Chillarege


Transcript of video clip.


"Hi. My name is Ram and what I'd like to share with you is a comparison between the classical root cause analysis and the ODC style of root cause analysis in software. What's different between the two? What are the advantages? And so forth. There are several differences, but there are five principle difference that I'd like to focus on".

Firstly, the ODC style of root cause analyis is more structured than the classical root cause analysis. The classical root cause analysis has been in the software industry for a long time. These are ideas that came in from manufacturing, where one looks at defects and tries to understand the underlying cause of the defects. If we can find that common cause that may exist among several defects and we can remediate or alleviate that, then one has quality improvements and productivity improvements. That is the basic idea. In the classical root cause analysis, individuals are trained to do it. Every engineer or groups of them get together, study these defect, and come up with potential reasons. That is how it proceeds. In ODC based root cause analysis, its different. The defects are first categorized by the ODC classification scheme. What that does, is it extracts semantics from the defects. Then an anlayst looks at the data - and they are not looking at individual defects like one is in a classical root cause analysis. Analysts are looking at several defects of them - 10s, 100s, 1000s of them, whatever. Doing it through statistical means, analytical means, and then coming up with hypothesis of what is actually potentially going on. They bring this analysis to the team and the entire team gets involved with it. The team may not have the skills to do the analytical reasoning or analysis, but together with the analyst they discuss issues. They identify what is going with the process and come up with the root causes and can take corrective action.

The second important difference is that roles change. The role of individual engineer is primarily to give us ODCfied data. The analyst uses that to come up with the analysis and the potential root causes. Then every body gets together and does an analysis. So there is a major shift in roles as to how root cause analysis is executed.

The third major difference is one of speed. Individual analysis of defects by the classical methods usually can take anywhere from one person hour per defect up to four or five person hours per defect. That is a huge amount of time. The ODCfication takes barely 3 or 4 minutes. In fact, in our training classes, the achievement of classes is typically under 4 minutes per defect when they retrospectively categorize a defect. That is a huge difference from the classical methods. That's not the only time time that it takes to do ODC based root cause analysis, because the analyst needs to perform analyiss and then there is a group discussion. But that is only a couple more hours on top of the ODCfication. If do the math and take 30 defects or 100 defects there is a factor of 10 to a factor of 30 in terms of speed improvement through ODC.

The fourth major difference is a matter of coverage. When one does the classical root cause analysis, given that it takes so much time, and is as expensive, one can only do a small number of defects - usually a few dozens may be a dozen. And that's from a population of several hundred defects -- so the percent that is covered by the classical root cause analysis is small. Since the cost of ODC based root cause analysis is so much lower, one can essentially get almost a hundred percent coverage or a very high coverage of the defect population. So its huge coverage.

The fifth major difference is the level of abstraction. When one does ODC based root cause analysis, one is using analytics. And the categories themselves separate cause, separate effect, have sub population identifiers have customer set indicators and so forth. So one can start looking for causes that are process based, or people based, or product based, or divide customers into groups that address different market segments. One can compare all these different factors in the root cause analysis. So the level of abstraction is lifted to a higher level of abstraction. One can study these effects, because one is doing it analytically and its much faster and easier to rollup. So that brings in the other major dimensional change by using ODC to do root cause analysis. That is a very quick run through the five major differences. The ones that we focused on in this clip are: One, structure. ODC is more structured versus the classical which is primarily less structured or fairly informal and unstructured. Two, there is a change of role as to how one structures the root cause analysis - who does what?. Three, speed. ODC is 10-30 times faster than classical root cause analysis. And that allows us to do get much higher coverage (Four). You can almost do a 100% coverage with ODC based analysis which is almost impossible with classical root cause analysis. Finally (five) the level of abstraction is higher and we can do a whole lot more with ODC. I hope this has helped you get some idea of the major differences.

Thank you."