【问题标题】:using software metrics for measuring productivity of pair programming使用软件度量来衡量结对编程的生产力
【发布时间】:2010-10-07 00:47:08
【问题描述】:

可用于衡量结对编程性能的软件指标有哪些?

说清楚

是否有任何指标专门用于衡量结对编程而不用于衡量单个程序员?用于测量的参数是什么?

例如:如果我们要衡量个人和结对编程的成本 让我们假设对于个人编程 Cost = x 所以这对将是 Cost = 2* x

正确

对于单个 Time = t 的时间相同,而对于一对 Time = 2* t

所以如果我想使用 Lines of code 来衡量产品大小,使用这个指标在个人和配对之间有什么不同吗?

任何想法

【问题讨论】:

标签: metrics pair-programming


【解决方案1】:

很抱歉破坏了您的聚会,但代码行数可能是最糟糕的指标之一,尤其是当人们知道他们的评估或奖金与该指标有任何关联时。它积极鼓励剪切和粘贴编程和其他暴行。这需要更多的努力,但是您为什么不根据您的历史数据根据一个人的预期努力对工作量进行分类呢?或者,让一些程序员同意冗余地做几个项目,在结对编程和个人之间轮换,这样你就可以看到相同的程序员在每个项目上的表现如何。由于一个优秀的程序员可以比两个普通程序员更有效率(我依稀记得 IBM 的一项旧研究得出的结论是,最高百分位的人的工作效率是中位数的 27 倍),看到相同的程序员同时做这件事是很有用的。如果通过这样的实验客观地发现正确的过程在短期生产力损失方面成本太高,那么你最好还是不要理会 LOC 指标……好的程序员知道他们的工作安排是基于这样的意志可能很不以为然。

请记住,其中还涉及无形资产...结对编程 - 恕我直言 - 迫使人们保持专注,并做出更全面和专业的设计决策。只是社交接触可以帮助缓解无聊,尽管它也可能会给一些人带来压力。我的怀疑是——不管它是否开始更快——它会产生更好、更可维护的结果。它还确保了技能和知识的转移。您应该尽可能地考虑这些无形的方面 - 可能与试验参与者进行访谈或匿名调查。

【讨论】:

  • 我认为这不是最差的一个,它是最差的指标。好的,LOC / (Pizza * Mountain Dew * Programmers) 可能也不会做得很好。
  • 哇 - 比萨饼的成本与该公式中的程序员一样多:-)。最糟糕的......这几乎是一个挑战! “开发构建的正常运行时间”怎么样......如果你不签入任何东西,你就不能破坏构建;-)。
【解决方案2】:

我猜你想问的是如何衡量使用结对编程的团队的效率。如果是,那么答案是效率的衡量不取决于团队正在使用的方法或工作流程。您应该尝试使用发布后确定的问题数量等指标来评估其产品发布的质量。可能是速度。

请不要使用代码行来衡量效率。这没有意义。代码行数是衡量产品大小而不是开发人员效率的标准。这就像用身高或体重来判断你有多聪明。代码量和个人效率之间没有相关性。

如果您对更多软件指标感兴趣,请查看http://www.sdlcmetrics.org

【讨论】:

  • 对不起,网址有错误...我现在已修复
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-24
  • 2018-05-14
  • 1970-01-01
  • 1970-01-01
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多