AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

优秀的敏捷项目经理是项目成功的尚方宝剑

A case study

  • 2013-07-19
  • 本文字数:4437 字

    阅读完需:约 15 分钟

如果按照思维定式来考虑已有的 Scrum 框架,项目中本没有敏捷项目经理(Agile PM)这样的角色。而在另一些敏捷方法中——例如特征驱动开发(FDD)人们仍然依仗项目经理(PM)。但项目经理的角色已更多转变为负责项目行政方面,而非负责协调开发团队及其活动方面,或是处理资源问题方面(也远非项目管理知识体系——PMBOK 中所描述的传统意义上的项目经理)。仍旧以特征驱动开发(FDD)为例,以上描述的是开发经理的职责而不一定是项目经理的职责。在战术层面上,敏捷项目经理应该比普通项目经理看得更远,站在战略层面考虑问题。敏捷项目经理不仅应该具备传统项目经理的各项技能,还必须对快节奏、充满变数的敏捷项目及其框架有所见解。

我们可以把敏捷项目经理看成具备多项技能的专业人士,在一定需求下他具备的技能能够使他同时胜任项目中多个角色。从 Scrum 框架考虑,这些角色可以是客户产品负责人(PO)及 Scrum Master。例如,在我们的某个项目中,敏捷项目经理在一个 Sprint 中是 Scrum Master,而在下个 Sprint 中则转变成产品负责人。根据不同需求,敏捷项目经理必须可以胜任 Scrum Master 或产品负责人的角色,而不是去取代这个角色。敏捷项目经理能够凭借自身的项目管理专长胜任任意一个角色(客户的产品负责人及开发团队的 Scrum Master),哪里需要支持,敏捷项目经理就能出现在哪里,永远以达到项目最佳产出为目的。

在敏捷软件开发项目的课程中,人们常常把 Scrum Master 描述成“敏捷流程的负责人”,他会确保团队正确运用 Scrum 及敏捷框架进行开发。当我们考虑近岸开发项目时,由于近岸开发的特点——大多数时候开发团队和产品负责人分布在不同的国家,我们更倾向设多个负责人。这样一来,每个区域的负责人都有责任保证自己团队的进度,从而满足项目的整个日程。举例来说,Scrum Master 和敏捷项目经理可以协同工作共同领导项目,带领团队前进。同样,因为客户的业务合作伙伴往往不和开发团队在同一区域工作,敏捷项目经理将更多地与合作伙伴确认需求,保证项目向正确方向前进。从这方面看,敏捷项目经理代表着客户,他的工作将确保团队满足流程要求并在一定程度上左右近岸开发项目的成败,因此这个角色也变得至关重要。敏捷项目经理的另一职责是协调分布在不同区域的团队。由于项目成员分散,文化也存在差异,不一定都能习惯 “自上而下的沟通方式”,敏捷项目经理将帮助团队成员消除沟通障碍以保证项目顺利实施。

敏捷项目经理的职责包括(但不局限于):挑选合适的团队成员(人事),提供指导和辅导,与产品负责人协商产品 Backlog 的开发,与项目团队协商产品 Backlog 的创建流程,创建、执行并对项目的日程和成本预算进行监控,负责项目的现金流及付款通知,负责沟通,负责风险应对计划以及采购管理等等。

特别是在协作方面,敏捷项目经理将负责主持项目的启动会议,也会按需安排其他的项目会议。敏捷项目经理还会负责为项目干系人及团队成员提供口头的或正式的项目状态报告,并负责为项目文档进行定期更新与归档(例如,企业的项目管理办公室要求按照标准提供相应的项目文档,我们就该在 Backlog 中加入创建这些文档的 story)。

敏捷项目经理还应当具备以下三种能力:辅助客户的产品负责人将企业愿景转换成开发团队能够理解的语句(例如,运用价值工程(Value Engineering)的方法创建并维护排序后的产品 Backlog);帮助 Scrum Master 确保产品负责人正确行使权利(译注:帮助 Scrum Master 顶住来自客户的压力);协助 Scrum Master 确认客户和开发团队的工作都符合敏捷流程。

