如何管理用户期待?——研发团队如何应对来自多方的用户需求(三)

引导5.png




这一篇我们继续讲如何管理用户期待。


上一篇我讲了管理用户期待的两个方法之一:信息透明。这篇我们讲方法之二:给用户的交付日期承诺是可靠的。


要做到第二点,本质是依赖于两点:


1.团队有稳定的产能。产能指的是单位规模的团队在单位时间里产出的可靠的软件的规模(规模的意思就是大小,和工作量相对应)。也就是团队交付软件的速度。


2.团队对新来的需求的规模,能有一个相对可靠的估算


假如团队做软件的速度是:T长度的时间里产出S规模的软件。


新来的这个需求的规模是A。


那么团队预计交付这个新来的需求的工期就是A/S*T。(请记住A/S*T这个公式,这篇文章后面我们会多次提到。)


如果新来的这个需求前面还有一些其他的需求,那就以此类推,把前面这些需求的工期也加进去。


如果A估算得不准,或者S团队自己也不知道(或者非常不稳定)。那么A/S*T得出来的值也是不可靠的。




在本系列文章的第一篇,我曾经有提到专家估算。有人可能会问:这个给用户的预计交付时间,是不是也可以用专家估算法(拍脑袋式)?


简单的回答是不太可能。


即使是使用拍脑袋式评估,拍脑袋的大思路仍然是需求大小除以团队做需求的速度——A/S*T。


A,新来的需求的规模,勉强也可以用专家估算。但是S——团队的产能,却不是一个估算的问题,而是一个实际团队能力的问题。


也就是说:团队要达到稳定的产能,不是靠思考和计算就能达到的,而是需要团队软件工程能力达到一定的水平。




有人可能会问,什么情况下才能算有稳定的产能呢?


回答是:团队能在固定的时间里交付固定的软件规模。


这句话是不是听起来很耳熟?


是的,这就是迭代开发的方法。


要实现这个目标,需要做很多的事情,其中的任何一点做的不好,都会对产能造成影响。


比如,如果需求定义不清晰,一边开发一边澄清需求/返工,或者需求变更没有得到很好的控制,都会造成产能不稳定,甚至到交付的时间了还是零产能。(所有需求都没有达到交付状态。)




看到这里,可能有些团队会觉得有点沮丧:


“我们现在的团队还没有达到稳定的产能,我该怎么给用户可靠的交付时间呢?”


对这个问题,我有两个建议:

一,不要在压力下过早地给出完全没有参考价值的交付时间承诺。

二,在可以给出有相对参考价值的交付时间承诺的时候,使用“我有百分之XX的信心,可以在XX时候交付”句式。


先说第一点。举例说明。


我曾经作为敏捷顾问支持一个小型团队。这个团队是在团队的领导(GM)的要求下建议我进去支持的,当时他们还在开发软件的第一个版本。


经过调研,我发现团队最大的问题就是,之前他们在压力下给GM承诺了两次第一个版本的发布时间,但是两次都没有按照他们的承诺发布,这让GM很不满意。




我看了一下这个产品的情况,包括当时的遗留缺陷的数量和缺陷的趋势图,和待完成的需求的数量。这些信息都表明:这个产品不可能在短期内交付。


而产品经理正在为在接下来给GM的例行汇报中如何汇报交付时间而发愁。


我说:在我们能得到一个相对比较可靠的预计完成时间之前,不要给出交付时间,但是要给对方我们什么时候可以给出相对可靠的交付时间,并且说明理由。


比如可以说:


“我们现在没有可靠的预估时间,但是我们在3周后,也就是X月X日可以给出一个相对可靠发布时间的预估。


这个3周的时间是怎么得出的呢?


在这3周里,我做了下面的事:


  1. 第一周,带领团队对发布标准(质量)和第一个版本的剩余需求(范围)做了明确的界定,然后引入敏捷估算,引导团队估算了剩余要完成的软件规模,也就是A。

  2. 用团队的一个迭代周期(两周)度量团队的实际产能,也就是S。

  3. 在第3周结束的时候,我用A/S就能得到N个迭代后能发布的发布时间,汇报给GM。


以上就是第一点:不要在压力下过早地给出完全没有参考价值的交付时间承诺。




再来说第二点:在可以给出有相对参考价值的交付时间承诺的时候,使用“我有百分之XX的信心,可以在XX时候交付”句式。


还是拿上面这个案例来说。


3周后。


产品经理得到了团队的实际产能,结合估算/产能不稳定造成偏差,我建议他和GM汇报说,


“我们有75%的信心可以在M月D日发布。”


75%也许不是一个很高的信心指数,但是这是一个反应事实的信息,对用户是有参考价值的。


如果GM要求更早的发布日期,我们可以说,对于在您说的这个日期前发布,我们有XX%的信心。如果只有20%的信心,也要如实相告,并且把相应的风险进行及时的披露。


最后,这个产品按承诺的时间交付了。GM很满意。





好了,现在我们对本篇内容做一个总结。


  • “信息透明”和“给用户的交付日期承诺是可靠的”是管理用户期待的两个方法。


  • 给用户的交付日期的可靠程度是依赖于团队的估算水平,和团队的产能的稳定性。(如何达到可靠的估算水平,和稳定的产能,我们后续再说,这里不展开。)


  • 如果团队目前不具备给出可靠预计交付时间的条件,建议仅仅给出新的需求在所有需求队列中的位置(参考上一篇讲信息透明的文章),让用户有一个大概的预期。


  • 避免在压力下过早给出完全没有参考价值的交付时间承诺。


  • 在可以给出有相对参考价值的交付时间承诺的时候,使用“我有百分之XX的信心,可以在XX时候交付”句式。


  • 在用户提出交付信心很低的要求交付日期的时候,尽早使用“信息透明”的方法(详见上一篇)说明实际情况,并且如实告知按照这个时间交付的实际信心程度,和其他交付风险。


关于管理用户期待,你遇到过什么样的故事,有什么好的方法?欢迎你在后台留言!

END


精选文章

一次性解决所有需求变更问题(赠需求变更流程图)

团队大了怎么管?

需求多做不完怎么办?

如何管理需求方期待?


“轻松做软件”是IT人的效率公众号,不加班必备

科学工作,少走弯路,快来关注吧!

image.png



猜你喜欢

转载自blog.csdn.net/qq_32814769/article/details/87997592