Jonathan Bennett

How to define your features

Non-technical founders often make the same mistakes when they first start working with developers. These aren’t just annoying — they waste time, drain energy, and, worst of all, they don’t actually create value.

One of the biggest mistakes? Not having a clear definition of what you actually want. This leads to misaligned work, products that miss the mark, or over-engineered solutions that solve nothing.

So what should you actually include? Here’s my checklist:

1. A Clear Description of the Problem

The most important thing you can do is define the problem you’re trying to solve. But here’s the key: this needs to be from your customer’s point of view. Forget about how you might solve it — for now, focus purely on the problem. Answer these questions:

  • What’s the problem?
  • How painful is it for your customers?
  • How often do they face this issue?
  • What’s it costing them in terms of money, time, frustration, or uncertainty?

The clearer you are here, the better your developer will understand what needs to be addressed.

2. A Clear Description of the Solution

Once you’ve described the problem, you need to articulate how you’ll solve it. But this isn’t just a “magic bullet” answer — it should be directly tied to the problem. Ideally, your solution addresses the core pain points as directly as possible.

Remember, you might not be able to fix everything in one go, but the more you can address, the better. A clear connection between the problem and your solution helps the developer understand exactly what they’re building and why.

3. Strategic Value for Your Company

It’s not enough to just build a product — you need to understand the strategic value of each feature. While it’s easy to say, “This feature will improve the product and keep customers subscribed,” you need to dig deeper.

  • Will this feature help differentiate you from competitors?
  • Can it be used as a marketing tool?
  • Does it open up new opportunities for future growth or scalability?

The more strategic your thinking, the better you can guide your developer to deliver something that aligns with long-term goals.

4. Avoiding Rabbit Holes

Let’s be honest: as a founder, you’ll want to debate everything. However, there are topics that won’t make a significant difference to the end product, and spending time on them can waste precious resources. These are rabbit holes, and they should be avoided.

For example:

  • UI colours: Arguing over whether a button should be blue or green won’t move the needle. Focus on usability instead.
  • Technology stack debates: Unless there’s a compelling reason, arguing over which database to use in version 1.0 is a distraction.

If a decision doesn’t directly impact the customer or business, don’t get stuck there.

5. No-Go Topics (For Now)

Some topics will inevitably come up during the development process. They might be important, but they aren’t relevant to your immediate goals — these are no-go topics. The key here is identifying them quickly, moving them aside, and saving them for a later stage in development.

For instance:

  • New features for future versions: Focus on version 1.0 first. Anything beyond that can wait.
  • Detailed marketing strategies: You need a product first before you start thinking about how to sell it.

By clearly defining these boundaries, you help your developer stay focused on what matters most right now. Put a pin in these discussions and come back to them later when the time is right.

Conclusion

By providing your developer with a clear and detailed understanding of the problem, solution, and strategic value, you set the stage for a much more effective collaboration. This not only ensures the right product gets built but also saves everyone time, effort, and frustration.