软件开发项目 衡量指标

一只小猫在说:“为什么要单独衡量开发人员?”

您是否听说过通过度量标准来管理团队,例如错误关闭率或每周生成的代码行? 根据这些指标,最差的表现者将被放任。 接下来发生什么? 团队将只关注那些毫无意义的易于修复的错误,以“ 欺骗统计数据 ”! 最终,产品质量变差,而不是变好,也许还会有一些有价值的开发人员离开。 难怪开发人员不信任生产力指标。 “我从来没有见过使用过的功能正常的指标。”

在本文中,我想揭穿软件开发效率度量标准的神话。 我们将看一下以下列表:

  • 您应该谨慎使用的指标-这意味着它们在特定条件下以及以特定方式使用时可能会很有趣;
  • 无论您是贡献者,主管还是经理,您都应该在团队中真正引入有用的建议。

好吧,让我们做吧!

您应谨慎使用的指标

1)门票关闭率

如果您不包括故事点或类似内容,则这可能是您可以使用的最具误导性的指标。 使用此度量标准假设所有票证的工作量大致相同,而事实并非如此。 您永远不要使用此指标来评估开发人员的个人绩效 。 开发人员可以修复一个没人能解决的错误,该错误会影响产品性能的各个方面,并且可能需要花费整整一周的时间。 而另一位开发人员可以同时修复20个详细的错误。 哪一个对您的团队和公司影响最大?

即使您有故事点,在上述情况下的最佳情况下,该错误的故事点也将为5,或者20个错误的故事点将分别为1。 但这并没有考虑到大多数团队都不会将漏洞用于漏洞,而只会用于功能。

话虽如此,您可以使用此指标来确定问题,例如开发人员被困在特定任务上。 关键不是要用它来评估开发人员的绩效,否则您的团队将在不做任何有意义的工作的情况下衡量指标 。 仅将此度量用作了解您作为经理的方式可以如何更好地帮助您的团队的一种方式。

2)产生的代码行(LoC)

在上面的同一示例中,巨大的错误修复可能是一行代码的更改。 您如何将其与导入库或更改每个文件的每个标头的开发人员进行比较? 你不能。 同样,您永远不应使用此指标来评估开发人员的个人绩效。 您可以以相同的方式使用LoC-了解您的团队何时遇到困难,或者可能出于项目质量的考虑而导入过多的库!

有些人根据更改中的代码数量,更改的严重性以及更改影响的文件数量来计算“影响”量度。 总体目标是对LoC进行改进。 这很有趣,但是我强烈建议不要将它们用于个人绩效评估。 实际上,正如许多其他现实生活中的例子所示,上面提到的单行错误修复示例仍然无法正常工作。

3)代码搅动与代码吞吐量

关于什么是代码搅动,有许多不同的定义。 通常用开发人员自己的代码(代表对自己最近工作的编辑)的百分比来衡量。 流失率的突然增加可能表明开发人员在解决特定问题时遇到困难。

有些人认为代码搅动是非生产性的工作,不在“代码吞吐量”之内,这就是危险所在。 确实,代码变更可能表明开发人员正在优化部分代码以获得更好的性能。 或者,产品团队只是优柔寡断,让开发人员围成一圈。 规则是监视所有重大更改,以识别开发人员可能遇到的潜在问题,以帮助团队更快地工作。

您可以将任何指标用于个人表演吗?

好吧,既然您(好吧……我)提出了一个问题:不! 是的,您可以在此引用我的信息。

指标是主观的和信息性的。 您无法根据指标对个人表现做出任何判断。 它们只会帮助您进行查询,以了解实际发生的情况,从而更好地了解项目和团队管理的复杂性。

现实情况是,管理是困难的,总是与环境相关的。 您需要更深入地了解问题的根本原因。 有时您会发现,实际上,开发人员实际上是一个绩效不佳的人,但这是因为您努力了解您的团队并了解他们如何协同工作,因此您可以确定是否有一个成员将其拖了下来。 这就是您成为一名更好的经理的原因,他致力于提高生产率和团队内的忠诚度。

而且,如果您有这样的想法,则可以正确使用上述前三种指标。 您还将途中使用更有用的指标,这将有助于您对团队的工作流程速度和质量有很好的了解。

您应绝对使用的指标

我将在两个不同的类别中列出这些指标:速度和质量。 让我知道是否忘记了; 我很乐意更新这篇文章。

速度相关指标

这些度量标准最具争议性,因为许多人(包括我)学会了讨厌敏捷的故事点。 但是,我希望这里有一些替代方法,希望它们使您三思而后行,不应该测量“速度”。

4)提交频率

如果您想引入每天提交的最佳实践,则此指标很有趣。 这也是查看中断隐性成本的好方法。 诸如计划,会议和追踪规格之类的非编码任务是不可避免的。 团队通常每周至少损失一天的时间进行这些活动。 通过监视提交频率,您可以查看哪些会议对您的团队推送代码的能力有影响。

