“软件正在吞噬世界。”
马克•安德森
“你无法管理你不衡量的东西。”
彼得•德鲁克
所有行业的组织都在拥抱软件,将其作为向客户交付价值的一种方式,我们也看到了软件驱动传统技术部门之外的创新和竞争力。
例如,银行不再以把金条藏在保险箱里而闻名:相反,金融行业的公司正在利用软件来争夺市场份额。银行正在使用创新的应用程序,让客户可以在几次滑动中完成大部分日常银行业务,从存入支票到在银行账户之间安全地转账。此外,银行本身可以通过多种方式改善服务,比如使用预测分析来检测欺诈交易。其他行业也在经历类似的变化:汽车现在是轮子上的计算机,甚至美国邮政服务也在进行大规模的DevOps转型。软件无处不在。
领导人必须拥抱这个新世界,否则就要退居二线。高德纳公司(Gartner Inc.)预测,到2020年,半数尚未改变团队能力的首席信息长(cio)将被逐出所在组织的领导团队。每一位优秀的领导者都知道,如果你不进行度量,你就无法改进它,因此度量软件开发过程和DevOps转换比以往任何时候都更加重要。
通过软件向业务交付价值需要过程和协调,通常跨越复杂系统的多个团队,并涉及开发和交付具有质量和弹性的软件。作为从业者和专业人士,我们知道软件开发和交付是一门越来越困难的艺术和实践,并且管理和改进任何过程或系统都需要洞察该系统。因此,度量对于创建一个有效的软件价值流是至关重要的。然而,精确测量并非易事。
测量DevOps。收集可以跨软件交付管道提供洞察的度量是困难的。数据必须是完整的、全面的和正确的,这样团队才能关联数据来驱动业务决策。对于许多组织来说,采用最新的最佳敏捷和DevOps工具使任务变得更加困难,因为组织内的多个记录保存系统在不断扩散。
跨组织软件交付数据的主要来源之一是年度DevOps状态报告https://devops-research.com/research.html).2这个行业范围的调查提供了证据,证明软件交付在高绩效的技术驱动的组织中扮演着重要的角色。该报告概述了技术、过程和文化领域中有助于软件交付性能的关键能力,以及这些能力如何反过来促进关键结果,如员工福利、产品质量和组织性能。
在基于调查的研究的支持下,组织开始使用调查数据来衡量他们自己的DevOps的“准备程度”或“成熟度”。虽然这种类型的数据可以提供关于DevOps在团队和组织中可能扮演的潜在角色的有用视图,但危险在于,组织可能在不了解这种方法的局限性的情况下盲目应用调查结果。
另一方面,一些组织批评基于调查的数据批发,而是尝试单独使用系统数据来衡量或评估他们的DevOps准备程度或成熟度。这些基于存储在其存储库中的系统数据创建度量的组织,可能也不理解该方法的局限性。
通过理解这些限制,从业者和领导者可以更好地利用每种方法的好处。本文总结了度量软件价值流的两种独立但互补的方法,并分享了将两者合并的一些缺陷。这两种方法的定义如下:
无论是系统数据还是调查数据都不能单独衡量现代软件交付管道的有效性。两者都是必需的。一种补充性的度量方法可以使组织对其开发和操作环境有一个更完整的了解,解决每种方法的关键差距,并为组织提供他们需要的信息,以便有竞争力地开发和交付软件。
作为一个类比,考虑一个制造商如何跟踪一个复杂的装配线的效率。在每个步骤上的仪器提供了关于每个阶段和跨端到端系统的流动速率和缺陷的数据。用装配线员工的调查数据来补充这一点,可以证明是非常有价值的,例如,发现一个新部署的协作机器人给员工带来的身体压力比机器人供应商承诺的要大。
在出现较高的不良率、较低的员工调查分数甚至是诉讼之前捕获这些信息是非常宝贵的。在本例中,调查数据为系统数据提供了领先指标,或者提供了系统数据可能根本不透露的见解。尽管装配线制造在度量标准和数据收集方面非常成熟,但在如何度量软件交付方面却严重缺乏行业共识。这意味着这种做法仍处于初级阶段。(请注意,这可能与这些领域本身的相对成熟有关:制造学科已经存在了很长时间,所以那些研究和测量它的人有几十年的时间来完善他们的手艺;相比之下,软件工程是一个相对年轻的领域,使得它的度量研究远远不够成熟。)因此,对于组织来说,理解他们可以和不能用哪种方法度量什么,以及他们必须采取什么步骤来获得对软件交付价值流的可见性是至关重要的。
利用作者在收集调查和系统数据方面的几十年的研究和经验,通过与数十个全球组织的数百名专家的深入讨论确认,这些组织将软件价值流度量作为其数字转换的关键部分,本文概述了理解您开发和交付软件的能力所需的度量。
为什么系统数据和调查数据都应该用来度量定义软件交付过程的价值流,这有几个原因。最重要的一点是,大多数组织似乎对他们的软件交付实践几乎没有可见性或可靠的度量。
一个组织越早开始测量,基线就越早建立起来,可以用来测量相对改进。对于小型组织来说,将系统度量作为初始基线是很容易的。例如,一个20人的初创公司可以只用Jira这样的问题跟踪器来测量MTTR(平均修复时间)。然而,一个大型组织将需要包括服务台和潜在的其他计划系统,以便识别基线,并且可能没有实现提供跨系统可见性的工具。我们建议立即开始基线收集,对于许多组织来说,这将意味着在努力捕获和关联系统数据的同时收集调查数据。
在缺乏完整的系统度量的情况下,全面的调查可以相对快速地提供系统的整体视图(例如,在几周内)。与此相比,基于系统的指标提供了系统的完全可见性。获取端到端系统数据可能是一个漫长的过程,因为您首先必须跨系统部署度量解决方案,然后确保跨系统集成到位,以便能够正确地关联数据。现代价值流度量使这变得更容易,但对于许多组织来说,这是一个多年的项目。
虽然尽早开始以获得系统数据的好处是很重要的,但部署调查数据提供了几乎直接的价值和基线信息来源。这对于将当前和未来的调查数据作为基线,以及一旦调查就位后将其与系统数据进行比较都是有价值的。因此,在继续构建基于系统的度量的同时,最好现在就用调查度量获取系统基线。
一旦你完全掌握了基于系统的指标,会发生什么?您可以继续使用基于调查的度量来增强和捕获特别适合于调查方法的附加数据。
领导人必须拥抱这个新世界,否则就要退居二线。高德纳公司(Gartner Inc.)预测,到2020年,半数尚未改变团队能力的首席信息长(cio)将被逐出所在组织的领导团队。
仍然有一些对软件交付很重要的度量,例如基于调查的度量,这些度量将会得到,而基于系统的度量可能会错过。此外,拥有两种类型的度量为三角测量提供了机会:如果您的调查度量提供的数据与来自您的系统的数据有很大的不同,这可能会突出系统中的差距。
有些人可能会说这样的差距只是“人们说谎”的区域,但如果所有与系统密切合作的人都在说谎,您可能会想要将他们的经验视为一个真正的数据点。如果您的工程师始终报告构建时间长,而系统数据报告的构建时间短,这可能是API中的配置错误吗?或者,基于系统的度量只捕获了数据的一部分?如果不始终从使用您的系统的专业人员那里收集见解,您将错过看到全貌的机会。本文的其余部分将概述每种度量类型的优缺点。
基于系统的度量通常是指来自组成端到端软件交付价值流的各种记录系统的数据。该数据的重要方面包括:
打个比方:建房子的时候,承包商可以用混凝土做地基;墙壁用木材/钉子/螺丝/干墙;电线和管道;外墙用砖;油漆/地毯完成;再加上厨房和浴室的任何材料。为了跟踪和监视进度,您可以内置监视来跟踪建筑的每个部分,并在房屋建造时安装它。一旦安装,这个基础设施(特定数据)的每一部分都可以以亚秒级的间隔(精度)持续提供报告和度量(连续数据)。然后,你可以将这些数据进行组合和关联(音量和比例),以创建一幅关于你家里正在发生的事情的全景图。
基于系统的度量是有用的,但是它们不能描绘出软件交付工作中正在发生的事情的完整图像。因此,强烈建议您使用补充的调查度量来增强您的度量。
基于调查的指标通常指的是来自调查的关于系统和人员(如文化)的数据。理想情况下,这些调查被发送给系统本身的工作人员以及对软件开发和交付系统非常熟悉的人员,也就是执行者。团队最好避免调查管理层和高管,因为正如Forrester最近的一项研究显示的那样,高管往往会高估组织的成熟度。3.
该数据的重要方面包括:
让我们回到房子的类比。在使用系统数据时,您可以从正在报告的系统的每个部分获得详细信息。当通过调查问题询问人们时,这种程度的细节是不可能的(或不现实的),但您可以非常快速和容易地获得对您的系统或其组件正在做什么的整体理解。例如,你可以可靠地确定房子是否处于良好的状态:任何人都可以报告房子是否着火,房间是否脏或有烟,或者事件是否造成了损害。收集这些数据比测量、关联和综合成百上千个数据点所需的时间要快得多。如果您的调查和系统测量不一致,您就有充分的理由开始调试系统。
软件正在推动所有行业和世界各地组织的价值。为了帮助更快地交付价值、质量和可持续性,企业正在进行DevOps转型。为了帮助引导这些困难的转变,领导者必须理解技术过程。
这个过程可以通过一个好的度量程序来阐明,它允许团队成员、领导者和执行者理解技术和过程工作,计划计划,并跟踪进展,这样组织就可以向关键涉众演示投资的价值。基于系统的度量和基于调查的度量都有固有的局限性,但是通过在一个互补的度量程序中利用这两种类型的度量,组织可以更好地了解他们的软件交付价值链和DevOps转换工作。
相关文章
在queue.acm.org
在质量保证中采用DevOps实践
詹姆斯罗氏
http://queue.acm.org/detail.cfm?id=2540984
工程师统计数据
海因里希·哈特曼
http://queue.acm.org/detail.cfm?id=2903468
响应型企业:拥抱黑客方式
埃里克·梅杰和维克拉姆·卡普尔
http://queue.acm.org/detail.cfm?id=2685692
1.阿扎雷洛,德布鲁因,F.和莫图拉,L.热情的化学。贝恩咨询公司,2012;http://www.bain.com/publications/articles/the-chemistry-of-enthusiasm.aspx.
2.DevOps研究和评估:2014、2015、2016和2017年DevOps报告状态;https://devops-research.com/research.html.
3.Stroud, R, Klavens, E, Oehrlich, E, Kinch, A和Lynch, D.一个危险的脱节:高管高估了DevOps的成熟度。Forrester, 2017;http://bit.ly/2Fs6Wjo
数字图书馆是由计算机协会出版的。版权所有©2018 ACM, Inc.
没有找到条目