首页 > 其他分享 >敏捷度量实践

敏捷度量实践

时间:2024-08-13 18:05:03浏览次数:13  
标签:定义 效能 实践 研发 敏捷 软件 团队 度量

软件研发工程效能度量是一个非常宏大的话题,我们从如下几个维度展开探讨:

· 为什么需要度量?

· 如何定义有意义的度量目标?

· 如何实现有效度量?

为什么需要度量?

做一件事知道其主要目的,才能有更多的热情和积极的心态把事情做好。

管理学大师彼得德鲁克曾经说过“如果你无法度量它,就无法管理它”(“If you can't measure it, you can't manage it”)。对于软件研发工作,这句话同样一语中的,度量是一切技术改进和决策的前提。

从精益价值流来看,如果可以对软件研发工程效能进行有效度量,我们可以定位系统瓶颈,减少浪费,提高生产效率。

从Scrum框架的理论支柱来看,Scrum框架是基于经验主义三大支柱透明、检视、调整,度量可以对检视提供帮助,并对调整提供有针对性的指向。

如果缺乏有效的度量,技术工作就如盲人摸象,偏离目标是大概率事件。

如何定义有意义的度量目标?

既然度量有如此多的好处,那如何定义有意义的度量目标呢?我们度量的领域是软件研发工程效能,那什么是软件研发工程效能,沿用马斯克第一性原理,软件研发工程效能可以定义为“顺畅、高质量地持续交付有效价值的闭环”。

· 顺畅:价值的流动过程必须顺畅,没有阻碍。

· 高质量:交付以高质量标准交付到客户手中,如果质量有问题,流动的越快,负面影响也越大。

· 持续:不能时断时续, 小步快跑才是王道。

· 有效价值:客户的真正痛点有没有解决,换句话客户愿不愿为软件买单。

· 闭环:持续的闭环反馈,才能引发有效改进,提高客户粘性,提升客户满意度。

定义软件研发工程效能的指标可以从其定义出发,找到着手点。对基础能力,产品交付和业务价值进行分层和定义构建一套度量体系。

· 基础能力层:完善基础设施,通过对人和工具的指标度量,促进研发能力的增强,保障高效执行。

· 产品交付层:以流动效率为核心,关注过程指标,致力于效率、产品和成本的平衡。

· 业务价值层:以业务目标为核心,交付准确、优质的产品,达到预期的业务结果 (业务量增长、用户数增加,等等)。

其中把握度量目标定义的原则是:

· 指标的定义是清晰的、明确的,使大家对度量什么有一致的理解,方便后续改进措施的跟进。

· 指标的定义通过自动化工具或者REST API容易获得,这意味着度量系统较容易实现,从成本考虑,避免一开始就构建一个大而全的度量体系。

· 指标的定义是有明确价值的,定义适合组织土壤和文化的有意义的指标,而不是生搬硬套其他公司的指标定义,因为只有这些指标才可以带来真正的改善并为组织带来价值。

如何实现有效度量?

根据度量体系的分层,找到发力点,基于分层构建度量系统。

度量系统的构建基于开发过程中的客观数据,整个过程与开发周期同频并构建一个反馈循环,有助于更加精准地调整团队行动。

在这个反馈循环中有以下几个步骤:

(1) 收集 – 收集关于团队表现的所有数据

(2) 度量 – 分析数据

      ·  查找数据点之间的变化趋势和关联

      ·  构想有关团队、工作流或者过程等问题

      ·  在分析的基础上,研究如何调整

(3) 应用 – 根据分析进行调整

(4) 重复 – 动态观察,以便持续地分析和调整团队

  1. 基础能力层

软件工程中复杂的因素是人,敏捷宣言中第一条“个体和互动高于流程和工具”。个人和互动通过每一个需求的完成让想法得以落地,它通过源代码管理平台相互交流和碰撞得以体现,每个Pull Request,每次Code Review都是个人能力和团队互动的呈现。

利用源代码管理(SCM)系统,可以获取以下信息:

· 谁在修改代码?

· 代码发生了多大变化?

再结合度量系统的目标,可以使用SCM数据回答:

· 谁在做什么?

· 谁在帮助谁?

· 工作中投入了多少精力?

  1. 产品交付层

利用任务管理系统如JIRA,可以很好地分析数据。

· 执行任务的负责人

· 制定任务的负责人

· 任务开始时间

· 任务完成时间

· 最初估算的任务量

敏捷团队好的工作方式应该全员参与。如果想要创建一个快乐而又高效的团队,对所开发的产品拥有一些所有权,就应该要求团队尽其所能地标记任务,这可以作为一个好的指标,衡量团队的绩效。

  1. 业务价值层

