下面这张图是产品的多重属性图,值得每一个公司认真思考。
8.1 待办事项清单:什么时候该做什么
落实Scrum时,你需要做的第一件事就是拟定待办事项清单。一旦完成待办事项清单,一个关键问题在于你要先决定自己要做什么,要做出决定,你得问自己下列几个问题:哪些事项最有商业影响力?哪些事项对顾客最重要?哪些事项最有利可图?哪些事项最容易实现?你应该先着手落实那些能在最低风险下创造最多价值的事项。
Scrum注重渐进式开发过程,你要从那些能够立即带来收入的事项着手,有效减低项目风险。
思考28原则,你会发现在购买的任何东西中,大部分价值是由其所有功能的20%带来的。Scrum的魔力就在于帮你找出那20%。在传统产品的开发过程中,开发团队直到最后交付产品也不清楚客户真正需要的20%的功能究竟是什么,这就意味着他们80%的努力都浪费掉了。
那么,如何确定各个事项的优先顺序呢?首先我们需要找一个既明白产品前景,又明白各个事项价值的人。在Scrum的语境下,这个人称为“产品负责人”。
8.2 产品负责人
在Scrum中,共有三种角色:开发团队成员,负责开展具体的开发工作;Scrum主管,协助开发团队把事情做得更好;产品负责人,决定应该做什么工作,拟定待办事项清单,最重要的是确定各个事项的优先顺序。(在CMI里,我是Scrum主管+产品负责人的角色,有时其他人也会轮岗到Scrum主管的角色上。)简而言之,Scrum主管负责怎么做,产品负责人负责做什么。
在每一个冲刺阶段,产品负责人都要花一半的时间跟客户开展对话,了解客户对于最新产品的看法,看看产品是否为客户创造了价值,并把信息传递给团队;花另一半时间拟定待办事项清单,让团队知道客户重视什么,不重视什么。
8.2.1 产品负责人的4种特点
8.2.1.1 产品负责人需要在相关领域内掌握丰富的专业知识。一方面,产品负责人应该对团队目前正在采用的流程具有足够的了解,只有这样他才能知道哪些事情能做,哪些不能做。另一方面,只有了解当前正在采用的流程,产品负责人蔡能知道哪些事情是真正有价值的。
8.2.1.2 产品负责人必须获得自主决策权。
8.2.1.3 产品负责人必须有足够的时间与团队成员接触,向团队成员解释清楚需要做什么,以及为什么要这么做。
8.2.1.4 产品负责人必须为价值负责。在商业语境下,最重要的就是收益。可以通过完成Dog Points创造出来的收益来评价产品负责人的业绩。
8.3 决策回路:观察-导向-决定-行动 OODA循环
8.4 重要的事情优先做
在最理想的情况下,尽快做出能够产生80%价值的那20%的事情,是最重要的。然而究竟哪些任务属于那20%呢?你在第一个冲刺爱是之前所做的,都不过是猜测而已,现实情况也是如此,在冲刺开始之前,进行大胆猜测是你最好的选择。
当你完成第一个冲刺,进行OODA循环,并为客户创造出一部分产品后,你就会意识到哪种顺序最好,因此会改变固有的优先顺序。然后一直这样做下去,在每一个冲刺后更新待办事项清单,重新排列优先顺序。
要记住的一件关键事情是,优先顺序处在不停的变动之中。
8.5 发布产品
现在,你知道如何确定待办事项清单的优先顺序了,也知道需要通过开发一个产品20%的功能去传递80%的价值。那么,应该在什么时候发布产品呢?
8.5.1 最简化可行产品
你应该尽快把具有基本使用功能的产品展示给客户,比如能照相但不能对焦的相机,只有两个椅子的餐厅,以及把疫苗送给100个村庄中的5个。(这点跟《快速软件开发》里尽早测试和发布是一个道理,原因和目的也是相同的。)
它的意义在于尽快获取用户反馈。比如你可以尽早知道相机的机身不合理,快门的位置很奇怪,椅子木头的颜色跟桌子不搭。有许多错误是需要尽早发现的。
这意味着你可以先开发客户看重的功能,然后在整个产品的所有功能完成20%时发布。如果你想把产品做到完美无缺时再发布,只会浪费发觉其他价值的机会。
8.6 花冤枉钱与免费变更需求
几乎所有的外包项目,都会有需求变更。各大企业与机构不得不为此专门设置一个“需求变更控制委员会”,从成本的角度来看,这样做是有道理的,通过限制变更的次数,达到控制由此产生的成本。
但是你要意识到控制变更无异于否定客户的真正需求。在努力限制成本的同时,也显示了学习与创新。
况且有时候,变更控制委员会不得不同意一些变更,并追加成本,因为如果不同意变更,整个项目都将失去意义。类似的需求可能会一而再再而三的出现,产品将不得不大大延迟进度。
8.6.1 免费变更需求
免费变更需求的观点是,在一个标准的固定总价合同里,列出你期望的所有功能,然后专门添加一条免费变更需求的条款。比如你要制造一辆坦克,你需要的功能包括:每小时75公里,发射速度1分钟10发,有4个座位,有空调。制造商看过需求描述并评估后,将把任务分解并配上Dog Points,比如制造引擎100点,装填装置50点,座位5点,最后合同将得出一个固定的总点数。至于在项目过程中发现的新功能,只要从原本的项目点数中扣除新功能的点数即可。你的坦克想加入激光制导系统,没问题,我们评估激光制导大概50点,只要扣除待办事项清单中的50点来抵消就可以了。
少数公司已经把这种理念运用到了新境界,为客户提高更高价值的功能。他们获取了一个1000万的合同,月底20个月交付产品。乙方在合同中插入了一个条款:如果甲方在任何时候想终止合同,只需支付剩余合同价值的20%。那么,我们设想一下,如果按照Scrum的交付方式,每次交付20%最重要的功能的话,甲方很可能在中途已经得到了他们想要的产品,并且在时间上还有所提前。
8.7 风险
8.7.1 三个常见的风险类型
市场风险,技术风险,财务风险。换句话来说,就是人们需要我们制造什么?我们能制造出来吗?产品能卖出去吗?
8.8 明天,你要这么做
究竟怎把Scrum落到实处呢?
8.8.1 拟定待办事项清单和组建团队。想一想你的产品或服务前景如何,然后着手把实现这个前景而必须做的事情分解成诸多小的待办事项。这个时候,通常待办事项清单不需要太长,只要能维持一个星期就足够了。等到团队开始第一个冲刺后,你就可以充分利用这些事件拟定下个冲刺的待办事项了。但是你要注意,随着团队工作的推进,效率会越来越高,你可能需要多准备几个冲刺的待办事项清单了。
8.8.2 作为产品负责人,需要制作一张工作路线图。你认为这个季度能取得多少成果,你希望今年能取得什么成果。但要记住一个重要的事实,这只是你当下的想法,没必要列得太详细,只要做出评估就行了。之所以需要这个路线图,是为了增加团队内部运作透明度。
8.8.3 最重要的事情是,你要敢于开始!在后面的附录中将列出详细的步骤。
8.9 本章要点
8.9.1 拟定待办事项清单,检查两遍。
8.9.2 产品负责人。他必须懂项目,懂市场,懂顾客。
8.9.3 领导者不是上司。
8.9.4 观察-导向-决定-行动
8.9.5 花冤枉钱和免费变更需求