敏捷项目经理如何工作

想要完全了解敏捷项目经理的工作,我们可以举一个财富 50 强制药公司的例子。公司有过一个软件开发项目,该项目由包含 Scrum Master 的近岸开发团队负责,团队遵循 Scrum 原则逐步完成 Backlog 项。这个团队包括不同背景的三名开发人员(有擅长写代码的,有擅长网站设计的,有擅长数据库的等等),一名测试员及一名软件架构师。我们将敏捷项目经理与产品负责人共同看作项目的“核心成员”,他们在同一地点办公,但与开发团队分处不同的区域。整个项目历时 66 天,由 5 个迭代组成。

项目首先由团队称作“Sprint 0”的 4 天热身阶段开始。在这阶段中,团队一边评审客户创建的需求文档及估计的时间线,一边耐心等待客户讨论决定应用的基础设施。“Sprint 0”阶段的一个目标是通过客户、敏捷项目经理及开发团队之间的充分讨论,理清业务逻辑的问题,保证大家在这方面达成共识。

在此后为期 16 天的 Sprint 中,敏捷项目经理在协调日常沟通方面扮演着举足轻重的角色。这包括为团队妥善安排主持每日例会,安排好与客户的晨会,检查 Backlog 确保每项工作都能按时按质完成,辅导 Scrum Master 预见可能的未知障碍。诚然,典型的 Scrum 项目认为开发团队有能力追踪 Backlog 并按时完成任务。但在这个项目中,近岸团队发现由于客户与团队之间的地域阻隔,设敏捷项目经理这样一个角色在追踪项目任务完成状态方面更能发挥优势。

我要指出的重要一点是,正如传统的 Scrum Master 一样,在这个项目中敏捷项目经理也不会亲自完成任何一项任务,我们的开发团队有自我组织的能力处理所有分配的任务。例如,Backlog 中的有些任务非常复杂当开发人员感到单靠自己能力无法完成时,开发人员会自发地向软件架构师寻求帮助。同样,开发人员在除了本职工作外还会完成诸如单元测试,系统测试及回归测试(互相测试对方的代码)等额外的工作。他们自愿帮助测试人员完成原本属于测试范畴的工作。这表明团队能够相互照应并意识到“边际力量”的重要性,并为着达成组织架构层面上的敏捷程度而共同努力。

每个 Sprint 的第一天通常会包含一个计划环节。在该环节中,开发团队会把从产品 Backlog 中得到的用户 Story 分解成任务,评估这些任务所需时间,并领取任务。客户会同敏捷项目经理以及开发团队共同讨论每个 Sprint 的目标,然后开发团队会把这些目标写在办公室的白板上。

之后的 14 天内,团队除了埋头进行开发外,还需要参加每天早上的 15 分钟 Scrum 立会。在立会上,敏捷项目经理会通过网络摄像头逐一跟团队评审 3 个内容:前一天完成的工作,当天要完成的工作,以及任何会阻碍团队实现 Sprint 目标的障碍。除此之外,敏捷项目经理每天还要参加另一个 30 分钟的电话会议,与产品负责人讨论立会中出现的阻碍及解决方案。每个 Sprint 的最后一天将是历时 1 个小时的演示单元,开发团队会向客户及项目干系人展示此次 Sprint 开发的功能。

扫平地域边界、实现完美沟通

由于开发团队和客户身处不同的区域(在这个案例中,开发团队在巴西,而产品负责人在美国新泽西),敏捷项目经理将对最终的 Sprint 目标负责。需要指出的是,由于在这个案例中项目采用的是与客户只有 1 个时区的近岸团队,这使得敏捷项目经理的工作相对容易。如果我们考虑 8 小时以上时差的离岸项目,那么对敏捷项目经理的挑战将更大。为了更好地沟通,团队设立了不少实时会议和即时通单元,还启用了用户提供的一条 800 电话会议专线。

