Scrum是如何提升开发团队责任感的

Posted ShineScrum捷行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrum是如何提升开发团队责任感的相关的知识,希望对你有一定的参考价值。

前言

全球首位认证Scrum专业人士和全球最早的认证Scrum培训师之一Jens Østergaard在接受图灵社区访谈时说:“我们的目的是让团队中的开发者们负起责任,并为他们的工作感到自豪。”现实项目管理中,不负责任的现象时有发生。让开发者负起责任,是开发工作顺利进行的基础保障;让开发者为自己的工作感到自豪,是团队绩效不断提高的最深层的内在动因。撇开所有客观因素不谈,开发者的责任感、成就感,应当作为管理团队的根本。

Scrum是怎样“让开发者负起责任,并为自己的工作感到自豪”的?通过分析影响责任感的因素,对比传统开发方法与Scrum,不难看出Scrum在管理上的创新之处可圈可点。

1. 获得承诺

获得开发者的承诺是激发责任感的首要前提。

在传统开发方法中,管理者给开发者指派任务。当管理者和被指派的开发者对于任务范围和完成期限有意见分歧时,开发者应服从管理者。当这种分歧长期存在,开发者就会产生这样的心态:“既然只有你的话语权,既然这是你的事,那么好吧,我能做多少算多少,能做多快算多快。质量好坏关我什么事?!”

Scrum强调自组织团队,团队不需要团队以外的人告诉他们该怎样完成他们的开发工作。在计划会议中,由开发者自己,从产品待办项列表中认领本次Sprint要开发的内容;由开发者自己,分解任务并评估所需的时间。有理由相信,开发者的初心是想把自己的工作做好的。这样的制度给了开发者充分的尊重和信任,责任感便从这份尊重和信任中油然而生。

有管理者问到这样一个问题:“一些耗时、费力的工作总是存在的,无人认领怎么办?”产品负责人是回答这个问题的最佳人选。这些工作的价值是什么?如果对客户有重要的价值,请把这个信息分享给开发者,让认领这项工作的人为自己的选择感到自豪。如果对客户来说价值尚不明确或价值有限,就把它留在产品待办项列表里,以待进一步分析确认或赋予较低的优先级,或者删除掉。在这里,Scrum强调产品负责人的责任感。树立产品愿景,依据商业价值为产品功能进行优先级排序,是一个产品负责人应尽的责任。

2. 定义“完成”

明确定义什么叫做“完成”,为责任设定了清晰的基准。

传统开发方法并不强调“完成的定义”。实践中遇到的各种不负责,多与不同开发者对“完成的定义”理解不同有关。以集成为例,代码提交到集成流,有的开发者责任感强,提交前进行代码评审、单元测试;有的开发者责任感一般,提交前只对主要功能做最基本的黑盒测试;也有责任感弱的,代码编译通不过就提交。集成出了问题,分析原因,责任者还感到无辜,觉得写完代码就是“完成”了。如此种种,其根本原因在于,对于什么叫“完成”,开发者的理解是含糊的,也常会与客户的期望有差距。

Scrum强调“完成的定义”。产品负责人和全体团队成员对“完成”达成共识,当开发者在看板上把一个功能的状态置为“完成”时,Scrum团队的每个人已经干系人都清晰的理解,这里的“完成”指的是什么。

“完成的定义”可以随着开发的进展而变化。例如,在最初的几个Sprint中,Scrum团队的主要任务是和客户一起探索有价值的产品功能。这个时期的软件系统,能够运行起来,给客户看看效果即可,“完成的定义”可以宽松。设计、代码评审可从简,不必为还没有定下来的功能做过多考虑。单元测试,能运行就好,健壮性等方面可暂不考虑。在接下来的Sprint中,对确定的功能,“完成的定义”应变得严格。代码评审时,应考虑偿还前期欠下的技术债务,对代码的各方面指标进行优化。单元测试和系统测试也应增加各种复杂场景,提升系统的健壮性。

无论这个“完成的定义”是松是严,它都是全体团队成员和产品负责人达成共识的、符合当前Sprint状况的、一致的协定。这个定义为每个人所理解和认同。

3. 定期反馈

只强调责任,缺乏成就感,日子长了会变成口号。定期反馈,让开发者看到自己的努力得到来自客户和领导的认可,为自己的工作感到自豪,是点燃员工激情的火种。

传统开发方法的反馈周期过长。从确定需求开始到软件系统产品交付,开发者得不到什么反馈。常常听到开发者说:“这么低的工资,还想要我怎么样?”又常常听到管理者说:“这么高的工资,工作干得还是不怎么样!”如果把软件开发的责任感、成就感局限在薪水问题上,劳资双方矛盾始终存在,此问题永远无解。

Scrum定义了评审会议。在每个Sprint结束的时候,产品负责人邀请客户和相关领导,演示开发完成的系统功能,听取各方面意见。检视会议的检视对象是运行的软件,而不是文档。大部分开发者都讨厌写文档,这样的检视活动使得开发者与客户更加贴近,开发者更能得到充分的反馈。经过长期观察,发现这样一个现象:开发者辛苦了一个月,能够有机会给领导和客户展示一下自己的成果,心态通常感到些许紧张,同时又很想露脸。如果真的干得很好,客户开心,领导满意,开发者立刻感到信心满满。这种软件开发的乐趣和成就感不是钱可以买来的。即使客户和领导不满意,开发者也可以利用这个检视会议,了解他们的期望,给自己明确今后努力的方向。有了方向,才有了奔头,这样的心态下,才能谈责任感。

总 结

与传统开发方法相比,Scrum有很多创新。上述谈到的获得承诺、定义“完成”、定期反馈其实也是管理中的基本原则,而Scrum的创新之处在于,它把这些基本原则融入到一个框架中,在尊重开发者人性的基础上,潜移默化地影响着开发者,让开发者负起责任,并为他们的工作感到自豪!

本文由王子君撰写,ShineScrum审核

近 期 课 程

以上是关于Scrum是如何提升开发团队责任感的的主要内容,如果未能解决你的问题,请参考以下文章

Scrum方法论:小型手游团队开发游戏的5个经验

如何多团队大规模实施敏捷开发

Scrum方案的快速指引

敏捷开发方法 Scrum

Devops-敏捷团队开发流程

Scrum实践:每日站会