Why are development teams so hard to work with? You’ve done your part—you have your OKRs, roadmaps, specs and designs in good shape. You’ve made delivery commitments to stakeholders. Now you just need to build those shiny new features. But your software engineers are questioning the business value, being non-committal on timelines, and their deliverables are missing the mark. When you raise concerns, they bury you in tech speak and make you feel dumber than a Slackbot. What’s a product manager to do?
Plenty actually. Here are a few tips to build a better relationship with your engineering team, from a developer turned product leader.
Appreciate the craft of software engineering
As product managers, we care about on time delivery of visible features that impact the customer or business. We often pay little attention to what’s under the hood. Developers, on the other hand, take pride in how their solution is built—the novel algorithm they used or how they were able to reuse components they’ve developed before. The best engineers excel at this hidden stuff and want to be recognized for it as much or more so than for fulfilling the business requirement.
Even if coding isn’t your thing, you can build a stronger relationship with your team by showing interest in their technical solution. Ask them to explain how they built the solution, how flexible it is, what tradeoffs they made, and what they are most proud of. Ask them how they improved that performance bottleneck. Have them explain the root cause of a bug and what they did to fix it. You will see that non-communicative developers warm up to you. You might even learn something.
Help your engineers advance professionally
More often than not, the engineers on your team don’t report to you. Although your positive feedback to them is appreciated, it is appreciated much more if it is shared with their managers. With our busy schedules, it is easy to forget to formally recognize a teammate’s achievements. Since I tend to be guilty of this, I explicitly add this as a step in my product process. Note the intent is not as a way to say thanks to the whole team. Rather it should be specific to individuals, their achievements, and positive attributes they demonstrated. Back your comments with specifics.
Also developers want to garner the respect of the architects and other senior tech people. Help by encouraging them to share their work with their peers. Support their efforts to promote themselves, allow some time for speaking at conferences or publishing in journals.
Make an effort to give them constructive feedback in the context of the work being done. Most will appreciate such tips and advice if it’s done in the right way, and become stronger teammates. For example I might say, “Hey so and so, it would be great to hear more from you in our next design session. You bring a perspective that the rest of us don’t have.”
Expose them to your customers and business
Just because it’s your job to manage stakeholders and drive the voice of the customer’s efforts, your developers shouldn’t be excluded from all such activities. Realistically, your engineers can’t dedicate their time to all your customer interviews and business meetings. However they will certainly benefit from direct exposure to some of those that your software is serving. Engineers have often told me what an eye-opening experience it is to participate in a customer interview, because— as we product people know—customers never cease to surprise us.
Involve developers in your solutioning
I often invite a couple of our senior architects to product brainstorming sessions. Presented with insights from our discovery process, our architects come up with some of the best suggestions on how to improve customer conversion, retention, or other metrics. They help shed light on the technical effort required to solve a problem a certain way, and getting such information early will often streamline our solutioning process. And more than just improving decision making, involving engineers in solutioning sessions gets their buy-in and commitment up front, making the development process go smoother.
Understand technical debt
Your developers care a lot about technical debt, the sub-optimal state of the code base after repeated changes are made within typical project time constraints. While technical debt is unavoidable, your developers know how detrimental it can be to the long term health of your product. Your best developers will naturally want to prioritize reduction of technical debt over other things. But like with all prioritization, things aren’t so cut and dry. Product management techniques can help here. Acknowledge that some of your dev effort will need to go toward reduction of technical debt. Challenge your developers to follow the same rigor you do when justifying new features. Which areas of technical debt will have the most business impact? How can assumptions be validated? How will key development metrics like number of bugs, developer productivity, etc. change? The bottom line is you need to take technical debt seriously, but elimination of all technical debt rarely makes sense. Work with your developers to find the right balance.
Collaborate, don’t control
Do you like the feeling of taking charge in your meetings with developers? Letting them know what you expect from them? I assure you they don’t like it. Remember, you are not the developer’s boss. You are not the developer’s customer either. There is a difference between telling the development team what needs to be built and telling them what to do. The former is a communication activity and a core part of your job. The latter is command and control management. Engineers seek clarity and appreciate strong communication from your product. However, they want autonomy to work their way. They want to work with you, not for you.
Perform your role with confidence
The product management function is often misunderstood, even by developers. Some see the product manager role as a glorified project administrator. Some feel it’s a job that anyone without any special knowledge can do. Developers see their role as quite the opposite—requiring both an inherent analytical way of thinking and lots of training and knowledge on their craft. So it’s no surprise that developers often have a certain feeling of empowerment, and in some cases, not so much respect for product managers.
The best way to counter this is to showcase your product chops. Consistently follow your product process. Share the results of your discovery process. Articulate the value proposition of the features you are building. Explain how decisions were reached and share the data driving your decisions. Field product questions from the team with confidence. Once you establish yourself and your role, developers will respect what you do and will welcome your experience and insights.
Finally, remember the end game—getting customers to use your product! Both you and your developers want the satisfaction of having your collective efforts put to good use. Share the success metrics—improvements in monthly active users, better conversions, etc. Even better, share the success stories, the specifics you hear from customers about how the app helped them. We are all human and respond to such feedback.
Your success hinges on the success of your whole team. Try these tips for building a stronger team, and I’d love to hear if they help you.