Overview
Defects in software, if left unchecked, can threaten the viability of a project. Performing root cause analysis using Toyota's '5 Whys' approach can uncover the source of the problem, and limit the number of defects injected.The scenario
It is an unfortunate state of our industry that we accept bugs, or defects, on our software projects as a matter of course. When the software in question is not related to human safety, such as in medical, nuclear power, or aeronautical systems, a bug threshold of some degree seems to be just a matter of course. However, there is by g difference between being in control of the bugs in the project, and the bugs threatening the viability of the project. Once that line has been crossed, it is a very difficult path back.The 5 Why's
Originally developed at Toyota, the 5 Whys is an iterative question asking approach for finding the source of a problem.
An example
Here is an example from a project I was working on where the defect count was starting to get out of control:
Because the expected behaviour was missing.
Because the developer forgot to implement it?
Because there was a long time between when they read the specification for the requirement and when they completed the work.
Because it was a large requirements with many edge cases.
Because it was thought that it would be more efficient for one set of related work to be done by one person.
The result
Based on these insights, the team made two changes:
Secondly, developers started talking testers through the changes they had made prior to committing their code to source control. This introduced a straw man effect as developers started finding their own omissions, prior to, or during the discussion. Additionally, the testing was more focussed and more effective.
Next steps
I hope you don't find yourself on project with a high defect count, but if you do, give this a go and see if it helps.
Comments
Post a Comment