DevOps落地笔记-21|业务价值:软件发布的最终目的

上一课时介绍如何度量软件的内部质量和外部质量。在外部质量中,我们提到用户满意度是衡量软件外部质量的关键因素。“敏捷宣言”的第一条原则规定:“我们最重要的目标,是通过持续不断的及早交付有价值的软件使用户满意”。从这一点也可以看出,“用户满意度”也是衡量业务价值的重要指标。通过将有价值的软件、满意的用户与企业的最终业务目标相联系,就能实现企业的业务价值,即商业目标,比如用户量的增长,收入的增加,成本的降低等。这也是今天这一课时要介绍的内容。

什么是业务价值?

首先,我问你一个问题:“实施 DevOps 的目的是什么?”。你可能会说:“提高部署频率”“缩短故障恢复时间”“提高服务可用性”等。那么,我们再多问一句:“提高部署频率、缩短故障恢复时间、提高服务可用性,这些的目的是什么?”

DevOps 一般是在企业里实施的,我们需要从企业的本质去考虑。企业是的目标是追求利润最大化。所有企业的经营活动,战略的制定,组织结构的调整,甚至实施 DevOps,最终目标都是为了实现企业的这一目标。如下图所示:从 DevOps 目标到企业目标的递进过程。

& DevOps 目标:提高部署频率、缩短故障恢复时间、提高服务可用性等,这一切都是为了满足用户的目标。

& 用户目标:提高用户的满意度。让用户满意,用户才会将产品推荐给其他人以及继续使用产品和服务,从而实现企业的业务目标。

& 业务目标:市场占有率增长、用户数增长、用户使用时长增长,从而实现企业目标。

& 企业目标:收入增长,实现利润最大化。

可以看出,DevOps目标并不是实施DevOps的最终目标,业务目标以及企业目标才是实施DevOps的最终目标。
在这里插入图片描述
如何衡量业务价值

上面也提到,DevOps 的成功不仅意味着更快的发布软件,而且意味着要为企业带来业务价值,使得企业更有竞争力。因此,DevOps 的度量不仅要度量发布频率、代码缺陷数和需求数这些研发数据,还要度量用户、市场占有率、净推荐值的数据变化。

软件是通过每一次的发布来交付用户需求,也只有在软件发布之后,之前做的所有的努力才能体现出价值。每次发布都是价值增量的交付,那么,如何衡量发布的软件带来了价值增量呢?比如:会增加收入吗?会降低成本吗?会吸引更多用户吗?会阻止现有用户离开吗?等。

在发布阶段就要确定发布的功能范围,也要衡量发布完成后的价值,以便确定项目的收益与实际的收益是否匹配,是否真正实现了业务价值。业务价值度量的动态性,使得衡量业务价值并不容易,可以从以下几个指标来衡量软件的业务价值。

用户数据

可以从以下几个指标度量用户数据。

& 用户访问量。

用户访问量也就是平常所说的 PV,即 Page View,页面浏览量,同一个人浏览同一个页面算一次。网站的 PV 跟电视的收视率是一个概念,可以衡量产品内容或服务受欢迎的程度。

& 独立访客数。

独立访客数也就是平常所说的 UV,即 Unique Visitor,指访问某个网站的不同 IP 人数。该指标提供了在一段时间内用户数量的度量统计,可以衡量使用产品和服务的真实用户数。

& 新增用户数。

新增用户数是指在一段时间内新注册的用户数量。该指标可用于衡量产品或服务的推广效果和渠道转化用户的质量。在增长黑客的 AARRR 模型中,将用户生命周期分为获取用户、提升活跃、提高留存、获取收入、自传播5个阶段,新增用户只是获取用户阶段,后续还需要通过产品或服务的质量和价值去活跃用户、留存用户。

& 用户忠诚度。

用户忠诚度,也称为用户黏性,是用户对企业的产品和服务进行重复使用的一种度量。这是用户满意度、良好的用户体验以及用户从企业获取产品或服务的整体价值的结果。当用户忠诚于企业的产品或服务时,就不会在意产品或服务的价格。因此,用户忠诚度越高,就能带来更多的收益。衡量用户忠诚度的方法有以下几种。

1.重复购买次数:在一定时期内,用户对某一个品牌的产品或服务重复购买的次数越多,说明其对这一品牌的忠诚度越高,反之就越低。

