在上一篇文章中,我认为对大多数球队生产软件的方式有一些非常重要的变化。你们几个人写信给我,并要求我详细说明我的最后一点,这与你有一旦有了工作的产品定义,你不能只是“零碎”它,并期望相同的结果。我相信这是一个非常重要的观点,并掌握了许多失败的产品和浪费的发布的潜在理由。

你以前见过这部电影吗?产品经理提出的这个伟大的PRD,这些伟大的PRD包装在一起,所有功能都明显标记为P1 /必须具有,P2 /高想要或P3 /很好。Then he hands the PRD off to engineering, and they estimate the costs of the various features, and lay the features out against their staff availability, and they come up with a schedule that’s typically months longer than the product manager needs, so then the negotiating game starts – arguing estimates, cutting features, minimizing QA and beta times, trying to hire some extra contract staff, etc, all while the clock is ticking. I’m sure you know the story. Even if you haven’t seen the movie you can guess the ending. The product that eventually ships is far from a coherent whole; and nobody is happy with it – not the product manager, not the engineers, and definitely not the end-users.

许多团队认为这只是游戏的播放方式。但这真的只是缺陷过程的自然后果。

相反,我争论一个非常不同的模型:

首先,与设计师合作的产品经理的工作是提出高保真原型,以满足业务目标所需的最小功能,但用户体验用户可以弄清楚如何使用和实际使用想要使用。该团队提出了最小功能的原因是,你们都希望尽量减少实现时间和复杂性,而且,如果没有无关的功能,它实际上更有可能更有可能的用户体验将是良好的。

其次,从这个设计过程开始,来自工程团队(通常是建筑师或领导工程师)的人,需要参与审查原型中表达的产品的想法,以便他可以帮助产品经理和设计师了解各种产品想法的亲属和绝对成本。他可以指出任何危险的方向,产品可能正在进行,或者他可以调查他不确定的任何领域。But by the time the prototype is ready, this architect must have provided detailed estimates of the surviving features, so the many trade-offs of what is in and what’s cut have already been made, and made collaboratively, and at this point the engineering team must have a detailed estimate that they can commit to.

第三,使用真实目标用户验证(测试)这一原型是必不可少的。在提交完整产品团队的资源之前,产品经理和设计师必须自信他们提出了成功的东西。只要相信产品定义是好的,这还不够,你必须测试以确保。您不允许工程师仅仅因为他们认为它很好而无法运送代码,您必须测试该代码以确保。

This is why once you’ve come up with this minimal product and have tested it with target users to the point that you have evidence that it will work, you can’t later just cut out some more features and assume that it’ll still work with users. If you could, then you didn’t really identify the minimal product earlier.

您仍然有一些案例在某些情况下,您具有相同的艰难决策 - 常见情况是当一个或多个功能需要更长的工程到构建而不是预期的 - 但在该模型中,正常响应是一个时间表滑动而不是特征切割。记住,你已经做过切割了。好消息是,这个过程中的估计比正常更好,因为工程高保真原型基于估计而不是纸质文件,他们还有更多的时间来评估功能,他们在估计中感受更多的所有权,and there is also less product to build, so when slips do occur, they’re not as severe or frequent as we are used to.

同样,一旦工程正在进行中,产品经理就不能只是为了额外的要求折腾,因为基本上是相同的原因。这里的好消息是,到目前为止,产品经理添加特征的最常见原因是一项不仅仅是通过首先通过要求的结果,高保真原型将强迫大部分这些问题到表面上的大部分问题这个过程。

有些人认为,像Scrum这样的敏捷方法地址这些问题,但以不同的方式解决了这些问题。虽然我会喜欢它,如果大多数球队明天转换为敏捷方法,因为他们真的可以产生积极的差异,你会发现他们并没有真正解决这些问题,而且他们也创造了几个自己的问题。更多关于即将到来的文章中的信息。

So by all means prioritize as you’re thinking about the requirements and what’s most important, but by the time you come up with your final spec, make sure your product is already the minimal possible, and then yank all those P1/P2/P3 annotations from the spec, and make it clear to the team that this spec describes a whole product, and if you remove a leg, then as an old boss of mine would say, that dog won’t hunt.

分享这个