管理人员应努力保护团队的注意力,并确保过程开销不会成为负担。

5)服务水平协议(SLA)

每个团队都有自己的SLA定义。 但是,这是Airbnb使用的一种,我个人觉得非常有趣。 SLA是您的团队在特定时间内修复和部署的阻止程序错误的百分比(例如,阻止程序错误为24小时,严重错误为5天)。 我真正喜欢这个指标的地方是,它可以让您从用户的角度深入了解产品质量

请注意,在我看来,该指标与速度相关,因为它显示的是团队的速度,而不是所生产软件的质量。

6)拉取请求相关的速度

  • 每周打开的拉取请求数
  • 每周合并的拉取请求数
  • 每周生产部署的数量
  • 平均合并时间(或在特定阈值下合并的合并请求(PR)的百分比)。 这在某种程度上等于“提交到部署的时间”(代码从提交到部署所花费的时间:在此之间,它可能要经过测试,QA和登台,具体取决于您的组织)。 这是一个非常有趣的指标,向您显示您在工作流程中遇到的障碍。

这些指标可以使您了解工程团队的持续吞吐量。 例如,如果雇用更多人时该数字没有增加,则可能存在与现有新流程或需要解决的技术债务有关的问题。 但是,如果它增加得太快,则可能存在质量问题。

不要忘记,在不评估工作质量的情况下衡量团队的速度可能会极具误导性,并且非常危险。

与质量相关的指标

质量本身并不是目标。 重要的是能够以安全的方式发展和改变行为的信心。

7)测试覆盖率

当然,您不需要100%的覆盖率。 但是,了解自己的位置并对其进行跟踪有助于查看您是否以速度为质量。

8)拉要求质量

拉取请求可以使您对代码库的整体复杂性有很好的了解。 代码库越复杂,以下度量标准变高的可能性就越高:

  • 拉取请求中断构建或无法通过测试套件的时间百分比;
  • 合并与拒绝拉取请求的百分比;
  • 拉取请求的评论数-您不希望数字太低,但也不要数字太高。

9)项目中的错误数量

通常,错误的数量将在项目生命周期的中期开始增加。 在截止日期之前的几天或几周内(取决于项目的大小),团队将集中精力减少bug的数量,直到bug的数量达到渐近线为止。 该渐近线最终代表了项目产品的整体质量。 因此,跟踪错误的总数 (区分其优先级)是一个很好的指标。

另一个指标可以是每周或每月发现的错误或错误修复与所提供功能的数量。 它应该指出实施的质量水平。

10)依赖年龄

技术债务的另一个指标是代码库中使用的依赖项过时的程度。 跟踪这一点可能会很有趣。

技术债务是正常现象,将出现在每个项目中,质量概念是主观的。 使用度量标准(例如我在本文中讨论过的度量标准)可以帮助您与团队一起定义一组标准,这将有助于您对团队的工作质量有所了解。

-

本文的重点是,如果您在项目或团队级别衡量指标,则开发人员将不会使用这些指标。 正如@raffi所说 :“您不能玩自己无法衡量的东西。” 游戏指标始终是肤浅的。

如果您不同意我列出的任何指标,或者我错过任何指标,请告诉我。 让我们考虑将本文作为对话的起点。

你走之前…

学到了什么? 不要犹豫,分享它以帮助他人找到它!

如果您对有关工程和产品领导力,生产力以及如何扩大团队规模的文章感兴趣,请订阅我们的新闻通讯!

或加入我们的工程领导社区 。

工程领导社区| Anaxi
由社区策划的高质量趋势文章,内容涉及工程领导力,生产力,团队规模以及… community.anaxi.com

您还可以查看我的最新文章:

破坏开发人员生产力的12大事情
很多文章讨论了技术主管和工程经理的角色。 我们经常遇到的一个常见主题是…… hackernoon.com
独角兽20x工程师的属性
我们都听说过10x工程师一词,不是吗? 您知道原始的研究可以追溯到1960年代吗…… hackernoon.com
如何进行估算最终对开发人员有用
让任何开发人员估算他们完成一个项目需要多长时间。 您会在他们的……中看到他们的憎恶。hackernoon.com

您也可以在Twitter上关注我以保持联系。 谢谢!

最初于 2018 年11月25日 anaxi.com 发布

翻译自: https://hackernoon.com/do-not-measure-developers-measure-projects-12e8bdd41064

软件开发项目 衡量指标