通过应用程序监控,从软件运行和客户满意度情况等方面,衡量是否达成业务目标,如应用程序性能监控(APM)数据和业务智能(BI)数据,有助于衡量团队的工作绩效。

· APM数据从技术角度反映应用程序的表现

· BI数据表示应用程序为客户提供的服务

总结

降本增效是这个内卷时代浪潮的声音,构建度量系统顺势而为,以客观数据为抓手,找到最有意义的改进点,利用反馈循环不断调整并提高团队绩效,达到提高研发效能的终极目标。

小诗一首:

研发效能提升易,

客观数据为抓手,

反馈循环为逻辑,

持续改进为手段,

降本增效为目标,

内卷时代终破局。

——作者:Lilian Chen

作者简介:一直在学习,从未有放弃,渴望有精进的CSP。

标签:定义,效能,实践,研发,敏捷,软件,团队,度量
From: https://www.cnblogs.com/tobyt/p/18357483

相关文章

  • API 设计 实践
    深度|API设计最佳实践的思考https://mp.weixin.qq.com/s/qWrSyzJ54YEw8sLCxAEKlA 深度|API设计最佳实践的思考谷朴 阿里云开发者 2019年05月09日08:10 阿里妹导读:API是模块或者子系统之间交互的接口定义。好的系统架构离不开好的API设计,而一个设计不够完善的......
  • 【YashanDB数据库】Yashandb表闪回业务表实践
    数据误删除DELETE操作闪回示例(HEAP表)基于闪回查询(建议):select*fromsales.branches1;BRANCH_NOBRANCH_NAMEAREA_NOADDRESSEMPLOYEE_COUNT------------------------------------------------------------------------------------------------------------------......
  • Redis流详解及Java实践
    Redis流详解及Java实践RedisStream概述基本概念使用场景RedisStream命令XADD-添加消息XRANGE-获取消息XREAD-读取消息XGROUP-操作消费者组XACK-确认消息代码示例实战案例示例1:日志收集系统生产者服务消费者服务示例2:消息队列生产者服务消费者服务示......
  • SpringBoot优雅开发REST API最佳实践
    写在前面博主最近在做一个数据服务的项目,而这个数据服务的核心就是对外暴露的API,值得高兴的这是一个从0开始的项目,所以终于不用受制于“某些历史”因素去续写各种风格的Controller,可以在项目伊始就以规范的技术和统一形式去搭建API。借此机会,梳理和汇总一下基于SpringBoot项目开......
  • 《软件性能测试分析与调优实践之路》(第2版) 读书笔记(一)总体介绍(上)-真正从性能分析与
    《软件性能测试分析与调优实践之路》(第2版) 是清华大学出版社出版的一本图书,作者为张永清,全书共分为9章,如下图所示 图书介绍:《软件性能测试分析与调优实践之路》(第2版) 1、为什么需要性能测试与分析1)、了解系统的各项性能指标,通过性能压测来了解系统能承受多大的并发访......
  • TensorFlow简介,应用场景,使用方法以及项目实践及案例分析,附带源代码
    一、TensorFlow简介TensorFlow是由GoogleBrain团队开发的开源机器学习库,广泛用于各种复杂的数学计算,特别是涉及深度学习的计算。它提供了丰富的工具和资源,用于构建和训练机器学习模型。TensorFlow的核心是计算图(ComputationGraph),这是一种用于表示计算流程的图结构,由节点(代表......
  • 千万别从系统中创建线程, 看看从线程池中调用的线程的效率(实践篇)
    本篇会加入个人的所谓鱼式疯言❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言而是理解过并总结出来通俗易懂的大白话,小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.......
  • Box-Cox变换 改善数据的分布特性 实践
    Box-Cox变换改善数据的分布特性实践flyfishBox-Cox变换是一种用于数据变换的技术,常用于改善数据的分布特性。使用Box-Cox变换的情况数据不服从正态分布在许多统计分析和建模方法中,正态性假设是一个重要的前提。例如,线性回归、t检验和ANOVA分析通常假设误差项服从正......
  • SSM基于+Vue的学生实践管理平台开发vcjxj 试题
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:班级,学生,教师,企业,竞赛学科,竞赛信息,竞赛报名,竞赛成绩,课题信息,选题信息,开题报告,论文提交,论文成绩,岗位分类,行业领域,招聘信息,应聘申请,学生......
  • Vue 3 SSR的革新之旅:服务器端渲染的改进与实践
    服务器端渲染(SSR)是一种将Web应用的UI渲染过程放在服务器端进行的技术。Vue3对SSR的支持进行了全面改进,提升了性能和开发体验。本文将探讨Vue3中SSR的改进点,并提供实践指南。一、SSR的概念与优势SSR允许服务器直接发送完整的HTML文档给客户端,这有助于提高首屏加载速度,改......