由敏捷项目经理牵头的有效沟通实现了项目的高效性。在一个高效的团队中,每个开发人员都认同沟通的重要性,并保持着与客户进行密切沟通的习惯。由此保证顺畅的沟通贯穿项目始末,确保了双方的精力都放在实现正确的业务目标上。团队自身的优秀沟通能力以及敏捷项目经理的推波助澜,保证了项目双方的有效沟通。近岸团队能够在所有的 Sprint 中始终保持正确方向并按时交付所需的特性功能。

以史为镜、渐入佳境

之前曾提到过,敏捷项目经理将负责辅导 Scrum Master 和开发团队。在整个项目中,敏捷项目经理自始至终主导着项目进程并负责指导团队在每个 Sprint 结束时进行回顾。回顾单元的目的在于通过审视这次 Sprint 中团队做得出色及不足的地方,寻求更好的工作方式。在 Scrum 框架中,我们认为自我学习的过程与交付最终产品同样重要。

作为回顾单元的成果,开发团队能够从过去经验中得到提升,从而提高自己在客户中的声望,渐入佳境。同时也为其他软件开发团队提供了可参考的工作流程框架,并能够成为其他团队的基准。此外,由于团队频繁地与客户进行回顾,他们也更容易影响客户做出对团队及项目有利的决定。这在相当程度上避免了在不必要的讨论上花额外的时间——而减少这样的花销在高竞争性的开发市场上非常关键。

在开发团队提升客户声望的同时,他们也提升着自身的团队士气,这对敏捷及高效团队来说也很重要。团队开始对自己的工作充满自信,并愿意尝试通过新的方法实现某些任务,这包括对软件相关的业务流程提出改进建议。

成功

这个项目除了让客户感到非常满意之外,团队自身也得到了提高。在敏捷项目经理的成功领导以及合理运用 Scrum 方法的双重作用下,团队很少在“闭门造车”浪费时间,并能及时获得反馈信息。同时,团队能够集中精力在项目的关键组件,并能依据业务价值设置合理的优先级交付产品。正因为团队与客户每天都有交流,客户非常清楚将要交付的正制品及其带来的商业价值。敏捷项目经理还会协助产品负责人一起准备高层需要的报告,向高层解释项目的价值所在。

回顾整个项目,团队意识到,如果没有敏捷项目经理的领导,这个项目很难成功。如果没有敏捷项目经理促进彼此沟通,团队很有可能无法及时发现潜在的问题。而这些问题极有可能演变为更大的问题,导致项目返工甚至延期。如果没有敏捷项目经理保证团队和客户朝着同样的业务目标迈进,双方很可能各自为营,劲儿使不到一处。这将最终导致团队交付的产品并不是客户所想要的,或是交付过程极为低效。

综上所述,Scrum 方法的运用及敏捷项目经理的存在是项目成功交付的尚方宝剑。正因敏捷项目经理与高层的日常沟通,项目干系人很容易追踪项目状态,考察团队能力并对可预见的障碍做出及时快速调整。这种双向的密切沟通也会反过来提升客户对团队的信心。总而言之,高效团队与敏捷项目经理的组合保证了项目能够渐入佳境,最终交付给客户有价值的产品。

关于作者

Leonardo Abdala 是名 Ci&T 公司的项目经理,他曾负责过的敏捷项目有:亚马逊云计算(AWS),微软,Drupal 项目以及移动应用、移动应用相关的网站等。在 Ci&T 期间,他曾为多家跨国企业做过软件开发项目,包括:财富 50 强的制药公司,财富 200 强的广告公司,以及财富 500 强的医疗保健生产企业。他领导着 Ci&T 公司的跨区域开发团队,这些团队遍布巴西,阿根廷及中国。他已有 5 年从事敏捷开发的经验,以及超过 9 年从事 PMI 框架开发的经验。Leonardo 还拥有多项微软认证(MCP,MCTS,MCPD,MCITP),Scrum 联盟的 CSM,CSP 认证,PMI 机构的 PMP 认证。他还是巴西贝洛奥里藏特的大学教授(在休),持有管理信息系统的学士及硕士学位。

