Outcome VS. Output:研发效能提升中,谁会更胜一筹?

news2024/9/20 16:56:25

2007 年,网景通信公司(Netscape)的联合创始人 Marc Andreessen 在博客 The Pmarca Guide to Startups 中提出 「Product/Market Fit」 ,他写道, 「这意味着在一个良好的市场中,拥有能够满足该市场的产品。」

Product/market fit means being in a good market with a product that can satisfy that market.
—— The Pmarca Guide to Startups

图片

聚焦到产品研发环节,验证 PMF(即 Product/Market Fit)要求研发团队在找准市场定位的同时,根据市场和需求的变化及时调整战略,为用户创造价值,并实现经济效益的增长——这也是敏捷开发的基本核心。

理想情况下,敏捷团队的产品负责人(PO)、Scrum Master 和开发团队各司其职,在价值优先、增量构建和紧密协作中,持续交付可工作的软件,逐步验证市场价值和商业价值。

而现实情况往往是,需求源源不断地涌入,产品和开发团队迷失在所谓的「用户需求」和「用户反馈」当中,抓不住真正的「价值浮板」。最终,结果导向的「敏捷开发」沦陷为产出导向的「快速开发」,并落下「中华田园敏捷」的恶名。

图片

01 结果导向 VS. 产出导向

敏捷开发以结果导向(Outcome Oriented) 为内核,强调价值交付,以优先级排序、产品待办列表等最佳实践保障敏捷团队专注于用户价值创

产出导向(Output Oriented) 的快速开发则专注于消除技术风险和快速上线功能。在紧迫的迭代周期内,研发团队追求高效率、高速度和高质量的功能实现,却可能忽视产品价值的市场验证。

研发过程过分强调速度和质量(现实中质量可能无法得到绝对保证),而忽略价值,等同于在无限的功能上线和堆叠中「隔靴搔痒」;若无法直击痛点,为用户提供真正的解决方案,无论开发速度有多快,产品都会被市场淘汰。

另一方面,如果过度关注用户价值而弃质量和效率于不顾,在风云难测的市场和外部环境中,产品也会因此口碑下滑、错失东风,而被市场抛下。

只有在迭代循环中,结合产品生命周期目标,平衡好价值交付和产出效率,兼顾产品价值、技术价值和用户价值的创造,才有可能小步快跑地验证 PMF。

02 研发三大价值

敏捷开发主张产品负责人要与研发团队一起商讨功能明细,为高产品价值的待办事项评定优先顺序和工作量,再结合团队容量制成产品待办列表和迭代待办列表。

那么,实践中的「三大价值」应该如何衡量?

💡 产品价值 - Business Value

产品价值,也称商业价值(Business Value),可以理解为是技术价值和用户价值的总和。提升产品价值的本质是以尽可能少的努力和代价,最大程度满足利益相关者和用户的经济期待。

💡 技术价值 - Technical Value

研发团队将产品想法和创意落地的过程中,为提升研发效能而做出的所有技术努力,共同组成产品的技术价值(Technical Value)。

例如,在迭代实践中,制定软件和开发工具的基本框架,选用合适的自动化工具,消除技术不确定性并解决重大技术问题;

以及,在轮复一轮的磨合与协作中,摸索出最恰当的研发协作模式,形成产品开发相关的技术知识,建立技术规范和要求,并达成共识等。

💡 用户价值 - Customer Value

用户价值,也称客户价值(Customer Value)是产品的各个功能为用户提供的价值;好的功能和模块总是能清晰直观、易于使用地为用户解决问题。

常见的用户价值评估模型包括 RFM 模型、CLV 模型、帕累托模型和顾客社交价值模型等。

  • RFM 模型:通过用户最近一次的购买行为(Recency)、总体消费频率(Frequency)以及消费金额(Monetary)三项指标来描述该用户的价值状况。
  • CLV 模型:CLV 即客户生命周期价值(Customer Lifetime Value),有时也称 LTV(Life Time Value);它考虑含客户获取和客户流失在内的完整客户生命周期。
  • 帕累托模型:基于二八定律的客户价值评估模型,可以帮助团队判断出「谁是利润效益最高的用户」。
  • 顾客社交价值模型:涉及顾客社交活跃度和影响力两个方面,对于产品传播和口碑营销有较好的评估及预测效果。

03 价值增长曲线

David Theil 根据阶段性目标的不同,将产品生命周期划分为知识构建期、产品成长期和稳定增长期,并绘制了技术价值和用户价值的增长曲线。

