What role does your engineering team have in prioritizing the roadmap for a product targeting developers?
Developers on the team will generally have a sense of the market since the products we build target them as a persona, especially if you're dogfooding your product. It's important to validate problems and solutions with customers to ensure that we're building a product that aligns with market needs, not just our own. I go into how to do that in another one of my answers.
Product Managers on the team will build a complete picture of product priorities by talking to a diverse set of end users and analyzing the market. PMs should share insights with the team and give enough context in prioritization discussions to clarify why decisions are made.
Quite a lot. But one has to be cautious in this and have PM exercise oversight, because not all developers are alike. Your developers may not accurately represent developers at your target customer. One can easily fall into the trap of assuming that the same pain points that your team experiences while using your product will be the same ones that customers prioritize. (By the way, it is very easy for PM to fall into the same trap.)
There is one universal truth, though, and it is that developers everywhere are annoyed by papercuts; both the developers working on the product as well as developers we are selling to. Therefore, we empower our developers to "see something, say something, fix something" for small issues without having to ask permission. This comes with guardrails in the form of a timebox. The contract is that if such a fix is going to tie up a developer for more than a couple of days, engineering should discuss it with PM first.
The developers have a seat at the table when discussing potential features and aspects being considered for the roadmap. It is the role of the product manager to listen to the diverse opinions from various stakeholders, including the developers, and then decide on the priority and roadmap of what will be delivered and when.
Developers are always welcome to voice their opinions and explain why they are passionate about specific features. However, the product manager needs to look at the big picture, considering different personas, the buyer, the market, the competition, and how proposed features fit into the overall strategy and impact.
Developers play a crucial role in identifying technological challenges, such as migrations, security risks, and performance improvements. These are areas where product managers often rely on the expertise of the engineering team to flag issues that need prioritization. This ensures that these technical considerations are appropriately balanced against other roadmap features.
Ongoing communication and collaboration between product managers and developers are essential throughout the development process. Regular meetings, updates, and feedback loops help ensure that the roadmap remains aligned with both user needs and technical feasibility.
For example, there have been instances where developer input has led to significant improvements in our product's performance and security, which might not have been prioritized without their insights. These continuous feedback loops allow us to refine our roadmap dynamically and respond effectively to emerging challenges and opportunities.
While the product manager is responsible for the final decision-making regarding the roadmap, the input from the engineering team is invaluable. Their insights help ensure that the product is not only innovative and competitive but also technically sound and secure.