2.决策时间得长短:根据消费心理学研究,用户在购买商品时,有要经过仔细挑选和比较的过程。如果用户在购买时决策时间较短,说明用户对该品牌的产品或服务形成偏爱,因此忠诚度也越高,反之越低。

3.对价格的敏感度:一般情况下,用户对产品或服务的价格都是很敏感的。但是,对于喜爱品牌的产品或服务,用户对其价格变动的承受能力会更强,因此忠诚度也就越高,反之越低。

4.对竞争者的态度:用户对某一品牌态度的变化,多数情况是通过与竞争对手产品相比较而产生的。可以根据用户对竞争者产品的态度来判断用户的忠诚度。如果用户对其他竞争产品没有兴趣,则说明对该品牌忠诚度高,反之就低。

5.对产品问题的态度:任何一个产品都可能因某种原因出现问题。如果用户对某一品牌的忠诚度高,就会对产品问题以宽容的态度对待。反之,则会非常敏感,甚至不再使用该产品或服务。

& 用户留存率。

用户忠诚度衡量的是重复购买的人数,而用户留存率也是以类似的方式衡量用户满意度。用户留存率衡量的是公司在一定时期内留存用户的百分比。对于销售IT服务的软件公司而言,用户留存率对于衡量用户满意度至关重要。因为,不满意的用户可能寻找能够为其提供更多价值的替代产品。当企业发现用户留存率降低时,就说明企业的产品或服务哪里有问题,或者竞争对手为用户提供了更多价值的 IT服务。

用户留存率的计算公式为:用户留存率=((EC-NC)/SC)*100%

其中 EC 表示一段时期末的用户数量,NC 表示此期间的新增用户数量,SC 是该时期开始时的用户数量。

举个例子:假设新发布了一个产品功能,当月开始时有1000位用户,在月末时有1200位用户,同时该月增加了 400 位新用户,通过公式计算:(1200-400)/1000=80 % 可以看出,该月的用户留存率为 80%,对于 IT 服务用户更加关注用户体验,可以通过 DevOps 实践不断提高产品或服务的用户体验来提升用户留存率。

市场占有率

市场占有率对于确定企业收入占行业总收入的百分比至关重要。当企业获得的市场占有率增多并且用户留存率提高时,即可表示发布的软件为用户交付正确的价值。反之,当市场占有率萎缩时,表明竞争对手提供了比你的 IT 服务更多或更好的价值。

在评估市场占有率之前,首先要界定市场,将目标顾客具体化,识别相关的竞争者。原则是,应该从符合顾客需求的角度出发,并且应该以覆盖全部能够满足用户需求的可替代产品和服务的总和的方式进行描述。比如,用户需要在互联网上搜索信息,可以是百度搜索,它的替代品有搜狗搜索、Google 搜索、好搜等,下图是 2020 全年国内搜索引擎占有率的趋势图。
在这里插入图片描述
从图中可以看出,在国内搜索引擎市场中百度搜索的市场占有率遥遥领先,第二位是搜狗搜索。市场占有率决定了企业在该领域的利润,也就是搜索服务的业务价值。结合 DevOps 实践来说,假如搜狗搜索利用 DevOps 实践提高了搜索服务版本更新的速度和搜索的准确性,为更多的用户提供了更好的搜索服务,就会有越来越多的用户选择搜狗搜索,此时就会影响到二者的市场占有率。

净推荐值 eNPS

净推荐值是一个针对企业良性收益与用户增长所提出的用户对企业产品或服务信任的概念。一般需要用户回答“您在多大程度上与愿意向您的朋友推荐该公司的产品或服务?”,答案范围为 0~10,10 分表示非常愿意,0 分表示非常不愿意。根据用户的推荐意愿,将用户分为三类:推荐者、被动者和贬损者。推荐者和贬损者是对企业的产品或服务口碑有影响的用户,这两部分用户在用户总数中所占百分比之差,即为净推荐值(Net Promoter Score,NPS)。如下图所示。
在这里插入图片描述
净推荐值是一个容易操作、容易理解的数值,但该值本身并不会为业务带来改变。重要的是通过该值来分析用户对产品和服务的满意程度,可以辅助我们对影响用户满意的潜在问题进行根因分析,帮助制订产品规划和改进计划,这才是真正实现商业价值。

