Spotify敏捷模式详解三部曲第二篇:研发过程

简介: 在本系列文章的第一篇,我们介绍了Spotify的敏捷研发团队,以及它独特的组织架构。在本篇,我们将介绍Spotify基于敏捷开发和精益创业思维的产品研发过程。

引言
在本系列文章的第一篇,我们介绍了Spotify的敏捷研发团队,以及它独特的组织架构。Spotify的研发团队采用的是一种非常独特的组织架构,如下图所示:
1

整个研发组织有多个称为“Tribe部落”的单元组成,每个部落中包括多个“Squad小队”,从横向的维度,把拥有类似技能的人放在一起形成“Chapter分会”和“Guild协会”。

本篇是Spotify敏捷模式详解三部曲第二篇,将继续为大家介绍Spotify基于敏捷开发和精益创业思维的产品研发过程。

Spotify产品开发的核心理念
创造革命性的产品,通过早期低成本的原型设计来控制产品风险。
品质不过关决不发布产品,即便是落后于既定的发布日期。
通过产品发布后持续地调整优化,来确保产品从发布时就表现优异,直至最后得到惊艳的产品。
从产品创意——>形成产品4个阶段
2

产品风险控制
产品开发最大的风险——构建一个错误的产品。
思考阶段:以较低的成本,大幅度降低产品风险。
构建阶段:运作成本高,几乎无法降低产品风险,所以要尽量缩短。
发布阶段:随着产品的发布和客户使用,产品风险持续降低。
调整阶段:随着时间的推移,产品逐渐完善,运作成本持续下降,小队们可以开始逐渐去做其他事情。
3

一、Think it 阶段
工作流程
4

过程说明

目标:拿出一个足够吸引人的故事性描述和能够传达它的可运行原型。
输入:产品创意
过程:

  1. 组建Think it 小队。
    2.写故事描述,定义指标(要达到的效果)。

3.构建原型。
4.确认是否值得构建MVP。

完成的定义:
1.管理者和Think it 小队都认同这个产品值得构建(或者这个产品永远都不值得构建,应该被舍弃)。
2.说明:这是一个主观上的决定,它并没有过硬的数据作支撑。直到Ship It阶段才会产生坚实的数据,所以我们希望尽可能快地到达Ship It阶段。

故事描述(narrative)
故事描述,是一个简短的文档,用来回答如下问题:

  1. 为什么我们要开发这个产品?谁能从中受益?如何受益?
  2. 我们期望可以从这个产品提升哪些关键指标?诸如:会增加多少音乐播放量,增加多少下载量,增加多少登录量等等。
  3. 我们的预期是怎样的?我们如何判断这个产品是否成功?
  4. 是否会令产品“再上一个台阶”(Step Change)吗?(指的是,我们预期这个产品在既定指标上会带来至少双倍的提升。如果只是在度量指标上略有提升,最好有个更强有力的理由,例如战略方面的原因)

关于故事描述的说明:

  1. 故事描述不是所谓的产品愿景规划。它不包括特性清单、预算、资源计划。更像是一个用数据说话(数据驱动)的意愿陈述。
  2. 最重要的部分就是故事,要讲一个生动的、能吸引人的故事。

举例:“Discover”标签产品的故事描述——介绍一种发现音乐的更好方式。看!你最喜爱的艺术家刚刚分享了一首歌给你。我们让艺术家们和粉丝们从未如此靠近过。喜欢一个艺术家?那就去follow(关注)他,并与朋友们分享你的新发现吧。

构建原型

  1. “Think It”小队会构建许多不同的原型来传递产品的感官上的体验。

2.“低保真”的纸面原型。

3.“高保真”的可运行的原型(上面跑伪数据源之类)。

4.几个内部焦点小组会用来辨别哪一个原型能最好地传达了它的产品精神(那个故事性描述)。

5.直到我们不断缩小范围,最后只剩下几个胜出的原型。

5

Think it 阶段何时可以结束

  1. 这是一个没有截止日期的迭代过程,我们无法决定这个产品前期会花去多少时间。
  2. 只有当我们可以拿出一个足够吸引人的故事性描述和能够传达出它的可运行的原型,才值得去构建产品。

二、Build it 阶段
工作流程
6
7

过程说明

目标:构建出能够向真实用户充分传达产品理念的MVP(最小可行产品)。
过程:

  1. 扩建小队。
  2. 构建和内部发布。
  3. 确认MVP是否足够好。

注意事项:
1.尽量快:不希望在发布产品前构建一个十分完备的产品,因为这个过程会延迟我们获取客户使用数据的时间。

2.不希望产出无用的或令人沮丧的产品。要写产品级的代码并且保障质量。

3.(MVP也可以称为:最早令人喜爱产品。)

完成的定义:
管理者和小队共同认为:

1.目前这个MVP已经实现了基本的故事描述。

2.已经足够好,可以开始向真实用户发布。

三、Ship it 阶段
工作流程
8

过程说明

目标:逐渐将产品扩散到所有用户,同时进行度量和分析,确保产品在真实环境下,也能够达成它的设计初衷。
过程:

  1. 小范围发布。
  2. A/B测试。
  3. 度量和分析、学习、迭代提升。
  4. 逐步扩散到所有用户,或者抛弃。

完成的定义:

  1. 产品扩散到所有用户。
  2. 注意点:

