Sunday, March 2, 2014

Drop your weapons

The war between developers and product goes way back. Sometimes it’s a ‘behind the scenes’ war (“these developers estimations are always tripled”, “these product people and their dreams...”), sometimes it’s face to face (you can imagine what I am talking about here).

Back in the days of waterfall, that wasn't such a big problem. Product and developers used to meet a few times in a development cycle which was a year long. In those occasions it was annoying, but it didn’t really effect the day to day work.

However, today, it is a whole new game. In agile development, developers and product interacts on a daily basis. Doing that when the war is still going on is a different story. And this one should be rewritten.

As a product owner and product manager, in the past few years I was asked many times how do I keep a good and productive relationship with development?  If I would have to answer that question in one word it will be TRUST. In an atmosphere of trust, discussions, brainstorming and working together on day to day basis becomes much more effective and fun.

How do you move on to the point of mutual trust?

Things you SHOULD do:
  1. One team - the management of a project/product/release should be composed of a product manager and an R&D manager working together. As I see it, the product manager and R&D manager are the 2 CEO's of their product. They should drive it together to its success.
  2. We are all in the same boat - share the same destiny, no pointing fingers. We fail together, we succeed together.
  3. Go to some of the customer meetings together, R&D manager and product manager. This is the way to bring customer awareness to the table.
  4. Come to discussions with data – why do you as a product manager think this feature is an important one? What did customer said that supports this assumption? Why do you as a developer think it is too risky? What is the risk? Are there any alternatives?
  5. Listen, and allow yourself to be convinced – don’t come to meetings with only your agenda in mind, listen with an open mind to others.
  6. Convince others – In cases you really believe you are right, convince others. Don’t just say this is what needs to be done period. Explain (preferably with data) and convince others.
Things you SHOULD NEVER do:

I understand that many times you feel you just HAVE TO say it. However, if you want to build the trust, don't. Keep it to yourselves.

As a Product manager/owner, don’t ever say:
·         But this should take an hour (not 3 days)
·         When I was a developer…
·         Its only changing a string
·         You should develop it in parallel
·         Maybe you should try extreme programming?

As a Developer don’t ever say:
·         We can never do that
·         It’s crazy
·         This feature is too big
·         What did you smoke? 

Yes, it won't be easy. Yes, you need the right people to make it happen. But if they will put their heart into it, after a while, trust will be built between product and developers. I won't lie to you and say that the tension will disappear, I won't say there will be no arguments. I think there better be some. But trust keeps us productive and maintain a positive and professional atmosphere. It might take time, building trust is not something that will happen in a day. You need to work on it and be patient, but it is totally worth it.  So, drop your weapons, and start building the trust!


  1. I just love this blog post (and the ignite talk that it's based on)! That's the n-th time I came back to read it.
    Looking back at the times we worked together at VMware makes me appreciate those times more. I can tell you that now, as a team lead, I remind myself this talk over-and-over and it just proves itself time after time with the product team I'm working with.

  2. Thanks for this feedback Avi, I am very happy to hear you find it useful :)