This article is a part of series
Today more on practical meta-approaches: effective problem solving techniques which I managed to capture over time as they manifest themselves in work & life.
Root cause analysis (RCA) via deep dive aka 5 whys
You ran into a problem: something goes sideways. More formally some process metrics are out of tolerable bounds – either outcome-related or related to the process itself. You need to find out how to fix it.
A useful technique in this case is deep dive / 5 whys. You ask the question “Why does this problem occur?” and write down some answer. It’s likely to be some symptom rather than the root cause, so you uncovered a layer of the problem. Then you ask the next why to that answer, likely analyzing & gathering more info to answer the next why.
Repeat at least 5 times or more. You’re likely to end up with a great RCA.
Example: your latest deployment to production contains a critical bug. Here’s an imaginary deep dive / 5 whys for this case:
- Why does the latest deployment to production contain a critical bug? Because quality assurance (QA) wasn’t able to discover it.
- Why did QA fail to discover a bug? Because it didn’t reproduce in staging environment.
- Why the bug doesn’t repro in the staging? Because QA lacks a test case for this scenario.
- Why does QA lack the test case? Because the scenario wasn’t provided by the product owner (PO).
- Why didn’t PO provide the scenario? Because it’s not captured by the analytics.
- Why doesn’t analytics capture the scenario? Because popups aren’t tracked.
How to fix: enable tracking of popups in the analytics.
Weighing out options for an important decision
You have to make an important decision. Options are blurry and it’s unclear what to choose. You hesitate to proceed.
Write down all options you can think of including “meaningless” ones like “do nothing” – at least two but ideally at least three. Brainstorm pros & cons for each. Try to make stand out “scales” pros & cons sit on aka decision factors. It’s likely will become much more clear what to choose.
Example: your try to pick RDBMS for a new system. Here’s an imaginary important decision sheet:
Which RDBMS to choose for the new system?
- Option 1: MySQL
- Pros: moderately problematic to set up
- Cons: not that great compliance with SQL standards
- Option 2: PostgreSQL
- Pros: super compliant with SQL standards
- Cons: most difficult to set up
- Option 3: SQLite
- Pros: super easy to set up
- Cons: can’t be deployed on a separate host
Decision factors:
- The amount of effort to set up
- Compliance with SQL standards
- Ability to deploy on a separate host
We choose PostgreSQL – that’s the best option based on pros & cons per decision factors for our case.
Problem solving techniques: goal bundling
You think of doing something you believe will be useful but you lack the motivation.
Think of related goals you can “bundle” into the activity to make it more appealing.
Example: taking a walk for an hour will be useful for your health but you feel lazy. You remember some store around 30 minutes of walk from your place where you wanted to buy something. There’s also a problem you need to wrap your head around at a slow pace.
You end up with an appealing plan: take a walk to the store and buy the stuff and think about the problem on the way there & back.
More of problem solving techniques later
Enjoyed? Stay tuned for more – we’re going to look into 3 more meta-approaches for effective problem solving in an upcoming article.