Training Banner

Wednesday, September 7, 2016

How to win engineering hearts and minds as a product manager

Influencing engineering is a critical skill for product managers in the tech field. It should come as no surprise that being influential is much easier when you are respected and liked. A question that new (maybe all?) product managers must ask themselves is how they can develop credibility with the technicians they depend on to implement their product ideas. In this post, I'd like to talk about the basis for influence itself and share a few ideas on how you can "win the hearts and minds" of your development counterparts and enjoy a more productive relationship with them.

Firstly, it's interesting to think how we influence people in general. Psychologists French and Raven developed a model describing the "bases" of power, which they define as the ability to influence people. Although a full description of their model is beyond the scope of this post, their concept of "referent" power most closely approximates the relationship of PM to development. Referent power is based on relationships and perceptions rather than the ability to directly reward or punish others. Here's some food for thought on how you can increase your referent power and thus your influence on engineering:

1. Providing External Insight

You should ask yourself if development sees you as a key source of not just information about customers and markets, but real, meaningful insight. Notice that I make a distinction between customers, who in this context refer to people or organizations that have purchased your product, and markets, a much broader group of people who have the means and potential interest in purchasing your product but haven't yet taken the plunge. It is market insight that is often sorely missing on product teams. To derive this insight, you need to collect information directly and indirectly and carefully analyze it, adjusting the way you communicate your findings to the audience you're sharing it with. Here are a few things you can do to communicate the insight you've gained:
  • Take extensive notes when you talk to external stakeholders like customers and present your findings to the development team.
  • You should probably have a periodic, standing slot in the dev "all hands" so that the entire organization sees you from time to time.
  • Try to always take someone from development with you when you meet with customers. They deserve direct exposure to the folks they ultimately serve and the time together can strengthen your relationship with them.

2. Defining and Driving Strategy

Have you documented an explicit, compelling product strategy incorporating input from all relevant stakeholders (including engineering) and reviewed the final product with them, assuring they buy in? As I've said before, roadmaps are important but are not a strategy. To define a strategy, I like the concepts defined in OMG's Business Motivation Model spec. Define a comprehensive business motivation model for your product and share the highlights with engineering on a regular basis, including progress against measurable objectives. Some folks might tell you that development doesn't care about business metrics, but I that has literally never been the case in my experience. Developers want to know that their work is generating value for the company.

3. Understanding Technology

In the tech world, especially with respect to software, being the "business person" who doesn't take time to learn technology can make you highly susceptible to the whims of development and will do little to increase your influence. Having a reasonable understanding of the latest technologies, development models et. allows you to talk to development in their language and demonstrate you're not a clueless "suit". Staying on top of technological developments even at a shallow depth is work that never ends. Here are a few tips that can help:
  • Stay abreast of what development is doing and the technology and tools they're evaluating. Learn from them to the extent you can and do your own research.
  • Make time to browse technology periodicals and blogs and do some Googling on new terms and concepts you come across.
  • Try to read a few books a year that are more technology than business focused. Books on new and improved development methodologies count as technical literature.

4. Networking

You need to invest time in getting to know the development organization. That means casual coffees, lunches and even "off-campus" activities with developers, architects and quality professionals at all levels of the organization. Overlooking relationships with individual contributor-level development is a common mistake. These folks are the future of your development organization and can often provide "unspun" information on what's really going on with engineering. Their insight into new trends and their enthusiasm can be educational and inspiring.

5. Demonstrating Empathy

Nothing helps build relationships and trust like genuine empathy. If you've never been in development yourself, you'll need to spend time with developers, almost treating them like customers in the sense that you need to understand and have some compassion for their challenges. Understanding that developers are people who make mistakes even when they're trying their hardest can help prevent anger and frustration when they have unpopular news to share.

What are your experiences? How do you increase your influence with development? Have you ever failed to win development's "hearts and minds"?

Learn more about my software product management consulting and training offerings on my site.