Ingap.dev - A Personal Dev Blog

If you don't get the requirements right, it doesn't matter how well you do anything else. (Karl Wiegers)

Published on Friday 31 March 2023

Tags: problem-solving2 notes2

Problem Solving 101: A Beginner's Guide

Problem solving is a crucial ability that can be applied in any profession as well as in our daily life. Various fields such as engineering, business, medicine, mathematics, computer science, philosophy, and social organization have their own specialized techniques and methods. Let's explore the general problem-solving process more in details.


Table of Content

  • A General Approach
  • (Step 1) Define the Problem: specific, relevant, measurable.
  • (Step 2) Generate ideas: divergent thinking.
  • (Step 3) Evaluation
  • (Step 4) Selection
  • (Step 5): Implementation
  • Strategies for Decision Making
  • Top-down or bottom-up?
  • Problem-solving is a critical skill that can help us navigate the challenges we face in our personal and professional lives. While every problem is unique and requires a tailored approach, there are some general steps we can follow to improve our problem-solving abilities.

    A General Approach

    (Step 1) Define the Problem: specific, relevant, measurable.

    The first step in solving any problem is to clearly define it. But remember that finding "amazing" solutions to wrong problems can be quite frustrating, later.

    Take your time to understand the issue at hand and gather as much information as possible. Ask yourself questions like: What is the problem? Who is affected by it? What are the potential consequences if it is not solved? You can learn more about the problem by gathering information from sources such as conversations, data and observations.

    It's very important to make sure that the problem is specific, relevant, and measurable. To accomplish that, it's helpful to break it down into its basic components, eliminating superfluous details.

    Example #1

    Your company's customer satisfaction ratings have decreased by 15% over the past year. You need to identify the root cause and implement a solution to improve customer satisfaction.

    This is a relevant problem, since the business depends on customers, which means not solving it may lead to bad consequences. Here you're not dealing with the "company success" in general, but considering something specific. Furthermore, customer satisfaction is measurable through surveys.

    Example #2

    The production line at your manufacturing plant has been experiencing frequent downtime, resulting in delays and increased costs. We need to determine the underlying issue and implement a solution to improve efficiency and reduce downtime.

    Also in this case, the relevant issues of not solving the problem are evident (e.g. increased costs and delay) and it's both measurable and specific.

    Example #3

    Our sales team has been consistently missing their monthly targets. You need to identify the reasons for this underperformance and implement a solution to improve sales performance.

    Sales performance is measurable too and specific to one department. Therefore, we can proceed for example to start asking more questions to the sales team and check if they've already gathered some customer feedback.

    Example #4

    The high school dropout rate in our city has been steadily increasing. You need to identify the reasons for this trend and implement a solution to improve student retention and graduation rates.

    Example #5

    The new software system we developed has been experiencing performance issues and frequent crashes. Event logs, structured databases and network performance measurements are available for your investigation.

    Example #6

    The energy bills for our home have been steadily increasing despite no significant changes in our usage patterns. We need to identify the cause of this increase and implement a solution to improve the energy efficiency of our home and reduce our energy costs.

    (Step 2) Generate ideas: divergent thinking.

    There are many methods for finding solutions to problems, but not always it's possible to use some of these tools (which we will see later), because they are designed for specific kind of applications. Sometimes we just need to feel more "creative".

    I would spend 55 minutes defining the problem and then five minutes solving it. (Albert Einstein)

    One common method to generate ideas is the brainstorming, which involves generating a large number of ideas in a short amount of time. Still, our brain can prevent us from from finding creative solutions to problems because of cognitive biases, like the status quo bias (resistance to change and tendency for people to prefer familiar things), the egocentric bias (overestimating the importance of its own perspective) or the availability bias (relying on available information which is easily remembered or comes to mind quickly). Therefore it's very helpful to carry out a brainstorming session with different peoples. Seeking feedback from others and considering multiple perspectives can also help us overcome our biases.

    Start conducting research to gather information and data, consulting with experts or colleagues.

    Divergent thinking is a type of creative thinking that involves generating multiple, unique ideas or solutions to a problem. Some techniques can help you boost your divergent thinking:

    • USE: come up with all (unusual) ways to utilize an object.
    • SUBSTITUTION: think of swapping "parts" with something else to achieve a non-optimal result.
    • COMBINE: imagine to put things together that have not been put together yet.
    • EMULATE: observe different processes (e.g. in biology, industries) to get inspired by. How did other contexts solve the same problem?

    Some more input ideas...

    • Before thinking that a procedure doesn't work, check if it's applied correctly.
    • We only think about what we know, so start learning more.
    • Try to change perspective.
    • Avoid unnecessary elements.
    • Don't only trust opinions. Understand and check their logic.
    • If something fails, start from the most likely point of failure.
    • What are all possible conditions, factors, events leading to the same problem?
    • Use a tool in a different, non-conventional way.
    • Shift the problem somewhere else, where it's not a problem anymore.
    • Why I do X? To obtain Y. Can Y be obtained in different ways?
    • If the rule to understand is too complex, try to derive it from an example (inductive process).

    There are several techniques you can use to generate new ideas:

    • Breaking old thinking patterns. Break away from established patterns of thought and start to see new paths ahead. Challenge your assumptions and rephrasing the problem.
    • Making new connections. You can use random words, picture prompts, or objects of interest to force your mind to make new connections.
    • Mind mapping. It involves creating a visual diagram that starts with a central idea and branches out into related subtopics. Similarly but more structured, the Lotus Blossom technique involves placing the problem in the center of a 3x3 matrix and adding related themes around it.
    • Reverse brainstorming. Instead of asking participants to come up with great ideas for improving a process or achieving a goal, you ask them to instead brainstorm ways to absolutely undermine a process or make a goal impossible to achieve. This provides the group with useful information about what isn't working.
    • SCAMPER technique. It helps you generate new ideas by asking seven types of questions:
      • Substitute: What can be substituted in the product? E.g. Can we substitute the graphite in the pencil with another material?
      • Combine: What can be combined with the product? E.g. Can we combine the pencil with an eraser or a pen?
      • Adapt: How can the product be adapted or altered? E.g. Can we adapt the pencil to write in different colors?
      • Modify: How can the product be modified or improved? E.g. Can we modify the shape of the pencil to make it more ergonomic?
      • Put to another use: How can the product be put to another use? E.g. Can we put the pencil to another use, such as using it as a hairpin?
      • Eliminate: What can be eliminated from the product? E.g. Can we eliminate the need for sharpening by making a mechanical pencil?
      • Reverse: How can the product be reversed or rearranged? E.g. Can we reverse the way we hold and use a pencil to make it more comfortable?
    • Six Thinking Hats. It involves six distinct types of thinking, which you can do on your own or with your team. Each thinking style is represented by a different hat:
      • Blue Hat: organization and planning
      • Green Hat: creative thinking
      • Red Hat: feelings and instincts
      • Yellow Hat: benefits and values
    • Blindspot analysis. It is a method aimed at uncovering obsolete, incomplete, or incorrect assumptions. For example, one common type of blindspot is making Invalid Assumptions. To avoid this, you can list all of the assumptions used in your decision and check whether each one is valid. Another common type of blindspots is the Escalating Commitment, which involves refusing to recognize that something you've been doing just isn't working and continuing to invest time and resources into it even if it means abandoning a project you've been pursuing. Or also the Tunnel Vision, when focusing too narrowly on one aspect of a decision and ignoring other important factors.

    (Step 3) Evaluation

    After you have generated a list of potential solutions, it's time to evaluate them. Consider the pros and cons of each solution and weigh them against each other. Think about factors such as feasibility, cost, and potential impact.

    There are several methods that can be used to evaluate solutions:

    • Cost-benefit analysis. Compare the costs and benefits of different solutions to determine which one provides the greatest net benefit.
    • SWOT analysis. Analyze the strengths, weaknesses, opportunities, and threats of different solutions using a 2x2 matrix to determine which one is the most viable.
    • Decision matrix (My favorite one!). Creating a matrix that compares different solutions based on a set of criteria. Each solution is scored based on how well it meets each criterion, and the solution with the highest overall score is selected. It's important to chosse criteria which are "indepent" from each other to avoid giving too much importance to the contribution of particular aspects.
    • Pros and cons list. List the pros and cons of each solution to determine which one has the most advantages and the fewest disadvantages.
    • Pilot testing. Test a solution on a small scale to determine its effectiveness before implementing it on a larger scale.
    • Pareto analysis. Identify the 20% of solutions that will provide 80% of the benefits.
    • Risk analysis. Assess the potential risks associated with each solution and determine which solution has the lowest level of risk.
    • Feasibility study. Conduct a study to determine if a solution is feasible and practical. It involves assessing factors such as cost, time, resources, and technical requirements.
    • Impact analysis. Assess the potential impact of each solution on various stakeholders and determe which solution will have the most positive impact.
    • Scenario analysis. Create different scenarios to see how each solution would perform under different circumstances. It can help to identify potential challenges and opportunities associated with each solution.
    • Delphi method. Gather input from a group of experts to evaluate solutions. The experts provide their opinions anonymously, and the results are aggregated to determine the most preferred solution.

    Example #1 (SWOT Analysis)

    Imagine you are the owner of a small bakery and you are considering expanding your business. You conduct a SWOT analysis to evaluate the potential of this decision.

    Strengths: High-quality products that are popular with customers Strong brand reputation in the local community Experienced and skilled staff

    Weaknesses: Limited financial resources for expansion Small customer base Lack of experience in managing multiple locations

    Opportunities: Growing demand for artisanal baked goods Potential to expand into new markets Opportunity to diversify product offerings

    Threats: Competition from larger bakery chains Changing consumer preferences Economic downturn that could reduce demand for luxury goods

    Example #2 (Risk Analysis)

    Imagine you are the project manager for a construction company and you are planning to build a new office building. Before starting the project, you conduct a risk analysis to identify and assess potential risks.

    Some of the risks you might identify include: delays due to bad weather, cost overruns due to unexpected expenses, safety hazards on the construction site, changes in building regulations that could affect the project.

    Once you have identified these risks, you can assess their likelihood and potential impact. For example, you might determine that delays due to bad weather are likely to occur and could have a significant impact on the project timeline. In contrast, changes in building regulations might be less likely to occur but could have a major impact on the project if they do.

    Based on this risk analysis, you can develop strategies to mitigate these risks. For example, you might build extra time into the project schedule to account for potential weather delays or allocate additional funds to cover unexpected expenses.

    (Step 4) Selection

    Choose the best solution based on your evaluation, which you believe will be most effective in solving the problem. Keep in mind that there may not be a perfect solution, and you may need to make trade-offs.

    The Solution Selection Matrix - which is a type of Decision Matrix - is a tool specifically used to evaluate and compare potential solutions to a problem providing a structured approach to assess the positive impact of each proposed solution on reaching the goal as well as the relative effort, time to implement and cost.

    Example

    Let's say you have two potential solutions to a problem (Solution A and Solution B) to evaluate based on two criteria: cost and effectiveness.

    First, you would assign a weight to each criterion based on its importance. For example, you might decide that cost is less important than effectiveness and assign it a weight of 30%, while effectiveness is assigned a weight of 70%.

    You rate Solution A as having a low cost (score of 9 out of 10) and high effectiveness (score of 8 out of 10). You rate Solution B as having a high cost (score of 4 out of 10) and moderate effectiveness (score of 6 out of 10).

    Based on the importance of cost and effectiveness, the weighted score for Solution A would be (9 x 0.3) + (8 x 0.7) = 8.1. The weighted score for Solution B would be (4 x 0.3) + (6 x 0.7) = 5.8.

    Based on these weighted scores, Solution A is the best one to implement.

    (Step 5): Implementation

    Once you have chosen the best solution, it's time to put it into action. Develop a plan for implementing the solution and make sure everyone involved understands their role.

    There are several steps you can take to implement it effectively. These include:

    • Preparing the necessary infrastructure. Ensure that you have the required resources and systems in place to support the implementation of your solution.
    • Coordinating with relevant parties. Communicate with all organizations and individuals involved in the implementation process to ensure that everyone is aligned and working towards the same goal.
    • Providing training. Train all relevant personnel on how to use the new solution and provide them with the necessary resources and support.
    • Installing and testing the solution. Install the solution in a production environment and test it to ensure that it is working as intended.
    • Converting data. If necessary, convert any data from your old system to the new system.
    • Verifying the solution in production. Perform a final verification of the solution in a production environment before rolling it out to all users.
    • Updating processes and procedures. Update any processes and procedures that need to be changed as a result of the new solution.
    • Monitoring. Keep track of any changes or improvements and make adjustments as needed. Monitor the performance of the solution to ensure that it is working as intended.

    Strategies for Decision Making

    Decision-making strategies are approaches that individuals use to make important decisions. Since every situation is different, each of those provides a unique framework to address specific needs and requirements.

    Some examples are:

    • Analytical. Uses logic, data, and facts to make a rational decision. For example, a social media marketing expert might use analytics from previous advertising campaigns and data about their client's target audience to determine which social media platform has the highest return on investment (ROI).
    • Heuristics and Biases. Uses mental shortcuts or rules of thumb to make decisions quickly. For example, a person might choose a restaurant based on its proximity rather than its quality because it is easier and faster.
    • Fast and Frugal Heuristics. Similarly to the previous one, involves using simple rules to make decisions quickly and efficiently. But here, you stop to the first option satisfying your minimum requirements.
    • Naturalistic. This approach involves making decisions based on experience and intuition. For example, a firefighter might make a split-second decision based on their past experiences and training.
    • Consensus-based. Seeks agreement from all members of a group before making a decision.

    Top-down or bottom-up?

    When it comes to solve a problem, it's crucial to understand in advance whether we want to follow a top-down, bottom-up or mixed approach.

    Top-down

    In a top-down approach, the problem is broken down into smaller sub-problems, which are then solved individually. The solutions to the sub-problems are then combined to form the solution to the original problem. This approach is also known as stepwise refinement.

    It is similar to deductive reasoning in that it starts with a general principle or theory and then applies it to specific situations.

    Advantages of a top-down approach include:

    • Clear and structured way to break down complex problems into manageable sub-problems.
    • Allows for early identification of high-level design issues and potential problems.
    • Can be easier to understand and communicate the overall structure and design of the solution.

    Disadvantages of a top-down approach include:

    • Being difficult to accurately estimate the complexity and effort required for each sub-problem.
    • Leading to a rigid design that is difficult to change or adapt to new requirements.
    • Resulting in a lack of attention to low-level details and implementation issues.

    Example

    Suppose a software development team is tasked with creating a new application for a client. The team would start by identifying the overall goals of the application, such as improving customer engagement or increasing sales. They would then work backwards to determine what specific features or functionality would be needed to achieve those goals, such as a user-friendly interface or integration with other systems.

    Bottom-up

    In contrast, a bottom-up approach involves starting with the most basic building blocks and combining them to form more complex structures until the solution to the original problem is achieved.

    It is similar to inductive reasoning in that it starts with specific observations or data and then builds up to a general conclusion or theory.

    Advantages of a bottom-up approach include:

    • It allows for early testing and validation of low-level components and building blocks.
    • It can result in a more flexible and adaptable design that is easier to change or extend.
    • It can lead to a better understanding and handling of low-level details and implementation issues.

    Disadvantages of a bottom-up approach include:

    • It can be difficult to see the big picture and understand how the individual components fit together to form the overall solution.
    • It can result in a lack of attention to high-level design issues and potential problems.
    • It can lead to a more complex and unstructured design that is difficult to understand and communicate.

    Example

    Suppose a teacher wants to improve student engagement in their classroom. They would start by working with individual students to identify their interests and learning styles. They would then use this information to develop lesson plans and activities that are tailored to each student's needs and preferences.

    Mixing both...

    The best approach depends on the specific situation and needs of the software being developed. Often, a combination of both approaches is used, where high-level design is done using a top-down approach, while low-level implementation is done using a bottom-up approach.

    Example

    Suppose a city wants to improve public transportation for its residents. They would start by using a top-down approach to set overall goals and objectives, such as reducing traffic congestion or improving air quality. They would then use a bottom-up approach to work with individual residents and community groups to identify specific needs and preferences, such as the need for more frequent bus service or the desire for bike lanes.