P.S.: 价值增长曲线图以趋势呈现为主,在具体数值上不存在必然的对应关系。

📍 信息构建期 - Knowledge Building

地基不牢,地动山摇。在产品开发最早期,研发团队以技术建设为主,着重消除技术风险,为用户价值提速做好准备。

研发团队通过构建系统架构和基础设施、选用工具和自动化、制定技术决策,以及使用 Spike(探针法)消除技术不确定性,快速提升技术价值,并建立起用户价值创造所需的技术规范和知识。

同时,团队会设计 MVP 并交付少量功能,不断探索真正的用户价值,在持续、频繁的价值交付中逐步验证 PMF。

📍 产品成长期 - Product Focus

寻找 PMF 的征途总是曲折,但一旦实现,便会迎来爆发式的业务增长和产品扩张。

基于前期牢固的「技术基建」和已被市场验证的产品方向,敏捷团队可以在正确的道路上全力冲刺,专注于产品功能和需求的开发与实现,高速创造用户价值;

产品的技术价值也会在定期回顾中缓慢提升。

图片

📍 稳定增长期 - Stabilizing Product

随着产品功能日渐齐全,用户价值增长趋于平缓,此时产品开发步入成熟期。

敏捷团队也要原地休整,养精蓄锐。研发团队着手修补技术债、优化系统架构、升级基础设施,提升技术价值;产品负责人则根据最新的市场动态和变化,探索新的价值增长机会,等待再次「全力出兵」和爆破式增长。

在不断地迭代实践与复盘中,敏捷团队得以持续提升技术价值,创造用户价值,并打造出稳定的产品价值增长引擎。

LigaAI 总结

无论是产品管理,还是研发管理,最终都要为企业业务增长服务,而验证 PMF 是其中至关重要的战略转折点。

敏捷团队不仅要积极拥抱市场和外部的变化,及时调整或修正产品方向,还应当结合产品生命周期,客观地对产品价值、技术价值和用户价值展开管理,并打造以结果导向为核心的组织成长内核。


了解更多研发管理、效能提升、敏捷开发、前沿技术等消息,欢迎关注 LigaAI@CSDN。

欢迎点击 LigaAI -新一代智能研发协作平台,体验我们的产品,并与我们交流 😃

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SYN480R 解码

目录1.空载情况下2.当有按键被按下3.数据帧分析4.同步码5.数据码6.对24位数据帧分析1.空载情况下 在空载情况下,syn480r 输出引脚,输出的是杂乱无序的波形 2.当有按键被按下 按下按键,会连续输出相同的脉冲波形,放大分析 3.数据…

ParallelsDesktop安装【亲测可行】

我这边安装的是macos最新系统 (Ventura13.2) 本文参考这篇文章安装,但是你完全按照这篇文章会报错,具体可行操作记录如下 一、下载软件和补丁 1、点这里去下载补丁18.0.1 2、点这里去下载对应版本的ParallelsDesktop18.0.1,安装上到试用这里…

RocketMQ 初步了解

RocketMQ 初步了解 前言: ​  近期,因公司使用 RocketMQ 作为消息队列中间件,特此了解。  RocketMQ 是阿里巴巴在 2012 年开发的分布式消息中间件,专为万亿级超大规模的消息处理而设计,具有高吞吐量、低延迟、海量…

计算机图形学:中点BH算法对任意斜率的直线扫描转换方法

作者:非妃是公主 专栏:《计算机图形学》 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录专栏推荐专栏系列文章序一、问题提出二、…

通俗易懂的机器学习——sklearn鸢尾花分类(KNN)

前言 KNN算法是机器学习中较为简单的入门算法,其主要思想是选取k个与待预测点相近的数据,观察他们的类别,本着离谁近就更像谁的思路对于待预测点进行预测,本文将针对使用sklearn进行KNN算法的使用进行详解 数据预处理 在正式开…

测试开发之Django实战示例 第十二章 创建API

第十二章 创建API在上一章里,创建了一个学生注册系统和选课系统。然后创建了展示课程内容的视图,以及学习了如何使用Django缓存框架。在这一章里有如下内容:建立RESTful API管理API视图的认证与权限建立API视图集和路由1创建RESTful API你可能…

【设计模式】创建型模式

简单工厂模式 系列综述: xxxxxxxxx 文章目录对象创建型模式简单(静态)工厂模式工厂方法模式参考博客😊点此到文末惊喜↩︎ 对象创建型模式 简单(静态)工厂模式 抽象原理 抽象产品基类 :定义了…

