Image by Airfocus

Do you need product managers at your software company?

Jan 10, 2024

I’ve written before about how various commercialized forms of “Agile” development completely stripped the original agile manifesto of everything it was supposed to be. A group of people fed up with the software development status quo got together and decided there had to be a better way, and put together the now famous statement.

It didn’t take long before a multitude of people and companies stepped in with a way to make money off of it and started selling systems and training and all kinds of stuff that inevitably turned the agile movement into the exact opposite of what was actually intended.

And then, after all the commercialized promises out there assuring you they could make your company “agile”, the exact same thing happened to product management. Some core concepts around helping build software that your customers actually want got turned into an elaborate caricature of the actual need – simply because people saw a way to make money off of product management books, systems, conferences, etc.

And just as happened years before with agile software development, people forgot that the process isn’t the goal – and the whole concept of product management became a net negative in software development for a decade plus (and counting).

An optimistic view of product management goes something like “Our developers have been hired to write code – let’s let them write code, and hire product managers to handle the softer side of software development“. And sometimes the people who say this actually mean it, but often it’s a more insidious way of putting a pretty face on the control that they feel needs to be exerted over the software development process.

At its core, the wrong-headed product management thesis goes something like this: “Developers don’t want to/can’t talk to users, so we need a new role for those who will fill that role and let the developers know what to build“. Or perhaps something more like, “Those developers won’t listen to me as their CEO about what needs to be built – I’m gonna put some product managers in place to stay on them day in and day out until they build what they are supposed to“.

The functions of a good product manager are actually pretty important, and a lot of what the “thought leaders” say product managers should do is in fact pretty important:

  • Market research and vision – Understanding where a product needs to go is key. Clearly, building the wrong thing will kill the viability of any software.
  • Feature prioritization – I have yet to see a project where the number of features that needed to be built didn’t exceed the available building capacity. Picking what to build, and when, is critical.
  • User Experience Design – Making software usable should be a top priority for any software development team. No great software can put usability as a secondary concern and stay great software.
  • Metrics and analysis – Sometimes we need hard metrics about our software. Which features are people using the most? Where do the bugs crop up? Equally important are the things that are harder to quantify like “Do users think the software sucks?”

Each of these different areas are critical, and good software can’t be built without them. So if you shouldn’t have any product managers at your company, who is supposed to do these things?

The short answer is “Everybody”. The longer answer is “Everybody, but different people are going to be better suited for different parts of this list”.

Market research and product direction is something that every leader participates in. Leaders, by definition, set the vision and point the company in the direction it needs to be going. The CEO is a leader, but so is a VP of engineering or even a team lead in the operations department. Everybody at the company should be talking to customers and potential customers, and contributing to the conversation. If that’s not happening, take a look at your company to understand why, and fix it.

If everybody is talking to customers, then what you need to build and which of those things are most important will become clear. Discussions about priority and direction will be had, and they might even get heated on occasion, but having these discussions with broad participation will ensure that the right consensus is achieved.

UX design is important – but it’s also not rocket science. Any motivated engineer can go buy a book on the topic and practice by, well, building user interfaces. Get feedback from real users! Ask users what they think, and listen to the response – and make sure you get the even more direct type of feedback where you watch them use the software. Many companies try to separate engineers from their users – which is, frankly, one of the dumbest things you can do when building software. Why would you not have the people building the software talking regularly to the people using the software???

I’ve worked with excellent product managers before. Their excellence came from being an active member of the team though, rather than their perfect execution of what some industry influencer dictated as the “right” way to build product. They could help write code when needed, they could help onboard clients, and they could help build visualizations and perform data analysis. Yes, they helped move the product forward in keeping with product management principles – but they certainly didn’t sit around writing user stories all day long to accomplish that.

Once you have a culture of “Everybody collaborates to build our software”, the question of whether you need a product manager will be answered.

Everything we have learned about “product management” is critical to perform well, but leaders and team members who abdicate the responsibility for actually executing on those tasks are doing a disservice to the software being built.

When sales people, operations, and the entire c-suite are all thinking about how to create the best software possible, the end result will be nothing short of amazing.