1)这时并不意味着产品已经“功能齐全(feature complete)”,完成了Ship It阶段只是意味着产品(MVP+必要的改进)已经被100%铺开而已。

2)不存在“功能齐全”的说法,因为产品即使在Ship It阶段之后还会继续优化。

四、Tweak It 阶段
工作流程
9

过程说明:

  1. 在这个阶段,小队持续优化、A/B测试、度量和分析。
  2. 直到有一天,所有重要的改进都已经完成,新的改进已经无法带来吸引人的收益,指标数据已经很难有进一步的提升,产品已经趋近于“极致”。
  3. 这时候,小队会逐渐转向新的工作或者重构下一代产品(回到Think it 阶段)

五、总结
产品开发全景图如下图所示,它包括了四个阶段:

Think it阶段:拿出一个足够吸引人的故事性描述和能够传达它的可运行原型
Build it阶段:构建出能够向真实用户充分传达产品理念的MVP(最小可行产品)。
Ship it阶段:逐渐将产品扩散到所有用户,同时进行度量和分析,确保产品在真实环境下,也能够达成它的设计初衷。
Tweak it阶段:在这个阶段,小队持续优化、A/B测试、度量和分析。
10

本篇是Spotify敏捷模式详解三部曲第二篇:研发过程,本系列文章的下一篇将继续介绍Spotify的工程文化,敬请期待。

相关阅读:
Spotify敏捷模式详解三部曲第一篇:研发团队

参考资料:

本文部分内容及引用的图片主要来自于Henrik Kniberg和Anders Ivarsson的文章《Scaling Agile @ Spotify with Tribes, Squads, Chapters & Guilds》。
本文作者:

Jerry Li(李洁), Eric Liao(廖靖斌)

本文转自:Scrum中文网

目录
相关文章
|
运维 监控 安全
阿里巴巴DevOps实践指南(十五)| 应用环境能力
应用环境解决方案并不仅仅是将应用的开发环境、基础环境搭建起来即可,还涉及到环境的稳定性如何保证,基于环境如何规范变更的流程,基于环境如何提升开发效率等等。环境治理需要站在更高的角度,综合看待上述问题,否则就会陷入环境问题年年治理、年年被吐槽的怪圈。
阿里巴巴DevOps实践指南(十五)| 应用环境能力
|
安全 算法 Java
5种阿里常用代码检测推荐 | 阿里巴巴DevOps实践指南(十二)
随着业务演进和团队扩张,软件规模和调用链路越来越复杂。如若没有良好的代码检测机制,只依靠功能性验证,团队技术债会越累越高,开发团队往往要花费大量的时间和精力发现并修改代码缺陷,最终拖垮迭代进度、协作效率,甚至引发严重的安全问题。
5种阿里常用代码检测推荐 |  阿里巴巴DevOps实践指南(十二)
|
数据可视化 算法 前端开发
一文吃透低代码平台源代码交付的重要性(避坑指南)
一文吃透低代码平台源代码交付的重要性(避坑指南)
365 0
|
Cloud Native 安全 搜索推荐
都说DevOps落地难,到底难在哪里?也许你还没找到套路
当你打开这篇文章的时候,也许你也在为DevOps的落地而苦恼,也许你的组织正在尝试DevOps转型,作为一线的实践者,说说我对这个“落地难”的看法,欢迎交流不同看法~
129 0
|
移动开发 小程序 JavaScript
讲真,这几个完整的开源Java项目能让你的能力提高一大截
前言 今天有一个读者问了,一个很神奇的问题:
174 0
|
消息中间件 Kubernetes JavaScript
讲真,这几个完整的开源Java项目能让你的能力提高一大截(下)
前言 今天有一个读者问了,一个很神奇的问题:
234 0
|
消息中间件 监控 NoSQL
项目中怎样做技术选型
项目中怎样做技术选型
项目中怎样做技术选型
|
缓存 资源调度 Java
阿里巴巴DevOps实践指南(十七)| 提升构建的效率
构建是将源码变成制品的过程。构建包括编译,但不等同于编译。即使对于不需要编译的解释型语言,也要构建成一个压缩包或 Docker 镜像再去部署。无论是在开发阶段还是 CICD 阶段,都离不开构建过程,构建的质量和效率对持续交付影响很大。影响构建效率的因素,包括源码以及构建的依赖。
阿里巴巴DevOps实践指南(十七)| 提升构建的效率
|
存储 人工智能 运维
阿里巴巴DevOps实践指南(二十)| 业务系统安全工程
系统的安全受内部和外部双重影响,在防止企业系统受外部影响上,信息安全目前相关的理论研究和产品建设已经较为完善。当前系统故障的更多原因是由于企业内部问题导致的,信息系统安全工程作为降低系统故障的体系化解决方案,未来的相关理论研究、产品服务也将得到快速发展。
阿里巴巴DevOps实践指南(二十)| 业务系统安全工程
|
运维 监控 Cloud Native
阿里巴巴DevOps实践指南(二十六)| DevOps 能力提升模型
DevOps 能力反映的是技术研发响应业务变化的能力。随着组织规模的增加和业务复杂性增长,DevOps 能力会变得越来越重要。持续提升 DevOps 的能力成为技术研发的共同挑战。
阿里巴巴DevOps实践指南(二十六)| DevOps 能力提升模型