速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

产品负责人与团队该如何协作?

  • 2013-02-03
  • 本文字数:2361 字

    阅读完需:约 8 分钟

近日,由 Henrik Kniberg 撰写的博文 agile product ownership in a nutshell 从产品负责人的角度高度总结了敏捷软件开发。Henrik 称其为“将一天的产品负责人课程压缩为 15 分钟的精彩介绍”。他建议大家观看一个关于敏捷产品所有权的视频,该视频提供了相应的脚本。下面介绍了该视频所涵盖的内容。

在 Scrum 中,利益相关者需要将使用用户故事表述的东西放在队列中。这个队列叫做产品订单,由产品负责人负责:

产品负责人决定将什么放进去,什么拿出来。产品负责人还会决定顺序——什么东西需要现在构建,什么可以放在后面进行?这个工作不好做,需要与团队和利益相关者协作完成。

产品负责人需要与团队协作来管理产品订单:

这些问题我一直在谈——估算故事的价值与大小、优先级、划分——所有这些通常叫做“订单梳理”。Pat 会在每个周三的 11:00 到 12:00 召开订单梳理会。整个团队都会参加,有时一些利益相关者也会参加。会议议程会不断变化,有时关注点放在估算上,有时放在故事的划分上,有时还会为故事编写验收标准。

对于软件产品的开发来说,每个 Scrum 角色都会有自己的关注点:

各个 Scrum 角色之间应该保持健康的关系。产品负责人关注构建正确的东西。团队关注正确地构建东西。Scrum Master 或是敏捷教练关注缩短反馈回路。

产品负责人应该与团队协作来平衡质量与进度:

如果团队积累了技术债务(没有编写测试、没有持续改进架构),那么团队的速率将会随着时间的推移变得越来越慢,故事燃尽曲线将会变平。这使得预测变得几乎不可能。因此,团队要负责保持可持续的节奏,产品负责人不应该对其施加压力导致其走捷径。

拥有多个团队的大型项目会有一个以上的产品负责人。产品负责人之间的协作是非常必要的:

但在多团队的情况下,产品负责人还有一个额外的重要职责——彼此交流!我们应该组织团队与订单以最小化依赖。但总还是会有一些依赖!因此,产品负责人之间应该进行某种同步,这样才能按照顺序构建,避免局部优化。

Mountain Goat Software 在 learning scrum – the product owner 中介绍了产品负责人这一角色。产品负责人知道应该构建什么,并向 Scrum 团队表明这一点。团队会与产品负责人通力协作来确定在一个 Sprint 中应该开发多少内容。

产品负责人不能这么说“我们还有 4 个 Sprint,因此你们必须在这个 Sprint 中完成 1/4 的产品订单”。产品负责人的工作是通过清晰、鼓舞人心的目标来激励团队。团队成员最清楚他们自身的能力,因此在任何一个 Sprint 中,他们都会从产品订单中选择可以交付的用户故事。

此外,产品负责人还会与团队就如何管理需求变更这一问题达成一致:

Scrum 团队会承诺完成从产品订单中所选择的用户故事,作为回报,产品负责人也会承诺不在 Sprint 中抛出新的需求。需求可以变更(变更也是受鼓励的),但只能在 Sprint 之外变更。

Faisal Mahmood 在博文 should the product owner attend daily scrum, product owner and team engagement 中讨论了产品负责人该如何与敏捷团队在会议中协作。Faisal 解释了产品负责人为何要参加 Sprint 计划、Sprint 评审与回顾会议中:

产品负责人会向团队描述产品订单条目(用户故事或是需求)。他与团队一起工作,确保大家对产品订单条目(或是用户故事等)范围的理解是一致的。产品负责人必须要参加 Sprint 计划会议,否则团队可能会选择低价值或是压根就没有价值的条目。这会导致浪费、混淆或是错失机会的状况发生。 Sprint 评审是产品负责人接受或拒绝工作的最后机会。Scrum 团队(产品负责人、团队与 Scrum Master)与利益相关者会在 Sprint 评审中就产品方向、市场或是竞争状况中的变化进行讨论。该讨论会产生更新的产品订单。因此,我们说产品负责人必须得参与 Sprint 评审会议。

如果产品负责人不出席回顾会议,那么 Scrum 团队就很难改进计划 Sprint、管理与更新产品订单、梳理产品订单的方式;此外,团队与产品负责人及利益相关者之间的交流方式,以及执行 Sprint 评审的方式也将变得难以改进。

Dean Leffingwell 所创建的 scaled agile framework 可以在企业范围内应用精益与敏捷实践。它是这样描述产品负责人角色的:

产品负责人是团队中负责团队订单(即一般意义上的 Scrum 中的产品订单)并确定其优先级的成员。此外,产品负责人在质量上也有着一个重要的角色,他是团队中唯一一个有权向系统基线中“增加”新故事的人。对于向敏捷转型的大多数企业来说,这是个全新、至关重要的角色,通常需要全职参与才行(一般来说是每 1 到 2 个敏捷团队配有 1 个产品负责人)。

