开发代码行数能衡量什么_为什么时间不能衡量进步

开发代码行数能衡量什么

项目经理在项目期间经常弹出的问题之一是: “完成这项工作需要多少天?” 。 这是一个非常自然和明智的问题。 您想知道什么时候完成一个项目,以便人们可以预期所需的预算,其中的功能以及何时完成。 但是,回答问题比传统上假设的要困难得多。

插图

想象一下,您期望来自遥远城市的朋友来您家参观。 这座城市距离酒店有150英里。 他已经旅行了一段时间,您想知道到达您家的时间。 你以为他要三趟

小时。 您给他打个电话,然后问他一个问题。 “您到这里要花多长时间?” 。 想象一下他回答“我已经旅行了两个小时”

您可以从中得出什么样的结论?

  • 也许是这样: “太棒了,通常旅行需要三个小时,所以他应该在一小时内到这里。 一切都按照我的计划进行 。”
  • 另一个结论可能是“我上周六旅行了相同的距离,花了我三个小时,所以他应该在一小时内到这里。”

但是,希望您显然不能做出任何结论。 您不知道已经取得的进展,也不知道朋友旅行的速度。 您将基于此答案得出的任何结论都将包含一个假设,并且可能是一个错误的假设。 它假定您的朋友所处的状况与您所想的某些假设处境相当。

基本上,唯一可靠的数据是历史数据。

继续讲故事,您的朋友终于到了。 由于您的城市仅几英里之内的交通拥堵,他花了五个小时才能完成150英里的路程。 顺便说一句,您的朋友有一辆旧车,其行驶速度不超过每小时62英里。 那么,您的朋友能为您说些什么,以便您有最佳的基础来估算ETA? 基本上,唯一可靠的数据是历史数据。 显然,如果您的朋友以前从未去过这条路线,则没有历史数据。 那么,他最可靠的答案是:

“到目前为止,我已经旅行了90英里,平均速度为每小时45英里。 我无法保证什么时候到达,因为可能会弹出一些意外的信息。 但是,根据我目前的进度和速度,我预计会在一个半小时内到达。”

请注意,一旦您知道到目前为止的速度和进度,经过的时间进行预测就无关

带回家

回到项目经理的情况。 我们可以从中学到什么? “我们什么时候结束?”

  • 首先,软件开发项目往往是复杂且不可预测的。 有没有办法可以预先在时间,这点保证,你将y的预算提供X功能。
  • 其次,要衡量进度,您需要知道开发团队以什么速度进步。 您将必须找到一种使之透明的方法。 这是一个线索:时间绝不是衡量进步的标准。 进步的唯一衡量标准是交付价值
  • 第三,您不能将自己的假设情况甚至团队经验与其他人的情况相提并论,更不用说一个完全不同的团队了。 情况不同,因为人员不同,团队不同,组织也不同。 仅此本身就创建了一个独特且事先无法预测的动态。 在通常是毫无根据的猜测的基础的假设假设下,团队的工作不受干扰,不受环境影响,并且一切可用,并且未考虑任何意外情况。

那怎么办呢?

  • 要衡量进度,请预先对故事点中要实现的功能进行粗略估计。 故事点表示完成一项功能所需执行的工作量。 这相当于要行驶的英里数,并且没有时间限制。
  • 接下来,跟踪项目中完成的故事点。 这表明了团队的速度。 它不能为您提供关于未来的任何保证,但它是您可以拥有的最佳数据,因为它是从现实世界中提取的数据。
  • 第三,在进行冲刺时,请定期重新评估尚需完成的积压工作。 这与团队的速度相结合,将指示您的团队何时完成工作。
  • 最后,永远不要做固定的时间,固定的预算,固定的功能。 不,不要这么做。 我个人比较喜欢固定时间,固定预算,灵活范围 。 大多数时候,人们不会记得您是否错过了一项功能。 但是,您被记住错过的最后期限。

忽略历史后果自负。

参考: Agile Arts博客上的JCG合作伙伴 Arthur Arts解释了为什么时间不能衡量进步

翻译自: https://www.javacodegeeks.com/2013/03/why-time-is-no-measure-for-progress.html

开发代码行数能衡量什么

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值