热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

软件开发项目衡量指标_不衡量开发人员—衡量项目

软件开发项目衡量指标一只小猫在说:“为什么要单独衡量开发人员?”您是否听说过通过度量标准来管理团队,例如错误关闭率或每周生成的代码行&#x

软件开发项目 衡量指标

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

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

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

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

好吧,让我们做吧!

您应谨慎使用的指标

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

软件开发项目 衡量指标



推荐阅读
  • 汇编语言等号伪指令解析:探究其陡峭的学习曲线
    汇编语言以其独特的特性和复杂的语法结构,一直被认为是编程领域中学习难度较高的语言之一。本文将探讨汇编语言中的等号伪指令及其对初学者带来的挑战,并结合社区反馈分析其学习曲线。 ... [详细]
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • 探索Squid反向代理中的远程代码执行漏洞
    本文深入探讨了在网站渗透测试过程中发现的Squid反向代理系统中存在的远程代码执行漏洞,旨在帮助网站管理者和开发者了解此类漏洞的危害及防范措施。 ... [详细]
  • 深入解析Apache SkyWalking CVE-2020-9483 SQL注入漏洞
    本文详细探讨了Apache SkyWalking中的SQL注入漏洞(CVE-2020-9483),特别是其影响范围、漏洞原因及修复方法。Apache SkyWalking是一款强大的应用性能管理工具,广泛应用于微服务架构中。然而,该漏洞使得未经授权的攻击者能够通过特定的GraphQL接口执行恶意SQL查询,从而获取敏感信息。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 如何彻底清除顽固软件如360
    本文详细介绍了如何彻底卸载难以删除的软件,如360安全卫士。这类软件不仅难以卸载,还会在开机时启动多个应用,影响系统性能。我们将提供两种有效的方法来帮助您彻底清理这些顽固软件。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 探讨了小型企业在构建安全网络和软件时所面临的挑战和机遇。本文介绍了如何通过合理的方法和工具,确保小型企业能够有效提升其软件的安全性,从而保护客户数据并增强市场竞争力。 ... [详细]
  • 在众多不为人知的软件中,这些工具凭借其卓越的功能和高效的性能脱颖而出。本文将为您详细介绍其中八款精品软件,帮助您提高工作效率。 ... [详细]
  • 自SQL Server 2005以来,微软的这款数据库产品逐渐崭露头角,成为企业级应用中的佼佼者。本文将探讨SQL Server 2008的革新之处及其对企业级数据库市场的影响。 ... [详细]
  • VMware vRealize 平台高危漏洞安全公告
    近期,VMware 发布了关于其 vRealize 平台存在服务器端请求伪造(SSRF)及任意文件上传两个严重漏洞的安全公告。这些漏洞可能导致未授权的远程代码执行,建议用户尽快采取措施进行防护。 ... [详细]
author-avatar
迷失港湾的豪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有