根据 Dean 所述,应用敏捷方法开发软件的企业必须得对多个产品经理、产品负责人与团队做出平衡:

从某种程度上来说,企业中成功的开发是一种数字游戏。如果没有在正确的角色上使用正确的人数,那么瓶颈将会严重限制速率。因此,产品经理、产品负责人与敏捷团队的数量必须要做到大致平衡,否则整个系统将会花费大量的时间在定义、澄清与接受上。

Marc Löffler 在其博文 5 reasons why a product owner team might be a good idea 中谈到了产品负责人团队的好处。其中一个原因就是每个敏捷开发团队都应该有一个产品负责人:

曾经听过让 Scrum Master 来担任产品负责人的角色,那他要是不在了呢?这就是瞎搞!但真的就有人这么做,而且不止一个。这就是产品负责人团队存在的另一个原因。即便团队中有一两个成员不在(生病或是度假等) ,团队也依然能够继续。

Marc 提到的另一个原因是产品负责人的团队协作可以改进订单的质量:

我知道并没有人规定只有产品负责人才能在订单中创建新的条目,但很多团队都觉得就该如此。产品负责人团队会迫使大家在一起工作。当然了,他们还需要与开发团队紧密协作,召开订单梳理会议,甚至是让开发者帮助维护订单等。产品负责人团队有助于培育团队的协作精神。

查看英文原文: How do Product Owners and Teams Collaborate?

2013-02-03 10:361748
用户头像

发布了 88 篇内容, 共 263.0 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

Fair World智能合约APP系统软件开发

系统开发

【经验分享】遵循10步法,应用系统发布效率大不同!

嘉为蓝鲸

敏捷 运维自动化 部署 发布流程 应用发布

Reactive Spring实战 -- 理解Reactor的设计与实现

binecy

reactor Reactive SpringBoot 2

Service Mesh最火项目Istio是怎么做流量管理的?

AI乔治

Java 架构 istio

入门参考:从Go中的协程理解串行和并行

soolaugust

Go Concurrency Patterns 七日更 Go 语言

小白干货奇遇记

熊斌

个人成长 七日更

智慧社区综合信息服务平台搭建,智能社区建设解决方案

t13823115967

智慧社区系统开发

2020 微信头像圣诞帽来啦,快给 TA 戴帽子吧~

mghio

圣诞帽 微信头像 圣诞节

脑洞:如何用一个整数来表示一个列表?

Python猫

Python

2020年书单

井中人

执法办案信息化建设,情报研判管控分析平台搭建解决方案

t13823115967

智慧公安

2020,谁是中国ToB行业最有影响力的企业?

ToB行业头条

神比喻:低代码开发像自动驾驶汽车,零代码开发像无人驾驶汽车!

J2PaaS低代码平台

程序员 软件 开发者 低代码 开发工具

距离 Java 开发者玩转 Serverless,到底还有多远?

阿里巴巴云原生

Java Serverless 微服务 云原生 中间件

谁告诉你观察者就是发布订阅模式的!抽他!

爱笑的架构师

设计模式 23种设计模式 观察者模式 Java设计模式 七日更

比特币10年:从2个披萨涨到2万美金,背后的三个“神秘人”

CECBC

比特币

世界之书:《麦田里的守望者》与在虚无中创造希望

lidaobing

麦田里的守望者 28天写作

【理论篇】浅析分布式中的 CAP、BASE、2PC、3PC、Paxos、Raft、ZAB

merlinfeng

大数据 分布式

大连市税务局局长赵福增:用区块链打破部门间“信息孤岛”

CECBC

区块链 汽车

甲方日常72

句子

工作 随笔杂谈 日常

做音视频最好用的几款跨平台框架

anyRTC开发者

flutter uni-app ios android WebRTC

发布会直播技术及业务实践

vivo互联网技术

分布式 服务器 直播技术

英特尔宋继强:迈向可持续的千倍速计算未来

E科讯

MSHA x Chaos 容灾高可用实践

阿里巴巴云原生

数据库 高可用 云原生 中间件 容灾

编程之美!从线程池状态管理来看二进制操作之美

Geek Tech

Java 源码分析 线程池

使用基于 SpringMVC 的透明 RPC 开发微服务

AI乔治

Java spring 架构 微服务 Spring Cloud

生产环境全链路压测建设历程17:某快递A股上市公司的生产压测案例之前言

数列科技杨德华

全链路压测 七日更

得物(毒)APP,8位抽奖码需求,这不就是产品给我留的数学作业!

小傅哥

Java 小傅哥 编程开发 七日更 数学逻辑

volatile,synchronized可见性,有序性,原子性代码证明(基础硬核)

叫练

volatile 多线程 synchronized 原子性 指令

Polkadot系列(三)——如何实现共享安全性

QTech

区块链 polkadot 跨链

“区块链+社会治理”模式获居民点赞

CECBC

区块链 区块链投票

产品负责人与团队该如何协作?_研发效能_Ben Linders_InfoQ精选文章