【8024】产品管理与软件开发的关系

本文节选自《启示录:打造用户喜爱的产品》一书和作者的博客,并发表在《程序员》杂志1105期,作者Marty Cagan是享有世界声誉的产品管理专家,曾经担任网景副总裁、eBay产品管理及设计高级副总裁。译文由七印部落出品,原文太长,分次转载一下,本次挑一个不少开发人员会感兴趣的主题——产品管理与软件开发的关系

/ Marty Cagan / 欧坤、孙洋

产品管理与软件开发的关系

如果说成功的产品是真实用户需求与现阶段可行性方案的结合,那么产品经理与开发团队之间(合作)关系的重要性自然不言而喻了。

产品经理负责定义产品方案;开发团队最了解哪些产品设计是可行的,他们负责产品的开发与实现。作为产品经理,你很快能体会到,只有与开发团队融洽合作,才有可能开发出合格的产品,否则等待你的将是一段漫长难挨的日子。

形成合作关系的关键是双方承认彼此平等——任何一方不从属于另一方。产品经理负责定义正确的产品,开发团队负责正确地开发产品,双方相互依赖。你要求开发团队完成任务,必须先取得他们的认可,确信为了达到产品质量标准必须这么做;开发团队也要留给你足够的空间设计有价值、可用的产品。

产品管理和软件开发相互促进,开发人员可以帮助产品经理完善产品定义,别忘了他们最清楚你的产品设计是否可行。

开发人员帮助产品经理完善产品定义的方式有如下三种。

  • 让开发人员直接面对用户和顾客,体会用户的困惑和疑虑,了解问题的严重性,好点子常常会随之而来,譬如,可以邀请一名开发人员参加产品原型测试。
  • 向开发人员了解最新的技术发展动向,讨论哪些新技术可以用到产品里。开展头脑风暴,看看目前已实现的技术或即将实现的技术能不能解决手头的问题。
  • 让开发人员(或主程序员)在探索(定义)产品的初期阶段参与评估产品设计,协助策划方案。产品经理常犯一类错误,即完成产品定义后,扔给开发团队便置之不理。这样做只会贻误协调需求与可行性的最佳时机,等到发现问题时,为时已晚。

同样,产品经理也可以协助开发人员的工作,方式如下。

  • 产品经理关注产品的基本要求(核心功能)。产品经理应该意识到,自己定义的不是最终产品,而是满足基本要求的产品雏形。只有这样,产品管理与软件开发之间才能形成良好的互动。
  • 一旦产品进入开发阶段,要尽可能避免修改产品的需求和规划。虽然有些事情超出你的控制范围,变动是不可避免的,开发人员也能理解,但是千万不要在此时尝试突发奇想的点子。
  • 产品开发阶段难免会产生诸多问题,比如,用例丢失,或者用例设计考虑不周全等。这很正常,哪怕最优秀的产品团队也避免不了。产品经理应该迅速采取行动,在维持产品核心功能、尽量避免修改的原则上,给出解决方案。

我经常鼓励出色的开发人员尝试产品管理工作。我告诉他们,如果产品没有市场价值,无论开发团队多么优秀也无济于事。很多优秀的产品是程序员抓住用户需求,自己创业研发出来的。放宽眼界不仅仅有利于开发人员自己的职业发展,也有利于产品、顾客和公司。