Notes · before you start
Should this exist at all?
The questions I ask before anything gets built. Models now write much of the code, so building is quick and cheap. That moves more of the cost and risk into deciding what to build.
-
01
The problem
A problem worth solving has as many of these as possible. These and the next questions come from a Y Combinator talk on evaluating startup ideas.
-
Popular
Many people have it.
-
Growing
More of them every year.
-
Urgent
They want it solved today.
-
Expensive
It costs them enough that they’ll pay for a solution.
-
Mandatory
They have no choice, for example because the law changed.
-
Frequent
They run into it often.
-
Popular
-
02
The solution
Don’t start with a solution looking for a problem. Ask whether it scales. And write it down, in clear, concrete and short sentences. A clear description also helps against feature creep.
For a model The written-down solution is also the first draft of the spec a model will build from.
-
03
The unfair advantage
Why hasn’t someone solved this already? You want as many of these as possible on your side.
-
Founders
Are you the ones who can solve it? Can you build it? Can you sell it?
-
Market
Is it growing?
-
Product
Is it ten times better than what people use now?
-
Acquisition
How do you get customers? Is paying for ads the only way?
-
Moat
Do you get stronger as you grow? How hard are you to copy? Is there a patent?
-
Founders
What sinks projects
Common factors that can lead to project failure, even when the idea is good.
- No project manager who is dedicated, experienced and actually active.
- No project owner, or too many of them.
- Not enough domain knowledge.
- Incomplete requirements.
- No realistic deadline.
- Too much new technology that nobody on the team has proven or tested.
- Too many features. This one is new with LLMs. A model makes every feature cheap to build, so it’s easy to say yes to all of them. But each one still has to be specified, tested, maintained and understood, and the features interact with each other.
- No issue tracking. See one issue is one issue.
What helps
- Hold a kick-off meeting, then regular short syncs.
- Keep iterations short.
- Release a static prototype early.
- Don’t optimise too early.
- Refactor early.
- Make sure testing covers the complete product and every use case.
Nabla, Samo Fortuna s.p.