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:
- 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.
- We
are all in the same boat - share the same destiny, no pointing fingers. We
fail together, we succeed together.
- 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.
- 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?
- 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.
- 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:
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!
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.
ReplyDeleteLooking 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.
Thanks for this feedback Avi, I am very happy to hear you find it useful :)
ReplyDelete