使用软件度量来衡量结对编程的效率

时间:2010-10-07 00:47:09

标签: metrics pair-programming

可用于衡量结对编程性能的软件指标是什么?

要清楚

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

例如:如果我们想测量单个和结对编程的成本 让我们假设对于单个编程Cost = x因此对于Cost将是Cost = 2 * x

正确

并且对于个体时间= t的时间相同,而对于时间= 2 * t

所以,如果我想使用代码行来衡量产品规模,那么使用这个指标,个人和代表之间是否有任何不同?

任何想法

2 个答案:

答案 0 :(得分:5)

很抱歉破坏了你的派对,但是代码行是可能的最差指标之一,特别是如果人们知道他们的评估或奖金与指标有任何关联。它积极鼓励剪切和粘贴编程以及其他暴行。这是更多的努力,但为什么不根据您的历史数据根据一个人的预期工作量来分类工作量?或者,让一些程序员同意冗余地执行一些项目,在成对编程和个人之间轮换,这样你就可以看到相同的程序员如何进行。因为一个优秀的程序员可以比两个普通的程序员更有效率(我依旧记得IBM的一项老研究得出的结论是最高百分位数的人比中位数高出27倍),看到同样的程序员两种方式都这样做是有用的。如果通过这样的实验客观地发现正确的过程在短期生产力损失方面成本太高,那么最好不要打扰LOC指标......好的程序员知道他们的工作安排是基于这样的意愿可能会非常不满意。

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

答案 1 :(得分:1)

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

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

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