BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

使用“无估算”准时交付价值

| 作者 Ben Linders 关注 20 他的粉丝 ,译者 李清玉 关注 0 他的粉丝 发布于 2015年5月27日. 估计阅读时间: 8 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

Vasco Duarte建议大家应该尝试用#无估算的方法学习并发现可以帮助他们准时在预算内交付价值的方法。他撰写了一本书《无估算》,解释了为什么估算无效,以及如何使用无估算来管理项目。

InfoQ采访了Vasco Duarte,让他分享了#无估算的观点,以及人们如何使用#无估算在项目中制定决策。InfoQ还问到了大家为什么抵触#无估算以及如何处理。Vasco还解释了他是如何发现并开始使用#无估算的。

InfoQ:您可否简单分享一下#无估算的观点?

Duarte当然,在很多年前,大约1999年或2000年,在项目中我很苦恼,尽管他们几乎都准时完成,但管理却很痛苦。我们有难开的会议,大家都不热心,我们不断努力地满足最后期限,并且临近截止日期时,我们与缺陷做斗争,想要准时发布项目。简而言之,我知道一定有更好的方式可以开始尝试,并找到那种方式。

首先,我们从需求流程开始尝试。我们只用愿景文档和用例文档,而不是传统的需求。让我惊讶并高兴的是,团队变得更开心了,项目交付了更好的结果,交付了更多的价值,并且为了符合期限,对移除哪些范围做出的艰难决定也变得容易了。然而,符合期限仍然很困难。

我们下一步就变得非常清晰,我们不是估算用例,而是开始管理他们来满足特定的内部期限。我们有定期的范围会议,更早地进行测试,我们投入了自动化测试,并停止了把所有东西一起估算,我们只是以小增量来交付价值,并衡量我们的交付速率。除了没有使用估算,我们的做法就是今天所谓的敏捷,。因此,甚至在我们知道敏捷之前,我们就开始实践一些东西,与我们今天的Scrum很接近,但没有估算。对于我来说,#无估算就是:准时并在预算内交付价值。

Infoq:您可否解释一下如何管理用例,以小增量交付?

Duarte这是一个很好的问题:我们如何增量地交付,即使这样做并不容易?实际上,这是一个很重要的问题,我在书籍#无估算中开始编写指南来帮助读者:不管是用户故事还是用例,发现一种方式来增量地交付功能。

那时候我们所做的就是,不断地、彻底地审查每一个用例,脑海中抛出一个问题:我们可以去除哪些内容并仍然能够交付价值?我们审核每一个前置条件(Precondition)、使用者(Actor)、保证,以及场景等。并问:我们可否不要这个并仍然能够交付价值?经过了多个迭代,比较容易的做法是对使用者(Actor)定义非常清晰的优先级,谁第一个服务,谁第二个等。然后介绍演示(Demo)的概念,这是我们实施Scrum时所使用的。重要的一点是,感谢敏捷软件开发采用了增量交付的流程,使得实现更加容易。

InfoQ:很多人争论,没有估算我们无法对比选项,以及在项目中制定决策。在项目中,您如何用#无估算来制定决策呢?

Duarte在项目中,每一天都制定很多类型的决策。从#无估算中最受益的决策类型是,超过项目控制现有的约束,不得不做的决策。在我早期使用#无估算时,我们有非常明确的时间限制。关于期限,我们所销售的产品市场一点都不灵活。我们做消费软件产品,而且我们最大的销售窗是圣诞节。不管你如何争论,日期不可能改变。我们奢侈不起延期,哪怕只有几天。

对于我来说,#无估算尤其可以在这些情况下交付,就是日期没有商量。为了满足这种类型的期限,我们需要在项目中制定上百,甚至上千个决策。没有清晰的、可证实的数据源指导我们的决策,我们就会失败,无法满足圣诞节期限。而估算既不清晰,又无法证实,或至少为时已晚。估算受各种内部政治因素的影响,并且正常的偏差影响了我们的判断。在我们开始使用#无估算之前,我工作的公司记录的跟踪数据显示平均62%的项目延迟,每100天的项目延迟62天。这简直无法接受,有了#无估算,我们创下了准时交付的完美跟踪记录,。因为我们并没有使用估算,而是基于现有进度数据制定决策,并且现有数据是在任何项目中都有的。

InfoQ:您都使用了那些进度数据,以及如何使用的?

Duarte:对于我们来说,进度就是在类生产的环境上交付用例(后来称为功能或者用户故事)。实际上,这一点非常重要,如果我们完成了用例的开发,但没有部署。然后我们后期就会发现问题。也许他们是整合的问题,或者是质量问题,或许是其它类型的问题,所以至关重要的是用运行的测试故事(Running Tested Stories)衡量进度,我在书中使用这一术语。也就是,故事是经过部署的,测试的,并在类生产环境下运行了的。

进度数据通过提供不断更新的信息来“告诉”我们决策,信息是每周的,在一些项目中甚至是每天的,告诉我们哪些已经完成了,哪些还没有完成。

通过查看这些进度数据,并基于该数据预测未来,我们用低成本、或无成本,不断地更新项目的时间轴。当你收集这样的进度数据时并不需要漫长而无聊的估算。

InfoQ:我看到人们抵触#无估算,您知道这是为什么吗?对于如何解决有哪些建议吗?

Duarte大家通常都会抵触任何威胁到他们信念,或者让他们感觉到远离舒适区的想法。我也是一样,我在实践中发现#无估算的仅有原因就是我别无选择。如果我想让项目准时,并按照预算发布,估算没有效果。这有大量的数据证实这一点,甚至围绕这一领悟创建的一些有趣的定律。我喜欢的定律是:Hofstaedter 定律,“就算你考虑了Hofstaedter定律,你还是会花费比你预计更长的时间!”

InfoQ:如果大家想学习更多有关#无估算的内容,您可否推荐一些资源?

Duarte现在有很多人在演讲、以及写有关无估算的内容。最简单的就是到YouTube网站搜索“无估算(NoEstimates)”,会有很多视频有助于你学习#无估算都是关于什么的。我也对此话题正在开始编写一本书,我想帮助那些正在陷入项目失败困境的人们,并解释#无估算如何帮助他们扭转那些项目。这本书在NoEstimatesBook.com网站上的限定时间内是免费的。

InfoQ:在可以使用#无估算之前,您认为还有其他需要进一步发展的吗?

Duarte是的,每个人都需要试验并发现#无估算可以帮助他们的方法。对#无估算并没有单一的、统一的定义,并且我期望这一想法可以和其他思想整合,例如Scrum,看板等。对我很重要的是人们用这个想法试验,学习并分享他们的见解。我们仍在#无估算旅程的开始阶段。

InfoQ:您认为#无估算将会如何发展,未来将会带给我们什么?

Duarte#无估算是个对话,始于Twitter的一个业内需要的主题标签,我每周都会收到来自于发现这些想法的人的邮件,并且非常兴奋最终有一个思维模式的可能性,可以帮助他们准时交付项目,没有延时,并且质量不错。在软件行业,有了这个方法,我们应该有一个良好的生活质量, 不能再把这个方法藏起来了。现在大家都可以使用它并从中受益。

查看英文原文:Delivering Value on Time by Using #NoEstimates

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT