Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Why, Why, Why, Why, Why is Current Reality A Tree

DZone's Guide to

Why, Why, Why, Why, Why is Current Reality A Tree

The 5 Whys method and Current Reality Tree diagrams are two methods in Agile that can be useful in identifying the root cause of an issue.

· Agile Zone ·
Free Resource

Adopting a DevOps practice starts with understanding where you are in the implementation journey. Download the DevOps Transformation Roadmap. Brought to you in partnership with Techtown.

In a previous post I briefly mentioned the 5 Whys technique as a method for problem exploration. Today, I would like to explore it further.

The 5 Whys Technique

The 5 Whys technique is another simple technique to explore and try to find the root cause of a problem. The premise is quite simple. As the name suggests, you ask "Why?" 5 times. The thing is, that you do not ask the same "why" every time. You delve deeper.

How do you do this? Well, you have an undesirable effect. This is your problem. You ask, "Why did this problem occur?" This is your first "why." You then answer this question. This answer is your "cause," but is it? It could be another undesirable effect masquerading as a cause. So you ask again "Why did this cause (now an effect) occur?"

This is our second "why" You then repeat the process until you get to the actual cause. Sometimes you might get to the real. cause straight away, sometimes you have to delve a lot deeper, but the premise of the technique is that you have to ask at least 5 times to really root out the cause of the problem.

An Example

Let's have a look at a completely made up example:


Undesirable Effect: John didn't update the documentation.
1st Why: Why didn't John update the documentation?
Cause: Because he forgot to update it.
2nd Why: Why did John forget to update the documentation?
Cause: He wasn't prompted to.
3rd Why: Why wasn't John prompted to?
Cause: Because there is no list of tasks on what to do after completing development.
4th Why: Why is there no list of tasks on what should be completed after development?
Cause: Because there is an underlying understanding that certain tasks would be done.
5th Why: If there is an underlying understanding of the list of tasks that should be done, then why did John still forget?
Cause: Because John is human, and the human memory is fallible.
6th Why: Why is something so important so reliant on something fallible?
Cause: Because if something is forgotten, it is easier to blame rather than look for a method to make sure that something is never forgotten.

In this example, 5 whys didn't seem to get to the root cause. Rather than give up, keep going deeper. In this made up example, something as simple as forgetting to update documentation has a more deeper cultural issue that should be addressed. You could have stopped at the first why, and just have told John to update the documentation. Problem solved—at least until someone else forgets to update the document. The next time it might not get cause, and thus your documentation is out of date. Instead by looking deeper at the problem you start to think of ways to have the documentation tell you it needs updating. For example, using Concordion, Fitnesse, Cucumber or simply a list of things to check off to make sure you have done everything needed, or even get innovative and find your own solution to the problem.

Where Do Trees Fit In?

Now, from the previous example, you can see that there is a more systemic issue than the one initially presented. The thing is, that a number of the problems you are having, might actually be caused by the same root problem.

If you map these out, then you might find that the structure resembles a tree. You might see that one root cause is actually creating a whole heap of undesirable effects and by simply addressing that root cause, you may resolve a whole heap of underlying problems. Creating a Current Reality Tree is very hard work. The more problems you start out with, the longer it will take to drill down, but be prepared through, you may find something you won't like.

Summary

The 5 Whys and the Current Reality Tree are a couple more methods to determine the underlying cause of issues and problems that you are having. The problem is that you may not like these causes. As humans, we do not like to hear that something that we are doing is fundamentally wrong. Therefore we tend to ignore the issue and solve the more simple problem. I myself am guilty of doing that on numerous occasions. That is okay; you may not be ready for whatever reason, but what is important is that you are aware.

Take Agile to the next level with DevOps. Learn practical tools and techniques in the three-day DevOps Implementation Boot Camp. Brought to you in partnership with Techtown.

Topics:
agile implementation ,problem solving ,problem identification ,agile ,five whys ,curret reality tree

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}