Answers:
不知道您是否会认为它很优雅,但是Watts Humphrey撰写了一本名为《个人软件过程》的整本书,内容全都是关于衡量自己的生产力的。他概述了输入的度量标准,例如,您在办公桌前的时间与中断,在各种软件生命周期活动上花费的时间,每单位代码量的缺陷。有一份技术报告提供了简短的版本,网址为:
http://www.sei.cmu.edu/library/abstracts/reports/00tr022.cfm
如果您想看开发人员代码的质量,Chidamber&Kemerer提出了一些面向对象代码的指标。
他们使用代码库尝试使用协变量分析将这些指标与缺陷密度和维护工作相关联。后来的研究对数百个Source Forge Java项目进行了类似的分析,以确定它们相对于CK度量标准以及稍后提出的一些其他度量标准的特征。
缺陷可以按许多标准分类:
还有准备和检查率(每个检查者的时间,每行代码的时间)和缺陷密度(每KLOC(千行代码),检查员/检查者时间的每分钟)。
根据控制图绘制这些值可以向我们显示我们是否在流程的范围之内(例如,一个检查200行代码的团队发现在每个KLOC平均有25个缺陷的组中没有缺陷,可能会出现故障)。
其他可能有助于衡量的指标
指标的价值受到极大限制。每个开发人员修复的错误几乎可以指任何东西,当您开始衡量或奖励这种衡量标准时,我敢打赌,错误会变得越来越多,而且越来越细,并且难以修复的错误的组合也会随着团队中樱桃的选择而改变。争取拥有最多的东西。
侵入式测量也会带来一定的干扰,并可能导致注意力和娱乐性丧失。你不能比华兹华斯这样的湖诗人说得优雅得多(在情感上负担很多),
Sweet is the lore which Nature brings; Our meddling intellect Mis-shapes the beauteous forms of things:-- We murder to dissect.
尽管软件并非自然,但请给我一些自由,因为我认为我永远也不会使用中学英语文学课上的任何东西。
敏捷可能被认为是对集中的大型过程的反应。有时,这种工作方式可能需要大量的分析工作,以至于在创建软件时达到流程的能力几乎消失了。
我想添加一个替代答案,该答案从标准软件工程实践转向另一个领域,目的是窃取我们可以根据需要进行调整的基本工具。就像软件开发人员一样,质量保证人员也关注生产,良率以及缺陷检测和预防。
http://en.wikipedia.org/wiki/Seven_Basic_Tools_of_Quality
我喜欢控制图。
http://en.wikipedia.org/wiki/Control_chart
执行一项活动,绘制一个度量,执行另一个,绘制其度量,依此类推。例如,每天的图提交。图表将分散从最小到最大的数据。也许以后您可以对结果进行特征化处理,以确定当该值较低时,某些事情会阻碍进度,而当该值太大时,便会以快速但草率的方式开始工作。您如何鼓励员工加快或减慢速度。
您可以将个人指标与自己相关联,例如“当我...时,我觉得自己最有生产力”。
老手看到我们衡量的是完成的事情,可能会导致您基于确定为限制因素的问题来解决问题
或基于帕累托图按优先顺序排列的多个因素。