敏捷中不能说的秘密

                                                                                                                                                                                                       ---Scrum浅析

1.     Team

敏捷中不能说的秘密_第1张图片

          Scrum是跨职能团队以迭代、增量的方式开发产品或项目的一种开发框架,区别于其他开发框架最突出的方面应该体现在“跨职能团队”这几个关键字。由此,Team这个单词可谓是Scrum中的万能钥匙,几乎可以解决一切难题。

        在Scrum中有三个角色:产品负责人、团队和ScrumMaster,他们在一起被称为Scrum团队。

        团队中的每个成员都只是团队成员。请注意在采用Scrum的团体中没有任何固定的专业头衔。不会有系统分析师,没有数据库管理员,没有架构师,没有团队组长,没有开发人员,也没有测试人员,他们在每个Sprint中以任何恰当的方式一起工作来达到他们为自己设置的目标。

       这种团队不只是跨职能的,而且还会表现出多重学习的特点。每个人当然都有特长,但仍继续学习其他专长。每个人都会有主要的、次要的甚至是第三位的技能,并准备好到工作所需要的地方去。每个人都可能承担自己并不熟悉领域的任务来帮助完成一个事项。例如,一个主要技能是交互设计的人可能以自动化测试为次要技能。以技术文档写作为主要技能的人可能同时帮助做分析和编程。

       Scrum难免会与传统的职能团队冲突,因为他的团队是跨职能的。既然我们目标是相同的,那么我们就应该站在统一战线上一起前进。    

       另外,Scrum团队提倡是一个自组织的团队,团队成员要群策群力,无领导模式下协作工作,工作激情和效率会大大提升。

 

2.    透明(可视化)

敏捷中不能说的秘密_第2张图片

       在Scrum中提出了3个工件:产品待办列表(PBI),迭代待办列表(SBI),燃烧图/燃尽图。比起传统的需求文档,产品待办列表会对业务期望进行分解,迭代待办列表更是精细到开发可执行程度,同时用户故事鼓励把用户真实期望与紧急程度暴漏给开发实施人员,这对实现用户最大价值和向用户快速交付产品都起到决定性作用。燃烧图/燃尽图是对进度及风险监控的更加可视化的工具。“表”与“图”无疑大大增加了可视化程度。

看板更不是Scrum中的特有产物,上到科研实验室,下到生产车间,都会使用看板作为进度及风险监控工具。实践证明,看板是生产过程中目标管理、进度监控、风险预知的最优秀的可视化工具。所以看板是一定要时刻置于公众面前随时起到提醒作用的,他的作用可决不仅仅是站会地点的标志。

总的来说,Scrum主张将生产流程的每个环节的透明、可视化程度的做到最佳;当然,如果你有一个新的可视化的好点子,完全可以大胆的应用到敏捷实践工作中来。

 

3.     PDCA循环

敏捷中不能说的秘密_第3张图片

        引入一个管理学的模型叫“PDCA循环(戴明环)”。PDCA的含义如下:PPLAN-计划;DDo-执行;CCheck-反馈;AAdjust-调整。PDCA循环就是先制定计划,然后按照计划实施,最后通过检查和总结来反思从计划到实施的差距,最后把自己体会放到实施中去。

敏捷中不能说的秘密_第4张图片

      纵观Scrum框架中的流程分布,都可以归列到PDCA循环每一步:

       PPLAN):计划会

       DDo):迭代

       CCheck):站会、评审会

       AAction):反思会

       其中,站会、评审会只是体现了不同频率的反馈。在Scrum简章中还存在产品代办事项列表梳理会,也只是在为下一个迭代做更充分的计划而已。

       经常听到有人抱怨说,敏捷实践中会议太多,形式主义严重。其实不然,只要在遵循PDCA循环的基础上,开会频率、会议名称都是可以自定义的,你想怎么称呼他都可以。Scrum5个会议事件只是PDCA循环在整个软件开发过程中的最佳实践。

 

4.     GTDGet Things Done

       GTD是英文Getting Things Done的缩写,是一门无压力高效的时间管理方法学,其核心思想与Scrum不谋而合,提倡优先完成优先级较高且有价值大的工作,并要做到真正完成。

我们经常发现开发人员常常说一些工作已经完成了,但事实并非如此。即使你有一个很明确的对完成的定义,开发人员也会经常忘掉。我们这些编程的人都不怎么有耐心,一心想着尽快去做下一个条目。

Daniel Greenfeld的文章《请不要打断开发人员》有说:“当看到一个程序员冥思苦想的时候,不要过去打扰,甚至在极端的情况下,一句友好的问候都是多余的。”

当开发人员没有真正意义上的完成某些开发任务时,后续的再开发将是影响产品产出效率和质量的最大阻碍。工作内容的频繁切换,大大增加了时间成本,降低产品质量。

所以,在敏捷开发流程中,要尽力规避这些问题。测试前置、严格控制每个迭代与迭代中各个环节的出口标准,是尤为重要的。同时只有产品增量做到真正意义的完成,才能实现拥抱变化,快速交付

 

5.    实干

       “空谈误国,实干兴邦是当下国家领导集体的治国方针,其应用在软件开发中同样适用。  传统的软件工程官僚,枯燥,束手束脚,而敏捷却变得十分活泼,有趣,但更难把握。重点在于,我们能否从两个世界中取其精华。

 

综述

        Scrum只是把一些被广为认可的方法打包到简单的开发框架中,并不是那么脱离群众。只要在Team的指导思想下,借用透明(可视化)的工具,做到快速顺畅的PDCA循环,掌握GTD等的实践方法,实干到底,持续改进,那么每个团队都会成为最佳敏捷团队。

你可能感兴趣的:(敏捷实践)