DevOps 实践能够为企业带来更好的业务价值,这个结论在 2013 年到 2016 年的 Puppet Labs 的年度 DevOps 现状报告中,已经给出了结论。DevOps 能够从根本上打破开发、运维长期以来存在的冲突,使得高绩效者更加敏捷和可靠。同时,也为企业带来了利润率、市场份额和生产效率大幅提升的丰厚回报。

总结

本课时主要介绍了实施 DevOps 的最终目标——实现业务价值。在企业里,DevOps 是为业务服务的,是为了实现企业的业务目标,最终实现企业目标。如果业务不成功,DevOps 有多么的成功都是徒劳的。对于业务价值的度量需要从最终用户的角度出发,衡量用户对产品或服务的认可程度,以及企业在市场上的份额,因为只有这些数据,才能了解企业业务发展的趋势和问题。

到目前为止,DevOps 度量指标这部分就讲完了。这部分的重点是,指标是用于发现问题、指导改进的,要建设全局的、面向结果的指标,而不是局部的、面向过程的指标。DevOps是否能够帮助企业成功,是通过业务指标来体现的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/377427.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯Web应用开发-CSS3 新特性【练习二:获得焦点验证】

页面上有一个姓名输入框和一个密码输入框&#xff0c;当聚焦输入框时&#xff0c;输入框的背景颜色会发生改变&#xff0c; 新建一个 index3.html 文件&#xff0c;在其中写入以下内容。 <!DOCTYPE html> <html lang"en"><head><meta charset&…

mac电脑安装cocoapods出错,以及安装最新版本ruby方法

macbook安装cocoapods时碰到一个报错&#xff1a;大概率是ruby的版本太低导致的 sudo gem install cocoapods ERROR: Error installing cocoapods: ERROR: Failed to build gem native extension. ... Could not create Makefile due to some reason, probably lack of neces…

yarn/npm certificate has expired

目录 报错 原因&#xff1a;HTTPS 证书验证失败 方法 a.检查网络安全软件&#xff1a;可能会拦截或修改 HTTPS 流量 b.strict-ssl:false关闭验证【临时方法】 报错 info No lockfile found. [1/4] Resolving packages... error Error: certificate has expired at TLS…

B站UP主实时信息获取展示php源码

B站UP主实时数据展示系统 - PHP源码分享 想要实时追踪你心仪的B站UP主的最新动态吗&#xff1f;现在&#xff0c;你可以轻松获取并展示B站UP主的实时数据&#xff0c;包括粉丝数、作品数、头像、播放量等关键信息。 功能亮点&#xff1a; 实时更新&#xff1a;系统通过B站AP…

【Spring】GoF 之工厂模式

一、GoF 23 设计模式简介 设计模式&#xff1a;一种可以被重复利用的解决方案 GoF&#xff08;Gang of Four&#xff09;&#xff0c;中文名——四人组 《Design Patterns: Elements of Reusable Object-Oriented Software》&#xff08;即《设计模式》一书&#xff09;&…

洛谷_P5461 赦免战俘_python写法

捋一下这道题的思路&#xff0c;理解了题目的意思之后我们知道这道题一定会用递归。 那递归的出口很简单&#xff0c;矩阵为1x1的时候就是题目所说的不能再细分下去的意思。 问题就在于递归体。 我对于递归体的理解是找到一个普适的规律&#xff0c;这个规律适用于每一次的递归…

解决CORS错误(Spring Boot)

记录一下错误&#xff0c;以博客的形式 前言 跨域&#xff08;Cross-Origin&#xff09;是指在Web开发中&#xff0c;当一个Web应用试图从一个源&#xff08;域名、协议、端口组合&#xff09;获取资源时&#xff0c;该请求的目标与当前页面的源不同。具体来说&#xff0c;当一…

Ansible command命令模块 这个模块可以直接在远程主机上执行命令,并将结果返回本主机。

目录 参数介绍练习环境配置主机清单配置无密码链接ping模块 command 命令模块也可以用来安装点东西看个路径 command 指定目录来 指定命令 参数介绍 chdir    # 在执行命令之前&#xff0c;先切换到该目录 executable # 切换shell来执行命令&#xff0c;需要使用命令的绝对…

正点原子--STM32基本定时器学习笔记(2)

