在当今行业中,衡量软件项目指标是否流行?


9

我遇到了一个开发人员,该开发人员需要有关其团队项目的一些外部建议。我发现他们正在为公司高管,项目经理和开发人员开发一套巨大的软件套件,这些套件可以自动计算指标并为每次迭代绘制图形。

作为计算机科学背景的学生,我对指标及其重要性了解甚少,但我的问题是:

  1. 大多数公司是否有某种方法来衡量有意义的指标?
  2. 哪些指标(单个或组合)可帮助您缩小项目范围和估算范围?
  3. 作为分析指标的人,您多久根据指标制定一次决策?IE浏览器 每周测试失败的人数急剧增加吗?
  4. 您是否认为引入学习指标有助于您更好地了解项目?

不知道为什么,但是开发人员项目吸引了我,我必须了解更多。如果是

Answers:


6

高校图书馆可能有一些有关度量的书,包括“ 软件度量”和“ 软件质量工程中的度量和模型”。那两个应该给你一个起点。在工业界,几乎没有公司拥有任何类型的度量标准测量程序。

大多数公司是否有某种方法来衡量有意义的指标?

Visual Studio包含一些可以帮助您入门的代码分析工具。大多数公司甚至没有什么东西可以衡量最糟糕的指标:代码行。“做到这一点”似乎是行业中压倒性的推动力,而对于可维护性的关注却很少引起管理者的关注,即“今年我将获得奖金吗?” 和“将在我答应的时间内完成吗?” 即使产品每年都随着增量变化而结转,这两个问题使开发人员对可维护性和错误检测/预防的关注相形见war。

哪些指标(单个或组合)可帮助您缩小项目范围和估算范围?

我发现循环复杂性耦合性是代码存在漏洞或维护难度的有力指标。如果圈复杂度大约为20,则我发现几乎不可能进行测试(因为通过代码最多有2 ^ 20条路径),应该分解为较小的部分。您无法消除复杂性,但可以将其切成更易于管理的块。

如果您正在寻找估计值,则可能需要调查功能

代码覆盖率%大大降低了每次迭代的时间,您是否会提醒开发人员该问题

我发现大多数经理都关心签入的数量和已修复的错误的数量。我现在的经理反对单元测试(他认为这是浪费时间),而我以前的经理则认为花在单元测试上的时间本来应该是写它的时间。

开发人员使用的规范论据是,如果您衡量某事,那只会是您得到的。该论点来自唯一的度量标准是代码行的想法。


感谢您提供详细的答案和相关链接。只是作为跟进:1.为什么经理要关心签到的数量?也许我们对入住的定义是不同的。2.代码行是最差的指标是什么意思?最糟糕的是,它没有给出有关该项目的好的迹象?
拉斯K

@Russ,未签到代码的开发人员,将被视为无法正常工作。LOC最糟糕的地方在于它对游戏无足轻重。看看K&R和Allman缩进代码样式之间的区别:en.wikipedia.org/wiki/Indent_style。只需将开{放在单独的行上,Allman样式将提供更高的LOC计数。免责声明:我讨厌K&R风格,因为我很少会找到匹配的空缺{而不花费太多时间在哪里玩Waldo。
Tangurena

In the industrial world, very few companies have any sort of metric measurement program at all.CMMI评分为2或更高的任何公司都将制定度量/指标分析程序。度量标准的收集是成熟度2级的要求。CMMI成熟度级别4需要基于这些度量和指标以及诸如根本原因分析之类的事情来对已识别的问题采取行动的定量项目管理。有许多组织被评定为CMMI 4级(或5级)。
Thomas Owens

2

我在谈论软件指标时,演讲者提出了一些恕我直言的有见地的观点。我本人对这些东西没有什么经验,但我仍然很感兴趣,也很受启发,但是我不能说这是对还是错。

主要思想是:

  • 就其本身而言,没有任何奇异的度量有用。
  • 设置绝对目标(即XX%的代码覆盖率)没有意义。
  • 没有历史记录的指标很有用。

因此,要解决此问题:

  • 显示几个指标,例如:
    • 总行数/已更改
    • 提交数
    • %代码覆盖率
    • 测试数量
    • 圈复杂度
    • 文件/包/ ...依赖
    • ...
  • 显示来自QA / CI的数据:
    • 错误/增强/更改的数量(我个人认为这种分类很重要)
    • #总计/添加/固定
  • 在显示随时间变化趋势的图表上显示这些指标

这样,当票据被快速修复时,人们可以看到代码质量是否下降。另外,当错误数据库似乎没有发生太多事情时,随着重构的进行,代码质量可能会提高。

总结:重要的是这种动态行为,它为您提供信息而不是原始数据(这将是单个指标的值)。

我计划根据此方案在装有CI的熔岩灯旁边的宽屏电视上放置一些图形。;)


说得好。正如您所提到的,我读了很多关于仅凭指标如何没用的文章,历史很重要。感谢您抽出宝贵的时间回复。
罗斯K
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.