Learning Note: Problem Solving Skills for SWE - P1
A quick note of Grokking Techtalk #44 - Problem-Solving Skills for SWE
This note is not cover the whole tech talk content. It is just a quick note to highlight the important points. It is useful when you already listened to the tech talk.
Who has the problem?
The stakeholders:
- Clients are the people who buy your product, or solution.
- Users are the people who use your product directly.
What is the problem?
A problem contains two components:
- The expected reality of the stakeholders.
- The perceived reality of the stakeholders.
Solving the problem is filling the gap between the realities.
Problem definition
To define the problem we have to answer these questions?
- What is the problem?
- What is perceived reality?
- What is the expected reality? Is it clear?
- Who is involved in the problem?
- How important is the problem?
- When does the problem needs to be solved?
- Is there really a problem?
Principle: Problem definition should be at the highest abstraction level that appropriately describes the situation.
Causal Analysis
Knowing what causes the problem.
- Draw a causal diagram to define the causes.
- Draw the casual loop diagram to learn the non-linear casual relationship. (System Thinking concept).
- Ishikawa diagram.
Common mistakes
- Forget that problem is inherently a human thing.
- Forget to choose the right problem to solve.