目录 1. 相关寄存器介绍 1.1 控制寄存器 1(TIMx_CR1)​编辑 1.2 DMA/中断使能寄存器(TIMx_DIER) 1.3 状态寄存器(TIMx_SR) 1.4 计数器(TIMx_CNT) 1.5 预分频器(TIMx_PSC) 1.6 自动重装载寄存器(TIMx_ARR) 2. 工程建立 3. 导入tim.c文件 4. 相关HAL库函数介绍 4.1 H…

各款Excel、word在线预览工具对比分析以及onlyoffice预览Excel加载时间长的解决方案

对于onlyoffice插件预览慢的问题分析&#xff1a; 研究了一下onlyoffice&#xff0c;得出以下结论&#xff01; 对于预览慢的问题&#xff0c;原因出在文件类型上&#xff0c;文件类型为低版本xls而非新版xlsx文件&#xff0c;onlyoffice服务器会自动将该文件转换为xlsx文件再…

服务器安装Docker (ubuntu)

前几天因为工作需求&#xff0c;要在服务器上安装Docker&#xff0c;现在把这个过程记录下来 步骤 1&#xff1a;更新软件包索引 打开终端并执行以下命令来更新包索引&#xff1a; sudo apt-get update步骤 2&#xff1a;安装必要的包 安装一些允许apt通过HTTPS使用仓库的包…

VSCode python插件:找不到自定义包导致语法解析失败

众所周知&#xff0c;在python源码中&#xff0c;我们可以通过 sys.path.append("path-to-lib") 来为python解释器添加自定义包的寻找路径。 但是vscode的默认python插件可没法聪明到根据这句话去找这个包&#xff0c;这就会导致后续代码中使用了这个库的部分无法享…

【开源】SpringBoot框架开发大病保险管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统配置维护2.2 系统参保管理2.3 大病保险管理2.4 大病登记管理2.5 保险审核管理 三、系统详细设计3.1 系统整体配置功能设计3.2 大病人员模块设计3.3 大病保险模块设计3.4 大病登记模块设计3.5 保险审核模块设计 四、…

学习与学习理论 - 2024教招

一 学习的概述 1 学习的概念及其内涵 &#xff08;1&#xff09;学习的概念 学习是个体在特定情境下由于练习和反复经验而产生的行为或行为潜能的比较持久的变化。 人类的学习和动物学习的本质区别 人类学习是一个积极、主动的建构过程;人类的学习是掌握社会历史经验和个体经…

Netty中解决粘包/半包

目录 什么是TCP粘包半包&#xff1f; TCP 粘包/半包发生的原因 解决粘包半包 channelRead和channelReadComplete区别 什么是TCP粘包半包&#xff1f; 假设客户端分别发送了两个数据包 D1 和 D2 给服务端&#xff0c;由于服务端一次读取到的字节数是不确定的&#xff0c;故可…

Spring Boot 笔记 002 整合mybatis做数据库读取

概念 MyBatis 是一款优秀的持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&#xff08;Plain Old Java Objec…

grafana+prometheus+hiveserver2(jmx_exporter+metrics)

一、hiveserver2开启metrics&#xff0c;并启动jmx_exporter 1、修改hive-site.xml文件开启metrics <property><name>hive.server2.metrics.enabled</name><value>true</value> </property> <property><name>hive.service.m…

Spring Cloud使用ZooKeeper作为注册中心的示例

简单的Spring Cloud应用程序使用ZooKeeper作为注册中心的示例&#xff1a; 1.新建模块&#xff1a; 2.勾选依赖&#xff1a; 3.在pom.xml文件中做出部分修改及添加Spring Cloud Zookeeper 依赖版本&#xff1a; 完整pom文件 <?xml version"1.0" encoding&q…

兼容ARM 32位架构的edgeConnector产品为用户提供新的部署选项

Softing工业将ARM 32位兼容性集成到了edgeConnector产品中&#xff0c;以满足用户对ARM处理器的边缘设备日益增长的使用需求。 &#xff08;兼容ARM 32位架构的edgeConnector产品扩展了其应用部署范围&#xff09; 用户对采用ARM处理器的紧凑型边缘设备的需求正在大幅增长&…

基于高通滤波器的ECG信号滤波及心率统计matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 ECG信号简介 4.2 高通滤波器原理 4.3 心率统计 5.完整工程文件 1.课题概述 通过高通滤波器对ECG信号进行滤波&#xff0c;然后再统计其心率。 2.系统仿真结果 3.核心程序与模型 版本&#xff1a…