有哪些软件指标可用于衡量结对编程的性能?
要清楚
是否有任何指标专门用于衡量结对编程而不用于衡量单个程序员?用于测量的参数是什么?
例如:如果我们要测量个人编程和结对编程的成本,让我们假设对于个人编程成本 = x,所以对将是成本 = 2* x
正确的
对于单个 Time = t 的时间相同,而对于一对 Time = 2* t
因此,如果我想使用代码行来测量产品尺寸,使用此度量标准在个人和配对之间有什么不同吗?
任何想法
有哪些软件指标可用于衡量结对编程的性能?
要清楚
是否有任何指标专门用于衡量结对编程而不用于衡量单个程序员?用于测量的参数是什么?
例如:如果我们要测量个人编程和结对编程的成本,让我们假设对于个人编程成本 = x,所以对将是成本 = 2* x
正确的
对于单个 Time = t 的时间相同,而对于一对 Time = 2* t
因此,如果我想使用代码行来测量产品尺寸,使用此度量标准在个人和配对之间有什么不同吗?
任何想法
很抱歉破坏了你的聚会,但代码行数可能是最糟糕的指标之一,特别是如果人们知道他们的评估或奖金以任何方式与指标相关联。它积极鼓励剪切和粘贴编程和其他暴行。这需要更多的努力,但您为什么不根据您的历史数据,按照一个人的预期努力对工作量进行分类呢?或者,让一些程序员同意冗余地做几个项目,在结对编程和个人之间轮换,这样你就可以看到相同的程序员在每个项目上是如何进行的。由于一个优秀的程序员可以比两个普通程序员更有效率(我依稀记得 IBM 的一项旧研究得出的结论是,最高百分位的人的工作效率是中位数的 27 倍),看到相同的程序员同时做这件事是很有用的。
请记住,其中还涉及无形资产……结对编程 - 恕我直言 - 迫使人们保持专注,并做出更全面和专业的设计决策。只是社交接触可以帮助缓解无聊,尽管它也可能会给一些人带来压力。我的怀疑是——不管它是否开始更快——它会产生更好、更可维护的结果。它还确保了技能和知识的转移。你应该尽可能地考虑这些无形的方面——也许与试验参与者进行访谈或匿名调查。
我猜你想问的是如何衡量使用结对编程的团队的效率。如果是,那么答案是效率的衡量不依赖于团队正在使用的方法或过程。您应该尝试使用发布后确定的问题数量等指标来评估其产品发布的质量。应该是速度吧。
并且,请不要使用代码行来衡量效率。这没有意义。代码行数是衡量产品大小而不是开发人员效率的标准。这就像用身高或体重来判断你有多聪明。代码量和个人效率之间没有相关性。
如果您对更多软件指标感兴趣,请查看http://www.sdlcmetrics.org