Tag: software development

  • Is The Problem Likely To Change Or Evolve – A Moving Target?

    Is The Problem Likely To Change Or Evolve – A Moving Target?

    One of the early assessments needed in solving a problem is whether it is a moving target. In particular, business problems often change or evolve while we build solutions. These changes can be upgrades to tools, compliance changes, or the winds of change many businesses navigate. While the problems may be good ones to face (e.g., your business is growing faster than expected), they still can impact your approach to solving them. Thus, we have items to consider that may be simple but can be difficult to judge.

    A True Moving Target

    One challenge in answering this question is determining what contributes to a moving target. For example, business growth is expected, as are product changes and upgrades. However, some changes can be quickly adopted, and others require changes to the architecture. Likewise, there are decisions made for performance and user experience reasons that can be impacted. A typical example is the customer’s address. We can often add a third address line or c/o field quickly. On the other hand, support for multiple address types (i.e., home, billing, shipping, etc.) can be complex and costly.

    Will This Ever Change?

    The question I always find invaluable when discussing a solution is, “will this ever change?” We make decisions based on whether we will need to account for change or not. While this occurs with areas like address types, it also applies to business growth. We often started a solution where a customer was simply a customer and later had to adjust. For example, a customer has to support a group of customers (i.e., an organization with multiple sites), which impacts billing, invoices, fulfillment, and so much more. It is always safest to assume things will change. However, that can lead to over-architecting a solution. This is a question that needs careful consideration.

    Planning For The Future

    We previously asked what a perfect solution looked like. That is hard to answer. In the same way, it is hard to plan for the future entirely. However, most businesses grow and evolve. That should not be haphazard. There should be a plan and roadmap for where the company wants. These plans are critical in the determination of whether a problem is going to change or evolve. A complex solution that accounts for today and the future is not as difficult to solve as a moving target. The goal is to identify areas where we need to be more flexible.

    Improve Software Success

    We have an e-book that can help you explore all the steps in building software, including a few templates. All we ask is that you share an e-mail address so we can send you a copy. We add you to our monthly newsletter, but you can unsubscribe anytime. Your data is not shared with anyone else. Learn more about our book here.

  • What Is The Perfect Solution To Your Problem

    What Is The Perfect Solution To Your Problem

    Once you define your problem to solve you are ready to dream about that perfect solution. Perfection is hard to achieve. However, it is helpful to have a goal that aims high. If we fail to ask for everything we want, we can miss out on excellent opportunities. There are many reasons to cut back on our ask. These include cost, time, budget, and even practicality. On the other hand, I have surprised many customers and product owners with what is possible. Do not underestimate how far and fast technology progresses.

    Yes, The Perfect Solution

    We can spend a lot of time discussing how no solution is perfect. Yet, it is worth the time to think through what an ideal solution looks like. This is a step that many overlook. However, it can cause scope changes and headaches once the project starts. A solution can sometimes be like an onion, where you must work through a layer to see the one below. We find this in business problems where a primary pain point overshadows lesser issues that we still want to solve. A simple example is sales. We can focus on how we sell a product and ignore fulfillment, only to find that we have challenges in fulfilling products once we get that sale.

    This exercise also aims to “shoot for the moon.” We can always scale back or reduce the scope if something is too costly. Yet, when we aim too low, we can put a solution out of reach because it costs too much to add later. We see this in buying a computer. It is often far less expensive to start with more memory or storage than add that on later. The results are helpful even when we do not implement our perfect solution. The design process can leave room for that future enhancement or feature. When we fail to think about a feature, we often fail to provide a way to add it later.

    How Do I Consider A Perfect Solution?

    We often start our project so far from perfect it is hard to imagine what that looks like. That makes the envisioning process a challenge, and we need to be thorough as we do so. Thus, here are some suggestions for peeling the onion.

    • Think of it as an outline of your process, and list your main pain points.
    • Start with a solution for each point. Then, what a perfect solution would be.
    • At each solution, ask, “and then what?”
    • There will be “sub” pain points to solve.
    • Repeat this process until you have exhausted every point.

    How Do I Know When I Have Arrived?

    The process above could technically go on forever. On the other hand, there is a practical limit you can hit. We can consider a single pain point of selling a product. We will keep it short and take one path. First, we find a potential customer. Next, we convince them to buy the product. Finally, we deliver the product. Solving those three items would be helpful. However, let’s drill down on the first item. We find a potential customer and ask, “and then what?” We need to contact them, find the decision-makers, and set up a sales call. When we find the decision-makers, we need to research their needs and craft a message that speaks to them. We have probably found a leaf for our path and can move to another branch.

    Know Your Process In Detail

    All of this points back to your processes being understood in detail. Not only do you need to know the steps needed to get from A to Z, but you also need to be able to communicate them. When we get through this activity, we can examine the layers of our “onion” and envision a perfect solution. Assume you have one detailed wish to be granted. Why not be as thorough as possible? If you want to see the many ways things can go wrong when you fail to ask for a solution properly, check out any movie or story about someone having a wish granted, but things go off the rails.

    Practice Makes Perfect

    Ok, perfection does not come from practice, but improvement does. We have worked on numerous projects and solved countless problems over the years and are happy to help you with yours. Even a short consultation can help you get your creative juices flowing and improve your ability to ask for a perfect solution.

    Improve Software Success

    We have an e-book that can help you explore all the steps in building software, including a few templates. All we ask is that you share an e-mail address so we can send you a copy. We add you to our monthly newsletter, but you can unsubscribe anytime. Your data is not shared with anyone else. Learn more about our book here.

  • How do you currently solve your business problem?

    How do you currently solve your business problem?

    We must start with our current approach as we continue to delve into a process to solve our business problems better. Thus, we must ask our next question: How do you currently solve your business problem? We started with a definition, but now we assume that there is some current solution. For example, we want fast fulfillment of our products. We are currently fulfilling orders, even if not in the best way, and that is our starting point.

    The Goal of Answering: How do you currently solve your business problem?

    It is not uncommon for us to look at a question like this and think it is either redundant or unnecessary. We know the current approach is not what we want, so why should we spend time on it? The answer is that we often find missing details for our problem definition. You have experienced it if you have tried describing a process to someone and had an “oh yes, I forgot about that detail” moment. We can gloss over important details when we describe a process. That is where a good interviewer will help you nail down specific requirements. They can help break down assumptions and find constraints that have been forgotten or hidden.

    Addressing “We Always Did It That Way”

    There is a story about a congregation that always stood up and faced a blank wall when they said the opening prayer. This was a scene that appeared to have some ritual meaning. Eventually, the new pastor asked why they did so. He felt it was something he was missing that would help him better understand his congregation. It took a while to track down the deeper meaning behind this “ritual.” It turns out they used to have the words of the prayer on the wall. When they got to that part of the service, everyone would read from it. However, the words faded over the years, yet the habit was so strong that it stuck with the congregation. New members just joined the crowd when they stood and turned.

    There are business practices like this. Sometimes they have critical requirements as part of them, and sometimes the original requirements faded long ago. A typical business example is a need to generate a report that no one uses anymore. Another example is a process step required for a no longer-used vendor. These can lead to firm requirements until we dig into the “why.” Then, that digging can show us it is not a requirement.

    Documenting The Process

    The ultimate goal of answering “How do you currently solve your business problem?” is to ensure we have all the steps required to solve the problem and understand each. In addition, we must have the process repeatable before we can automate and tune it. Thus, we need to know the inputs and outputs for each step along the way. That helps us ensure our proposed new solution can match the “correctness” of the current solution. However, we might also improve the quality of some steps by simplifying and reducing opportunities for errors.

    A typical example of this sort of improvement is a shipping/billing address. Many systems have a couple of places where an address is entered into the system, and each entry point is an opportunity for a mistake. There are legitimate reasons to enter the same information again, but those are also areas where systems are improving. Vendors that require a manual entry in a portal now may accept orders via email or other digital delivery mechanisms that your systems can utilize. That can speed up your process and reduce potential mistakes. However, it is not an option unless we know that the “entry via portal” step is not required and the digital option serves the same need.

    Signing Off On This Question

    You want to be sure you have an answer to this question before moving forward. Fortunately, the testing of whether you have one is straightforward. Once you think you have this answer, you will have a series of detailed steps that currently address the problem. Those are the current solution and can be verified by walking through each step with an example piece of data. The results should be exactly what you expect. For example, say that the problem is going from order to fulfillment, invoicing, and payment. Create a test order, walk through each step of your process, and ensure you can go through to the end without error. That may seem tedious or a waste of time. However, it will save a lot of potential issues down the road that will cost time and money that you can spend elsewhere.

    Improve Software Success

    We have an e-book that can help you explore all the steps in building software, including a few templates. All we ask is that you share an e-mail address so we can send you a copy. We add you to our monthly newsletter, but you can unsubscribe anytime. Your data is not shared with anyone else. Learn more about our book here.