软件开发项目 衡量指标_不衡量开发人员—衡量项目相关推荐

  1. 机器学习模型的衡量指标_在机器学习模型中衡量公平性

    机器学习模型的衡量指标 In our previous article, we gave an in-depth review on how to explain biases in data. Th ...

  2. 基金绩效衡量指标_衡量绩效

    基金绩效衡量指标 Clients care deeply about web performance and they depend on us to articulate and measure h ...

  3. 开发详细设计文档_郑州APP开发:开发前,进行详细设计有没有必要?

    郑州燚轩软件科技有限公司● 点击蓝字关注我们 ● 一般进行软件开发 的人都知道,在进行郑州APP开发时,项目流程主要包括需求分析.概要设计.详细设计.编码和测试 ,那么在其中有了概要设计的情况下,为什 ...

  4. bk3432开发的应用实例_《Javaweb开发实例大全》限时免费啦!

    Java Web,是用Java技术来解决相关web互联网领域的技术栈.web包括:web服务端和web客户端两部分.Java在客户端的应用有Java Applet,不过使用得很少,Java在服务器端的 ...

  5. oa项目经验描述_(完整版)简历中的项目经验范文

    公司性质: 民营企业 所属行业: 计算机 / 互联网 / 通信 / 电子 担任职位: java 程序员 工作描述: OA 自动化办公系统 : 软件环境: Apache Tomcat 5.0/MySQL ...

  6. 微信公众号开发 糟糕的体验_糟糕的开发人员–好老板

    微信公众号开发 糟糕的体验 当我键入此内容时,一些开发人员正在创建他的启动应用程序,这将使他成为百万富翁. 好吧,足够富有以维持他的小生意并激励他创造更多. 目前,其他一些开发人员正在Google P ...

  7. android开发工具哪个好_小程序开发工具怎么用?哪个好用?

    想要开发微信小程序,在没有太多资金找外包团队定制.自建团队开发时,就需要你自己通过小程序开发工具来生成小程序了.现在各种开发工具很多,到底小程序开发工具有哪些?这些微信小程序开发工具哪个好用?根据我的 ...

  8. java项目红叉_完美解决Eclipse导入的项目上有个红叉,但不影响项目运行的问题

    从别的eclipse导了个项目,导入后项目文件夹上显示一个红叉,但项目能跑通.检查了jdk.tomcat版本,都改正正确了,项目目录树里面每个文件夹里面的文件,src.xml都查了,都没发现问题. 后 ...

  9. 双百双新产业项目是什么_全区“双百双新”产业项目推进工作电视电话会议召开...

    原标题:全区"双百双新"产业项目推进工作电视电话会议召开 6月6日,自治区召开全区"双百双新"产业项目推进工作电视电话会议,贯彻落实自治区党委十一届六次全会精神 ...

  10. perplexity 衡量指标_怎样生成语言才能更自然,斯坦福提出超越Perplexity的评估新方法...

    困惑度是评估生成语言是否「自然」的最常见标准,它的值越小,则表示模型生成的句子越接近人类语言.但是这种基于统计的方法并不能很好地评估生成质量,因此本文提出一种新的评估方式 HUSE,它为自然语言生成提 ...

最新文章

  1. 设计模式-创建型模式-工厂模式(工厂三兄弟) TypeScript
  2. Android中的网格布局
  3. 滴滴出行2020数据分析面试题
  4. 八皇后问题求解动态图形演示
  5. linux-数据库篇-索引
  6. python爬取b站搜索结果播放地址_如何利用Python快速爬取B站全站视频信息
  7. android 使用shell模拟触屏_android命令行模拟输入事件(文字、按键、触摸等)
  8. 链队列基本运算的实现
  9. 032-IDUtils 工具类模板
  10. MAXHUB会议平板的无线投屏怎么用?
  11. 今天终于知道了!阿里巴巴 P8、P9 及以上到底是什么水平?
  12. (20210301未解决)error: chmod on /path/.git/config.lock failed: Operation not permitted
  13. GPU显存占满但利用率却很低
  14. 微信新升级?这2个功能是你们期盼的吗?
  15. 追剧人的福利来了,这几款APP让你痛快追剧
  16. php不是当前时间,php取得时间与当前时间不一样
  17. 大数据分析本身的工业化
  18. 前景广阔的技术---云计算
  19. pjmedia系列之媒体设备pjmedia_snd_port
  20. python中的main函数可以被其他文件调用么_在Python中,如何在另一个py文件的[if\u name\uuuu='\uu main\uu']中调用子例程?...

热门文章

  1. 家用宽带搭建个人服务器(一)
  2. 实现isprime函数python,怎样才能实现IsPrime()函数
  3. OPTEE的系统调用
  4. iphone5s已停用连接itunes怎么办?苹果5s已停用连接itunes解决方法
  5. 塔望食品品牌策划|食品行业怎么讲好品牌故事
  6. B. Shashlik Cooking
  7. Mysql内容查找替换
  8. 树莓派无法连接vnc,树莓派 vnc viewer 显示 cannot currently show the desktop 的解决方法
  9. 计算机cpu的字母,买电脑必看:CPU型号后的字母意思详解
  10. “今夜酒店特价”的商业模式是什么?