Starting from Zero. How to start a software company from scratch?
I talk to a lot of people who want to start a software company and build a digital product. They have an idea but don’t know where to start and ask for my advice. I used to think spontaneously about their specific idea and generate a stream of conscience of thoughts, ideas and steps they could take based on my own experience. I realized quickly that this wasn’t particularly helpful and amounted to a giant stroke of my ego. I spent some time trying to come up with a better answer for anyone asking me this “where do I start” question. In my own life, I’ve found that adding structure to challenging questions is the most effective way to arrive at good answers. For me, this means coming up with a framework or set of steps for how to address the question.
In the context of “where do I start”, here is a simple framework that I hope will give clear guidance to those interested in building a software product and company.
1. Make a sketch. I’ve learned that ideas floating around in my head aren’t complete. Making a sketch will force you to think through many questions about your idea that you hadn’t yet considered and will also prepare you for step #2 which (in my opinion) is the most important step of all.
2. Do people want this? This may sound obvious, but 99% of the people I talk to skip this step or ask “Do I want this?”. In order to answer this question, you can use your sketch from step #1 and talk to a target customer/user of your future product. You can use the sketch as a reference to explain the idea clearly or do some preliminary user testing. The most important thing to figure out is if a prospective customer actually wants what you are contemplating building. Its completely insane how few people actually do this. Wouldn’t you rather know the truth now? Or ways you can modify your original idea to have higher odds of success. NOTE: A lot of people you talk to will lie because they don’t want to hurt your feelings. So you need to be creative in how you get the truth from the people you talk to.
3. Research sales/marketing channels & methods of analogous products. This will help inform what business models and marketing messaging are proven to be viable in this market or adjacent markets. Or if nothing has succeeded/exists yet.
4. Do the math. If you conclude people want your product, you should do some quick math to find out how many people want it, if they will pay and if it has any chance of being sustainable. Building a product people want != a business that can be successful.
5. Identify the core “leap of faith” assumption. This will be very much related to step #2. The “leap of faith” assumption will basically be the “this” of “do people want this?”. This step will help you take the much bigger product idea that you have in mind and narrow the scope down to be much smaller so you can have an actionable starting point. I have heard too many people ramble on and on about the imaginary features of their product ideas. Its virtually impossible to build a good product if its first version is a brain dump of your assumptions on what people want. It also makes the task extremely difficult for any designers and developers you may work with, not to mention the fact you can blunder a huge amount of money this way. The consulting firm McKinsey has a good method of breaking a problem down into its component parts called MECE (here is more detail on how it works: https://www.rocketblocks.me/blog/the-mece-principle.php) which may be helpful in identifying the key assumption of your larger idea.
6. Make a more specific and detailed sketch based on your new narrowed scope.
7. Build an MVP. Once you have done steps 1–6 (which you can do very quickly), you should stop talking and start building. In theory, this phase should not take a huge amount of time (or cost an excessive amount of money) because you’ve narrowed the scope to a well defined problem and product.
8. User test and iterate. After or even during the MVP development, start showing your product to users and have them use it. Avoid the temptation of saying “its not ready yet…I just need to finish a few more things”. NO. You do not need to finish a few more things. The sooner people use it, the sooner you will know if it has elements of what people want.
9. Product market fit. This is the ultimate question. Does there appear to be a market for your product? Will people pay for it?
If you follow these steps, I can’t promise that your product or business will succeed, but I can promise you will make forward progress towards finding real answers. I would also recommend not spending any money on third party services except on step #3 (spending on advertising or sales) if you can pre-sell or drive leads even before the product is developed or on step #6 (spending on software developers) to build the MVP. I believe you should be able to complete steps 1–6 within one week if you are serious.