You have identified a problem space that holds a lucrative
opportunity. Great job! But there’s still work to be done to turn an
idea into a product and eventually a viable business.
What should you do?
There’s the hard way, and there’s the long way. We often (myself included) follow the long way even though deep down, we know the hard way is the quickest way to find a product that can turn into a successful business.
This post is an attempt to break down the hard way succinctly—you can wake up tomorrow and start executing. Let’s get to it.
To create a software product from scratch, you need to:
Let’s break this down.
Engage potential customers to understand the problem deeply
This is the first test of whether you have a viable problem to solve.
Can you find 3 - 5 customers that are so inflicted by the problem
you're solving that they can't stop talking about it?
So, how do you do this? First define a user profile. Then, leverage
your network (ask for referrals), social media (i.e. LinkedIn), or
other proactive outreach methods such as cold outreach to connect with
people in your problem space.
Promise them that you’re not selling - and keep that promise. You’re
merely learning about their problems.
During your conversations with them, strive to
When you’ve compiled sufficient context about the problem, it’s time to craft a solution.
Craft a solution
Remember, you’re responsible for coming up with a solution - not your customers. Start with:
Your goal is to define a product that is both able to solve your customers’ problems as well as sustain a business. Of course there are a plethora of other product management activities you must do to ensure you have the right product (including market validation). However, doing the minimum above helps ensure you get as close to the ideal product as possible.
Execute product development cycles
We execute two dependent cycles: a software development cycle and an uncertainty reduction cycle.
A software development cycle is straightforward enough and your technical team can work you through it.
But let's touch on the uncertainty reduction cycle. It is a systematic process to go from muddy water to clear water. Clear water is necessary to see obstacles before they become problems.
There are three major types of uncertainties that you’ll face.
Make a list of the uncertainties that your product faces. Rank them in order of potential impact to your product and business.
Then every cycle (a week for instance), pick one or two of the highest impact uncertainties and together with your team, resolve them.
For risks, this means either transferring the risk (i.e. insurance), avoiding it, or planning for it. For unvalidated assumptions, you can validate them with deeper discussions with customers, research, carryout experiments or engage in data analysis.
For questions, you simply have to answer them by whatever means. Repeat until you have a product and beyond.
Go Forth and Build Software Products
You won’t get it right all at once, hence the need for iterations. Take it one step at a time, don’t rush. Pay close attention to the execution of your development cycles, especially the three major uncertainties discussed as they help in shaping your product.