As a tech management consultant, I often enter a company and hear things like: ‘The engineers don't meet deadlines.’ ’The product managers write poor user stories.’ Or, ’the product delivery velocity is too slow’.
It doesn't take more than that for me to know that the product and engineering teams do not get along too well, which harms the company in so many ways.
Fortunately, I have worked with some successful companies where there is an excellent working relationship between product and engineering. By looking at what these companies have in common, I developed this list of best practices for fostering great relationships across the two functions
1. Equal power
In many companies, product and engineering leaders don't have the same political power. One of them might be the founder, and the other might not. It may be related to their history in the company, their personality, or even who CEO’s favorite is.
When political power is unequal, bad things happen. If the product organization is stronger, the engineering team is often blamed for not meeting deadlines, for poor quality, or for low velocity. If the engineering organization is stronger, product managers are often reduced to an administrative function whose main task is to prioritize feature requests from the customers and break them into specifications, rather than to focus on the product’s roadmap and growth.
In the best companies, product and engineering have equal power at all levels, starting at the management level, all the way down to the single product manager and her counterpart engineering team leader.
Great relationships are based on mutual trust, which is built on these three pillars:
- Professional respect. It’s crucial that people on both sides of the potential conflict respect each other’s knowledge and work methods. Although you may disapprove of your colleague’s performance or decisions, consider these as things which can be discussed and improved, rather than evidence of a lack of professionalism.
- Assume best intent. When attempting to resolve a potential conflict, assume that your peer has the best of intentions. This works like magic.
- Expose vulnerability. As for this one, it might seem less obvious, but if you share some of your problems with your product manager, it encourages her to share her difficulties with you, which makes it easier for you to work together to solve problems.
3. A common accountable manager
In many cases, product managers and engineers cannot agree on how to solve challenging problems. The situation calls for escalation, but at that point, it requires a decision-maker who can act quickly and let the team keep on working. In many successful companies, there is one person who is a common manager of both product and engineering teams. This person is readily available when decisions need to be made, has the authority to make decisions, and can make them quickly when required.
A great alternative to having one accountable manager is a two-in-a-box model, where a pair of product and engineering leaders have the ability to make rapid decisions either together or separately.
Making decisions quickly prevents conflict and frustration from escalating, so the relationship remains professional and productive.
4. A common goal
Teamwork is most productive when there is a common goal. The successful engineering and product pairs I’ve seen have shared this common goal: Create maximal value in a minimum of time.
But that's just the beginning. Engineers and product managers working together to accomplish this goal need to safeguard a few basic product principles. These are:
- Customer experience. Many engineers prefer solutions that are technically easier to implement but undermine the customer experience. Of course, product managers find this frustrating. While deciding on the best solution, engineers should keep the customer experience in mind.
- Product clarity. Product managers are responsible for keeping products as simple and clear as possible. To achieve this perceived clarity, engineers should keep complexity under the hood.
- Technical robustness. Engineers are painfully aware of the high costs of keeping the lights on. Product managers should be aware of this and avoid solutions that undermine the system's robustness and frustrate engineers.
- Maintainability. It’s much easier to write new code than to maintain it over time. Maintenance cost is the number one hidden reason for velocity decrease over time. Solutions that significantly increase future maintenance must be identified and seriously considered against the value they provide.
- Employee happiness. Yes, this is a serious consideration. When working together to find the best solution, you want to keep your partners happy. Understand their pains and frustrations. Be empathetic and ready to compromise, in order to keep the whole team happier.
To achieve great, productive teamwork, engineers and product managers alike should weigh customer experience, product clarity, technical robustness, maintainability, and employee happiness when searching for the best solution.
5. Mutual ownership of the schedule
Often, product management and engineering are seen as clients and contractors; the clients (product managers) specify what needs to be done, and the contractors (engineers) are supposed to deliver on time and with good quality. Given the unpredictable nature of software development, engineers often encounter unexpected obstacles and are blamed for the unavoidable delay. As a result, both parties are highly frustrated.
In a good relationship, product management and engineering are not clients and contractors, but equal partners, who own the schedule together. They set it based on a discovery process, negotiation, and agreement. The follow-up is also done together, solving problems that arise along the way while continuously optimizing for maximum value while reducing the cost and time.
6. Overlapping interests
Where there is true teamwork, folks are interested in one another's professional perspective and constraints. While engineers should care about the business and customer feedback, product managers should care about technological issues. Engineers are involved in the product’s development from the beginning of planning, while product managers are engaged and helpful during the development process all the way to production.
The ability to understand each other's challenges and constraints is vital to cooperation and trust.
7. One team
In the best companies, engineers and product managers work together as a cross-functional team, regardless of the organizational structure. Together, they come up with creative solutions. They tolerate each other’s faults and cover for them. When external pressures arise, such as unreasonable top-down directives or production problems, they advocate for their cause together rather than pointing fingers at each other. They stand together against the harsh world.
What if you’re not there yet?
If you have a less-than-ideal relationship with your product manager, what can you do to get closer to the ideal situation? There is no silver bullet. But if you want to make a change, start by speaking to your product manager. Together, map the gaps in your organization and propose changes for improvement.
If you are a senior engineering manager, partner with your product leader and act jointly as accountable managers, promoting the above principles, to keep your organization running smoothly. If you are more junior, focus on what you can do in your immediate environment and build trust and cooperation with your closest peers; I have seen organizations where the CPO and CTO constantly clash, but the product managers and engineering leads at lower levels cooperate well and keep the product moving forward.
Creating a cooperative relationship based on trust and a shared goal can take time, effort, and a change in perspective. But building great solutions with a product manager you can trust is an experience you shouldn't miss, so do your very best to get there.