With a grateful nod to Ben Horowitz’s Good Product Manager, Bad Product Manager, here’s a glimpse into some of the important differences between strong product teams and weak teams:
Good teams have a compelling product vision that they pursue with a missionary-like passion. Bad teams are mercenaries.
Good teams get their inspiration and product ideas from their scorecard KPIs, from observing customers struggle, from analyzing the data customers generate from using their product, and from constantly seeking to apply new technology to solve real problems. Bad teams gather requirements from sales and customers.
Good teams understand who their key stakeholders are, they understand the constraints that these stakeholders operate in, and they are committed to inventing solutions that not only work for users and customers, but also work within the constraints of the business. Bad teams gather requirements from stakeholders.
Good teams are skilled in the many techniques to rapidly try out product ideas to determine which ones are truly worth building. Bad teams hold meetings to generate prioritized roadmaps.
Good teams love to have brainstorming discussions with smart thought leaders from across the company. Bad teams get offended when someone outside their team dares to suggest they do something.
Good teams have product, design, and engineering sit side-by-side, and embrace the give and take between the functionality, the user experience, and the enabling technology. Bad teams sit in their respective functional areas, and ask that others make requests for their services in the form of documents and scheduling meetings.
Good teams are constantly trying out new ideas in order to innovate, but doing so in ways that protect the revenue and the brand. Bad teams are still waiting for permission to run a test.
Good teams insist they have the skill sets necessary to create winning products, such as strong interaction design. Bad teams don’t even know what interaction designers are.
Good teams ensure that their engineers have time to try out the discovery prototypes every day so that they can contribute their thoughts on how to make the product better. Bad teams show the prototypes to the engineers during sprint planning so they can estimate.
Good teams engage directly with end users and customers every week to better understand their customers, and to see the customer’s response to their latest ideas. Bad teams think they are the customer.
Good teams know that many of their favorite ideas won’t end up working for customers, and even the ones that could will need several iterations to get to the point where they provide the desired outcome. Bad teams just build what’s on the roadmap and are satisfied with meeting dates and ensuring quality.
Good teams understand the need for speed and how rapid iteration is the key to innovation, and they understand this speed comes from the right techniques and not forced labor. Bad teams complain they are slow because their colleagues are not working hard enough.
Good teams make high-integrity commitments after they’ve evaluated the request and ensured they have a viable solution that will actually work for the customer and the business. Bad teams complain about being a sales-driven company.
Good teams instrument their work so that they can immediately understand how their product is being used and make adjustments based on the data. Bad teams consider analytics and reporting a “nice to have.”
Good teams integrate and release continuously, knowing that a constant stream of smaller releases provides a much more stable solution for their customers. Bad teams test manually at the end of a painful integration phase and then release everything at once.
Good teams obsess over their reference customers. Bad teams obsess over competitors.
Good teams celebrate when they achieve a significant impact to the business KPIs. Bad teams celebrate when they finally release something.
To help remember, photograph and shoot short videos of the results of your conversations.
The truth is, your job is to change the world
The truth is that you can't please everyone all of the time.
while it's necessary, the output isn't the real point; it's not the output that we really wanted. It's what comes after as a result of that. It's called outcome. Outcome is what happens when things come out - thats's why it's called that - and it's difficult because we don't get to measure outcome until things do comeout.
Good story conversations are about who and why, not just what.
Your company can't get what it wants unless your customers and users get something they want
Outcomes are often something you can observe right away after delivery, But impact take longer.
There's always more to build than we have time or resources to build - always.
If you get the game right, you will realize that your job is not to build more - it's to build less. Minimize output, and maximize outcome and impact.
I promise you that no business has the resources to make everyone happy - it's just not possible.
Building more software faster is always a good idea. But it's never the solution.
I got away without using the word requirements - at least, not much. It just wasn't a relevant term for what I was doing.
I couldn't give everyone everything they wanted, because they wanted different things.
Tell me who they're for and what problems this solves for them
It was that moment that I learned that the word requirements actually means shut up.
Remember: at the end of the day, your job isn't to get the requirements right - your job is to change the world.