Things you need to consider before you build
The most inefficient way to build software is through trial and error. This approach not only wastes energy but also squanders your most precious resource—your time. Yet, this is how most founders and businesses set out to build, whether intentionally or unintentionally.
I'm not suggesting that one needs to know everything before starting to build or that you can't run calculated experiments. What I mean is that without a proper plan—including systems and processes to move you forward—it's just trial and error. This approach will cost you not only money but also time.
Here are a few questions to consider before you start building:
1. Why is it important?
Ask yourself: Why does the world need what you're trying to build? If your answer isn't compelling enough, don't waste your time. There's no shortage of products the world doesn't need. Just check your phone for apps you've installed but never used. That's why it's crucial to ask yourself this question.
I apply this questioning not only to the product I want to build but also to its individual features.
Here's a framework I usually follow:
Who: Describes who the thing you're building is for
What: Describes what the thing is
Why: Describes why the thing you want to build is important
2. What will it take?
Once you're clear on the "why" of your value proposition, the next step is to understand what it will take to build it. In software development, this step is usually called refinement. This stage is where you dissect the requirements of the value proposition. You set and clarify an acceptance criteria, which defines how you will know when the thing you set out to build is done.
Once you're clear on the requirements, it becomes easier to determine what it will take. To do this well, you'll need input from experts such as developers and designers to give estimates of the required effort. Keep in mind that estimates are just that—estimates. Plan for worst-case scenarios.
Good estimations consider the following:
How much effort will it take to build the thing?
How much effort will it take to test the quality of the thing?
How much effort will it take to document how the thing works?
How much effort will it take to get the thing into production (in the hands of your customers)?
3. What will success look like?
It's crucial to clearly define what success will look like when your product is complete and in the hands of its intended audience. Will it result in increased sales, higher user engagement, or more leads? Whatever the desired outcomes are, they must be well-defined, and steps should be taken to ensure they can be achieved.
Getting your product into customers' hands is just the beginning of an opportunity to delight them repeatedly. Consider how much time they're spending with it. Do they use it once and never return, or are they recommending it to friends?
Final thoughts
These considerations can significantly improve your chances of success in building software products. One crucial point I've saved for last is the importance of systems and processes to facilitate your journey. To build effectively, you need clear systems and processes that everyone involved in bringing your vision to life can follow.
You should be able to gauge progress toward your goals at any given time. The right systems and processes not only inform you about the required resources, but they also drive the quality of your software product.
PS
If you've made it this far, thank you for your attention.
I've been building software for over 15 years and would love to share my experience and expertise with more people like you.
If you have friends or colleagues who might benefit from posts like this, please encourage them to follow me on LinkedIn or subscribe to my newsletter.