35岁测试工程师被辞退,给你们一个忠告

一:前言:人生的十字路口静坐反思 入软件测试这一行至今已经10年多,承蒙领导们的照顾与重用,同事的支持与信任,我的职业发展算是相对较好,从入行到各类测试技术岗位,再到测试总监,再转…

silicon labs平台通过串口升级固件方案

开发环境 windowssimplicity studio 5geck sdk 4.1 一 bootloader 新建BGAPI UART DFU工程 工程新建完成以后看一下linkerfile.ld文件的flash和ram的配置跟自己的application工程是否对应得上 配置串口波特率和引脚 默认使用PB0进入bootloader模式,这里改成Non…

CleanMyMac清理工具软件功能优势介绍

CleanMyMac更新最新版本x4.12,完美适配新版系统macOS10.14,拥有全新的界面。CleanMyMac可以让您安全、智能地扫描和清理整个系统,删除大型未使用的文件,减少iPod库的大小,最精确的应用程序卸载,卸载不必要的…

多传感器融合:MVP和PointPainting

多传感器融合相关的理论真的可以非常复杂,而在感知方面,由于可以和深度学习做结合,所以很多工作可以变得简单有效,有时候一个简单的特征融合都会有很好的效果。本文结合 3D 物体检测,为大家带来两篇工作,一…

城市管网监测系统,保障城市血管生命线!

各种不同的管网线路组成了城市的供血管道,管网对于维持正常的社会生活、生产秩序和公共安全至关重要。我国城市平均漏损率达到38%,部分城市甚至超过50%,远超发达国家的平均水平(10%)。对于管道状态的监测,是…

Unreal Engine08:Pawn的实现

写在前面 Pawn继承于Actor,增加了一些用于控制和提供玩家视角的功能,这里主要是介绍一下Pawn类的实现。 一、创建一个Pawn的C类 创建的C类也是放在Source文件夹中的Public和Private文件夹中;选择Pawn作为继承的父类;头文件中除…

实现博客系统

目录 一、博客系统简介 二、准备工作 三、设计实现数据库 四、封装数据库 创建User类和Blog类 使用JDBC连接数据库 创建BlogDAO类操作数据库中的Blog表 创建UserDAO类操作数据库中的user表 五、实现具体功能 1、实现博客列表页 约定前后端交互接口 服务器端 …

安全运维之mysql基线检查

版本加固 选择稳定版本并及时更新、打补丁。 稳定版本:发行6-12个月以内的偶数版本。 检查方法: 使用sql语句:select version(); 检查结果: 存在问题:当前数据库版本较老需要更新 解决方案:前往http://www.mysql…

2023备战金三银四,Python自动化软件测试面试宝典合集(十四)

15.8 App 的性能测试 内容要点:指标:cpu,内存,电量,流量,FPS,怎么测? cpu,内存,流量 android studiocpu 不能超过 10-20% 普通业务要求在 10%左右,核心的业务…

链表:反转链表、快慢指针、删除链表【零神基础精讲】

来源0x3f:https://space.bilibili.com/206214 文章目录反转链表[206. 反转链表](https://leetcode.cn/problems/reverse-linked-list/)[92. 反转链表 II](https://leetcode.cn/problems/reverse-linked-list-ii/)[25. K 个一组翻转链表](https://leetcode.cn/proble…

新生儿住月子中心20天患败血症 什么是败血症?有哪些危害

12月7日,四川眉山市民唐先生说,他刚出生的儿子在妇产医院分娩中心住了20天后感染了败血症。据唐先生介绍,哈子出院时各项指标正常。他在分娩中心住了半个月左右,孩子喝牛奶异常易怒,第二天开始发烧。当天,在…

(十一)、用户中心页面【uniapp+uinicloud多用户社区博客实战项目(完整开发文档-从零到完整项目)】

1,个人中心页面 1.1 新建个人中心页面 1.2 纯净版个人中心页面代码&#xff1a; <template><view class"user"><view class"top"><view class"group"><view class"userinfo"><!-- 顶部 左侧 头像 …

Unreal Engine07:Actor的物理特性

写在前面 UE4作为物理引擎&#xff0c;其中一大功能就是能够赋予物体以物理特性。这里将简单介绍一下Actor常用的一些物理特性设置。 一、基本操作 这里介绍一些UE4的Editor基本操作&#xff1b; 1. Actor的变换 将Actor类拖动到地图中&#xff0c;生成实例&#xff1b;鼠…