A declarative approach to product management
In many enterprises, product management follows a traditional, imperative approach where the tasks to accomplish are dictated at the beginning of each cycle. Here, I argue that this approach is incompatible with building a focused product that does something exceptionally well and I propose an alternative, “declarative product management,” which borrows some ideas from declarative programming and control systems and applies them to traditional product management. The essential components of the approach include a product manifest, a control loop, and product status. This systematic approach forces product managers to state product attributes explicitly, ensures that the product possesses those attributes, and reports any gap between expectations and reality.
What’s wrong with the traditional approach to product management
The traditional approach to product management involves product managers defining and prioritizing specific tasks and deliverables for development teams to execute over a set period. For example, a car company product manager could have in its 6 months roadmap the following tasks to accomplish:
- Replace headlight from vendor X to vendor Y
- Fix intermittend door closing issue
- Remove optional leather seats option
- Add duck leather carpets
The product manager owns the product roadmap and guide the development process based on user needs and company direction.
Losing track of the vision
The first problem with this approach is that it does not ensure that the product being developed matches with its core vision. For exemple, if the car company observed a gap in the market for a small, inexpensive car with minimal technology and decided to develop such a car, there is nothing in the imperative approach that ensures that the steps being taken in product development bring the product closer to this objective. Instead, this approach allows for immediate issues, customer demands, and internal requests to take precedence over the stuff that really matters. It should be very very hard and very very visible when a product goes in a direction contrary to the vision; managing product changes imperatively does not allow for this.
Lacking flexibility
The second problem with this approach is that it lacks flexibility. Without a clear product description, the engineering team must often involve product management to ensure that technical decisions match product expectations. For example, if the product manager requested for duck carpets in the cars but the supplier can’t supply enough carpets for the number of cars intended to build, what should the engineering team do? The imperative approach does not allow for flexibility at implementation time. The engineering team then has to involve product management, and vouch for making changes to the roadmap.
A new model: Declarative Product Management
Here I would like to propose a new approach to product management that follows the controller pattern of thermostats and various software applications.
Product Manifest
The product manifest contains the following content
- Vision: The purpose of creating the product and the impact it should have on the world.
- Description: Description of the product (identity, category) and what it does (functionality, features).
- Key principles: A limited number of fundamental product qualities.
- Product Metrics: Objective measures relating to the key principles.
Product Status
The product status contains values for each metric defined in the product manifest, providing an objective picture of the actual product’s performance relative to the manifest. The engineering team is responsible for tracking those metrics. Ideally, those metrics are tracked continuously, automatically, and stored as time series. Metrics can also be tracked through a manual process when automation is impossible. The product status should be visible to the engineering team, product management, and company executives.
For example, a product with the key principle of “Ease of use” could have a metric “number of operations to get started”.
Control Loop
In declarative product management, the controller is the engineering team. The engineering team is responsible for monitoring the product’s state and making changes where needed to move it closer to the desired state.
Performance management
One added benefit of the declarative approach is that it makes it easy for an individual (or a team) to demonstrate that their impact directly led to a better product. For example, one can claim the following:
Because of the changes I made to the product, the number of operations to get started reduced by 37%, making it the fastest product to get started with in its category.
This data-driven approach will help engineering managers provide insightful and objective feedback to their team members.
Conclusion
In summary, declarative product management represents a mental model shift from traditional, imperative product management to a product-first framework. Organizations can develop products with exceptional focus by defining a product manifest that explicitly states product attributes and metrics, coupled with an engineering team that ensures the product gets closer to the vision and exposes product status.