Building an Effective Partnership Between Product & Engineering
15 May, 2020
As companies grow to be more than a handful of people, communication no longer takes care of itself, and silos emerge. Silos between Product, Engineering (and Design & Data) are the worst kind because almost nothing gets done if that's the case. It's also common for unhealthy tensions to rise. One of the reasons is that putting together roadmaps and wishlisting product features is a lot easier than actually building them. Another reason is people not speaking the same language by default.
- There are key four levers that can facilitate the alignment and a good collaboration between Product and Engineering: org design, people, culture, processes.
- The organizational design should fundamentally be cross-functional and should include product, design, engineering, and data unless you have really strong reasons for a functional setup.
- Alignment starts at the top: heads of product and engineering need to be (and remain) on the same page at all times. Nip issues in the bud, set and manage expectations continuously at that level and always overcommunicate. Make that part of the culture and ensure it downstream.
- Culture of accountability and ownership: don't tolerate blame games. Everyone is trying to figure it out. At all levels (again, starting at the top), Engineering must understand the priorities, and Product must understand the trade-offs. If this is not solid, nothing else is.
- Pursue the culture of objectivity and participation: remove gut feeling and opinion as much as possible. Experimentation and data level the playing field and democratize it, so everyone can contribute with ideas regardless of who they are.
Process - bake collaboration into how the tech org is run. Most rituals including elements of both sides, learning together from each sprint, knowledge sharing sessions, etc. But be respectful of activities to be done in isolation (e.g. engineers need long stretches of uninterrupted time -- (maker vs. manager schedule) http://www.paulgraham.com/makersschedule.html)
Constant knowledge sharing towards a common language. In slightly bigger companies, the use of Domain-Driven Design is helpful, particularly in creating a common language between business, product, and engineering (all the way down to the code).
- If product and engineering leaders are not fundamentally on the same page, the gap on the front lines will be massive. You have to make sure that alignment remains at the top and is actively pushed down.
- Don't try to be too sophisticated with processes, don't enforce rules beyond cultural ones. Make sure everyone understands how product and engineering depend on each other to make the company successful and keep reinforcing it.
- As engineers and engineering managers, you should go out of your way and use empathy to make sure product understands the engineering challenges, and vice-versa.
- Have a clear set of cultural norms or principles for product development, over-communicate them, and stick to them. For example, if a/b testing is king, then everyone needs to understand experiments must be small to learn quickly and often. Engineering must understand why, enable it in the short-term, and make sure technical debt is managed. This may not satisfy everyone, but not all companies are going to be for everyone.
With both the need for a more supportive team setting and shorter feedback cycles, Marc LeBrun, VP Engineering at Flow Kana, addresses two problems with a single solution.
VP Engineering at Flow Kana
Marc LeBrun, VP Engineering at Flow Kana, shows the value in establishing a collaborative relationship with a withdrawn but highly-capable employee. We can then use that bridge to draw the person back into the team and elevate everyone’s performance.
VP Engineering at Flow Kana
Kowsheek Mahmood, Principal and CTO at ArchetypeTech, explains how he adapted an ineffective team by determining and implementing team-evaluation processes to better align the team on product delivery.
Principal & CTO at ArchetypeTech
Viacheslav Bessonov, Chief Technology Officer at Algalon Capital, outlines how he improved communication internally - with his fully distributed team, while also improving communication with the customer - located across various time zones.
Chief Technology Officer at Algalon Capital
Alessandro Pintaudi, Product Management Director at Payfit, talks about how teams need to focus more time on building the right things and how to keep doing it with scale.
Product Management Director at PayFit
You're a great engineer.
Become a great engineering leader.
Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.