Thursday, April 22, 2010

Finding Simple Answer to a Problem is the Solution for Project Success

Recently I finished reading a book “Outliers” by Malcom Gladwell. I found the book to be very thought-provoking. The author has attempted to identify some causes which leads to extraordinary performance by some great individuals like Bill Gates, Bill Joy, LN Mittal etc. The author opines that for a person to become an expert in any field one needs to do 10,000 hours of practice. It is impossible to achieve such practice level without dedication, hard work and focus. It goes without saying that one needs to have proper opportunity to practice and last but the not the least, one also needs the Grace of God – “luck”.


I was thinking about our –garden-fresh Software Industry. This industry is full of smart individuals who want to rise very fast. In that process the “Practice” of 10,000 hours gets missed. We have to run development organization with a set of individuals having an average industry experience of around 3 years. The Resource Mix is very popular in Indian IT industry and time and again Management looks for a reasonable RMI (Resource Mix Index) to optimize the profit margin. These have implications for quality delivery. You will not have an “EXPERT” in your team. The result is inconsistency in quality of the product delivered. CMM culture in software organization has brought the discipline of Root Cause Analysis (RCA) in the companies. Often RCA is done for improving the quality in a project. Beautiful Fishbone Diagram is prepared. {The Fishbone Diagram identifies many possible causes for an effect or problem. It can be used to structure a brainstorming session}. Everyone is “Happy” after identifying the root causes for substandard delivery. They follow these but the problem keeps shifting from the origin. The problem does not get resolved. This means something is not right.


I would like to pinpoint my experience in looking at Root Cause Analysis for reducing defect injection while development. You will get frustrating experience when you look at the causes recorded in the Defect Database. You will find that most of the recorded causes are irrelevant. They do not lead to simple solutions which can be tackled for improving the outcome. In some cases it might, but generally it does not. It’s not that the team does not understand the concept. It is because of the team’s ability to understand the problem in simple terms. I have spoken about lack of expertise in the team due to environmental issues.


Management has to put an effort to optimize the expertise available in the company. I recommend the following steps:
1. Within a group of 10 development resources, the team should have a person who has the following qualities.
· Ability to guide the team
· Ability to go to the root cause.
· Ability to break the defect reasons in a set of simple causes which can be acted upon.
2. Identifying the causes is a continuous exercise. We have to start with a set of well thought causes and club sundry under “Miscellaneous”. Miscellaneous should not account for more than 20% of the problems. If miscellaneous accounts for more than 20% of failure then you need to revisit the causes listed and get to the bottom of it.
3. Look at 80% defined causes. Remember they have to be simple like “Exception Failure” and “Cosmetic Defects”. Cosmetic defects sometimes appear generic but if you take up with the stake holders and define a set of guidelines then programmers can be trained on them. If you are able to identify simple common causes then you know that the solution is simple.
4. Once you come with remedial actions, do a mapping of actions with the causes. Remember actions cannot be 10 or -20.It has to be max 5 or preferably three.
5. Continue these steps. There is a very common saying, “It is easy to preach than to practice”. Similarly, Let us not forget preaching is simple but execution is the toughest. You have to keep an eye on the target and keep on trying until perfection is achieved.

Sometimes it could be a challenge to get a Key resource or a Kingpin. The PM or the trailblazer has to take the responsibility by helping the team to either identify a Key resource or to get one. If you do not have an ALL Set person then look for someone who has the passion and willingness to learn. Coach him\her. It works.


It reminds me of a Hindi couplet (stanza)


“Karat Karat Abhayas ke , Jad mati hot suzan
Rassi abbat jaat ke Shil per parat Nissan.”

“If one keeps on trying time and again one will succeed like a soft rope which creates a deep impression on rocky walls of water well.”


Theres an American proverb~ “Success is a ladder you cannot climb with your hands in your pockets”. It points to the Importance of Practice on Success as found by Gladwell without specifying the magical 10,000 hours mark.

1 comment:

  1. Just quick points. I would prefer to modify the title of your blog as "Finding Simple Answers to SIMPLE problems ... ". The key is to ensure the problems are resolved when they are simple. A problem is never complex when it is born, however unattended it becomes a monster and teams find it difficult to find a simple solution to it.

    As one of my customers said, "Success is accumulation of small wins". You won't require a WAR if you ensure cold Battles are difused in time.

    It is the job of the leader to foresee the problems and ensure they are resolved before they hit you.

    Talking about Root Cause, you probably will not require one if you solve the simple problems. But human is to err and RCA is to find the cause.

    ReplyDelete