In the world of software, problem solving is essential to continually evolve and develop products or services. Iâ€™m not referring to fixing defects in the software, but my long-held view is that software must always provide the customer enough value for them to invest their time and money on it.
The value being that a challenge is solved by what the software can do functionally. For example, it might reduce costs or save time by making things quicker and less prone to error, or automating mundane processes to allow time for more revenue-earning activities.
The key point is: Everything that a software provider does or creates, relating to their product portfolio, must bring value to someone. It must help solve the customerâ€™s most important challenges.
I have a master list of all the ideas and areas that represent customersâ€™ challenges and potential solutions we could develop and deploy to help solve those challenges. Internally, this is known as my product road map â€” something I update with new ideas and solutions and priorities based on meetings and conversations with customers and prospective customers. During these discussions, I always learn something new about their challenges and pain points, and it is my mission to solve these.
The items at the top of my roadmap are those that represent the biggest pain points for the majority of customers and prospective customers. These items are the first to be developed. Iâ€™d like to note, this ranking is not in terms of the effort to provide a solution but are those that represent the biggest value to most customers.
Sometimes the work required to provide a solution to a challenge is large and complicated. In these instances, you donâ€™t want to try and â€śboil the ocean.â€ť It would take too long and probably be too big a change for the customer all at once. Plus, thereâ€™s the potential the solution loses focus and misses the key requirements.
If itâ€™s a project thatâ€™s particularly large or complex, I break it down into smaller pieces to see if I can provide what I call a â€śminimum viableâ€ť solution. This means starting with small improvements and getting feedback from customers to see how it can be further developed, eventually encompassing the whole challenge. Again this feedback is added to the road map and prioritized. It eventually flows through the process, culminating in software functionality that adds value.
Prioritizing the challenges in terms of value is the most important thing to get right. Breaking down the larger pieces of work makes them more manageable and ensures you focus on the most valuable challenges that will have the biggest impact on the success and growth of your customer base.