# Product

1. Start by adding typical enterprise features&#x20;
2. Listen to the needs of your heaviest users&#x20;

## Commercial MVP&#x20;

A minimum viable product is the simplest version of a product that can be sold. The goal of an MVP is to collect customer feedback with minimal effort and avoid building products that customers don't want.

It is important to start talking to customers early on and throughout the lifetime of a company. They will help provide insight into the problem that the company is solving, which should inform product development. Don’t make the mistake of building in isolation.

Customers buy solutions to problems, not features. By [identifying and prioritizing the needs of your heaviest users](https://opencoreventures.com/blog/2023-03-dont-listen-last-requirement/), you can develop products that address your customers' most pressing problems. Understanding these problems deeply requires iterative development to refine how you meet customer needs.

## Deciding first features

You don’t need to reinvent the wheel to get started creating enterprise features. [**EnterpriseReady.io**](http://enterpriseready.io/) is a great resource that identifies which enterprise features to build first by providing a research-backed roadmap of the 12 most valuable enterprise features, based on studies of successful SaaS companies. Founders can use the self-assessment tool to benchmark their product, receive specific implementation guidance with real-world examples, and prioritize development efforts that will drive enterprise adoption and revenue.

To improve the existing product, product features should be weighted based on their source in listening to customer feedback and informed by customer discovery, and not necessarily on the frequency of requests.

1. Ideas for features and functionality can come from users, but the result of what the product will do is defined by the product team. 90% of the product scope will come from the product team.
2. Prioritize feature requests based on effort vs value. Focus on high-value low low-effort changes.
3. Working closely with large customers tends to yield the best new features. Large customers have knowledge, expertise, and ask for things that other customers want.

The heaviest users will give the best feedback. They understand the limitations of the software and will be more likely to have submitted pull requests for modifications and issues. Visibility into that feedback through contributions by heavy users is an advantage of open core products.

[Potential customers never buy because of product features](https://www.inc.com/geoffrey-james/6-ways-to-convince-customers-to-buy.html). Overvaluing the requirements of a potential customer can be a high effort and deprioritize more meaningful improvements. Someone who has never used your product can’t really know how to make it better. Sales requests are important, but they will not make up a significant amount of feature development. Product and sales should have a list of the 5-10 most important requests that they revisit every quarter.

## Premium/Enterprise releases

A premium or enterprise release for an open core company will usually be a version of that software that includes a software as a service (SaaS) option (which is hosted) in addition to source available and open source versions.

On-premises offerings with releases should be evaluated on a case-by-case basis for companies and are generally more useful for infrastructure projects. Certifications and data locality can represent a challenge for implementing on-premises offerings, along with the possibility of functionality degradation. [Replicated](https://www.replicated.com/) helps software vendors with the delivery of on-premises solutions.

## Professional support & services

In the early stage of a startup’s product development phase, your R\&D efforts may look like professional support and services. Utilizing professional services engagements for R\&D efforts should focus on building features that have the potential to be relevant to other customers.

{% embed url="<https://youtu.be/AYE0Hqej-kA>" %}

## Avoid second-system syndrome

Second system syndrome refers to the tendency to overcomplicate and over-engineer a new version of a product or system. This syndrome occurs when the creators of the second system try to address all the perceived flaws and shortcomings of the first system, resulting in a bloated and ineffective solution.

1. **Focus on the core functionality:** Identify the most critical features and prioritize them over secondary or nice-to-have functionalities. Keep the system lean and focused on delivering value to users.
2. **Iterate and gather feedback:** Instead of aiming for a perfect and fully-featured system from the start, adopt an iterative approach. Release early versions of the system, gather feedback from users, and make incremental improvements based on their needs and preferences.
3. **Stay aligned with user needs:** Continuously engage with users to understand their requirements and ensure that the system remains aligned with their needs. Avoid adding features or functionalities that are not directly relevant or valuable to the target users, and avoid building in isolation.