原文英文链接: Why the Agile Project Manager is the Secret Sauce for Development Projects


感谢侯伯薇对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-07-19 07:184233

评论

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

开源驱动未来 | 2021新一代人工智能院士高峰论坛暨Open/O启智开发者大会开源专场顺利召开

OpenI启智社区

人工智能 开源社区 启智开发者大会

使用 Amazon IoT 和 Amazon SageMaker 进行设备实时预测性维护

亚马逊云科技 (Amazon Web Services)

AI/ML

在Amazon SageMaker中灵活使用多种存储服务

亚马逊云科技 (Amazon Web Services)

AI/ML

低代码实现探索(九)后台模型 json定义

零道云-混合式低代码平台

微众七年营造,ABCD“四梁八柱”建构数字时代的信任底座

脑极体

业界福音!快来使用Amazon Transcribe服务减轻添加字幕的繁琐工序负担吧

亚马逊云科技 (Amazon Web Services)

AI/ML

新能源当道,如何构建一个电动汽车电池告警预测平台?

亚马逊云科技 (Amazon Web Services)

AI/ML

☕【Java实战系列】「技术盲区」Double与Float的坑与解决办法以及BigDecimal的取而代之!

洛神灬殇

BigDecimal Java 开发 12月日更 Double和Float

农业与科技结合?快来看Amazon Rekognition自定义标签的作用吧

亚马逊云科技 (Amazon Web Services)

AI/ML

模块七作业

心怀架构

飞桨中国行——生产制造专场

百度大脑

人工智能

如何真正学习Go 语言

宇宙之一粟

golang 学习方法 Go 语言 12月日更

区块链数字版权,区块链数字藏品交易系统开发

a13823115807

#区块链# 区块链技术应用 区块链数字藏品

如何让用户给我们做推荐?

石云升

AARRR 产品思维 28天写作 12月日更

深入浅出 OceanBase 运维之弹性扩缩容

OceanBase 数据库

直播 弹性扩容 OceanBase 开源

模块7作业

小何

「架构实战营」

编写代码最应该做好的事情是什么?

李子捌

Java 28天写作 21天挑战 12月日更

销售易携手DataPipeline,推动“实时感知-主动决策-客户成功”的变革!

DataPipeline数见科技

大数据 中间件 数据融合 数据迁移 数据管理

太香了,终于有人耗时1000小时打造出python从入门到精通全套路线图+视频+笔记

Java全栈架构师

Python 数据库 架构 面试 程序人生

25天,手码Python数据分析+八大核心项目实战25W字总结,我献出了我的膝盖

Java全栈架构师

Python 数据挖掘 程序员 架构 数据分析

巧用机器学习托管服务,自动化合约处理从此不在话下!

亚马逊云科技 (Amazon Web Services)

AI/ML

即刻到位!快速落地 Amazon 智能工厂解决方案

亚马逊云科技 (Amazon Web Services)

AI/ML

YB时代即将来临,三问数据存储

脑极体

架构实战营模块七课后作业

Geek_99eefd

#架构实战营 「架构实战营」

国家质量基础设施(NQI)一站式服务平台,NQI云服务平台建设

a13823115807

质量基础设施一站式服务 一站式服务平台开发

重装上阵——Graviton2提升ElastiCache for Redis的性价比!

亚马逊云科技 (Amazon Web Services)

AI/ML

apacheunomi漏洞介绍及代码分析

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

有向无环图在新增节点时的环状检测

waitmoon

DAG

首次开源!一行代码轻松搞定中英文语音识别、合成、翻译核心功能!

百度大脑

人工智能

动手训练属于自己的无人车,这个超强服务现已开源!

亚马逊云科技 (Amazon Web Services)

AI/ML

SageMaker Neo优化目标检测模型加速推理

亚马逊云科技 (Amazon Web Services)

AI/ML

优秀的敏捷项目经理是项目成功的尚方宝剑_研发效能_Leonardo Abdala_InfoQ精选文章