到底谁负责产品设计
如果产品主管、程序主管和开发人员不断争论谁负责设计产品,这只能说明你的"团队成员"非常愚蠢,只想从制度上树立自己的权威,实际上,这是一种无力的假权威,真正的权威来自于对形势的准确把握。任何产品设计的目标都是找到最佳创意,任何人都应为实现这一目标而努力。有关最佳创意的争论,应该在项目开始之前就加以解决。通过反馈快速且成本低廉的市场调查,将问题交由客户来回答,从而收集更多信息,迅速平息设计方面的争论。另外,通过深入讨论并达成共识,也可以解决争端。一般来说,缜密的思考也会使问题柳暗花明。
设计权之争实际上是权力之争,从而需要一定程度上的权力的均衡,这会使人术业有专攻且利于良性竞争。说起某个方面"不够"时,争吵者实际是在争夺职权,而不是争论产品本身。如果出现这类争论,明智的项目主管应将其视为一种信号,说明组织内部在一定程度上存在问题。与其作为仲裁者去处理设计权之争,倒不如深入分析职权与产品认同上的冲突,从而找出问题的根源。我认为,裁定设计权归属这种传统做法并不能从根本上消除设计权之争,虽然这样做可能也会有用。
确定设计权的正式归属其实很无趣。实际上,这完全是浪费时间。健康的团队是适才适任、各司其职的团队。在加入团队之初,团队成员会选择承担一些一般性的职责,并就这些职责得到管理层的确认,如此,他们所担任的职责才能与其能力相协调。管理层还需要对这些一般性的职责进行细化和发展,以协调成员之间的关系。开发团队应该是一个不断发展的生态系统,各成员的职权范围应由他们在这个特殊的"生态环境"中彰显的与众不同的能力来界定。这个系统会不断成长,最后达到一种平衡,这时,每一名成员都会负责最适合自己的工作。团队必须自然形成这种平衡的生态,任何强制性的干预都不会产生正面影响。如果团队成员之间无法做到团结一致,密切合作,那么项目主管应立即帮助分析问题。然而,一般很少需要由高层来指派团队成员的责任。通常,在挑选团队成员时,项目主管应确保每一位成员都拥有各不相同的特长,否则,具有类似特长的成员将会竞争相同的工作职位。这时,如果管理层和团队成员不能灵活应变,则团队的整个生态系统可能会因此崩溃。一旦团队生态系统崩溃或不稳定,在执行整个项目的过程中,就必须人为向开发团队注入资源。
任何时候,在项目开始之前,项目主管都应确定需要密切关注哪些地方。关注团队动态是软件开发经理的主要工作。就像每位团队成员都必须考虑如何开展自己的工作、如何设计产品部件,并为他们的任务分配资源一样,你作为项目主管,也必须设计自己在这个项目期间需要执行哪些团队工作,并安排好做一些特别的倡议动员。我们的第1条经验法则说的是如何使团队成员积极投入到工作之中。