I’m quite certain that when I first encountered product managers working with software teams I didn’t really appreciate the value they brought. I certainly did appreciate the people themselves—they provided a clear vision for the team, inspired them, and very often performed small miracles with stakeholders. But while I was impressed by the people, I don’t think I understood the discipline.
For some time after those first encounters, what I most valued was the stakeholder management. So many teams I worked with had so many stakeholders, and inevitably those stakeholders had conflicting and occasionally unrealistic wishes for what the teams might build. Product managers were the ones who listened to them all, assessed the market and the business, and brought people together in one direction that was clear and coherent.
But today I also appreciate the work of product managers for taking the long term view.
Too many teams are required to work only with a project focus—working to a deadline, needing to tick off features, and with no plan beyond that. In such a situation there is little motivation to consider security, maintainability, and other factors which might make life better in the future.
Good product managers take responsibility for the whole product—not just the features, but everything that makes up its success, now and in the future. Value and market relevance is part of this, of course. But so is security, because a compromised product is less valuable and consumes additional time to fix. Maintainability is essential, otherwise adding new features is both costly and slow. Performance is important because that’s part of the user experience. And so on.
In the past it was mostly only software engineers who cared about these non-functional requirements. Thanks to the rise of product management, software engineers now have influential allies.