《敏捷革命》读书笔记和心得

读完了《敏捷革命》这本好多人称赞和推荐的书,收获颇多。之前对于敏捷只是一些概念上的理解,读完这本书后对于为什么而敏捷有了一些更深入的认识。接下来就整理一下读书笔记和心得吧。

开头以联邦调查局的一个软件开发项目为例,介绍了传统瀑布型开发方法的弊端,项目开始时虽然花了大量的努力做了看似完美的计划,但现实往往充满了不可预测的变化,到后来之前的计划往往行不通,导致之前付出的努力都白费,形成了巨大的浪费。那如何避免这种情况,既提升效率又能达到目标呢?作者在这里提出了一种新的思维叫做Scrum,这个词语是橄榄球运动的一个专业术语,愿意为团队通力合作,在场地内传球。之所以用这个词语,是因为这项运动过程当中完美的体现了团队认真配合、信念一致、目标明确等软件开发中需要的精神。仔细想想,这确实是一个很形象、贴切的类比。

Scrum是一种追求效率和价值最大化的方法。它吸收了美国著名质量管理专家戴明的PDCA的思想以及之后日本丰田汽车“精益生产”的理念。也就是做事情要先规划做什么,然后再去执行,之后再检查成果是否符合预期,然后根据检查结果调整方法,不断重复这种循环就能实现持续的改善。过程中会不断的消除浪费,提升效率,最大化的去实现目标需求。

对于Scrum的运用,作者提到了一种名为“合气道”的日本武术。在这种武术中有一种概念称为“守破离”,分别三种不同的修炼层次。而Scrum和合气道一样,运用分三种境界:“守”,学习基本的规则和形式,不断的重复到熟练掌握;“破”,熟悉掌握之后开始创新;“离”,特别熟悉之后可以摆脱形式的束缚,随性发挥,因为一切知识都已经烂熟于心,就好像武侠世界里形神合一最高境界。

要想成功实施Scrum方法,需要注意以下几个关键因子。

1、聚焦团队。

Scrum强调团队的力量而非个人英雄主义。卓越的团队可以做好所有的工作,达成个人无法达成目标。卓越的团队具备以下共同特技:具有希望超越寻常的目标、团队自我组织和管理、团队具备完成项目的所有技能。团队规模不宜太小或者过大,太小的团队无法满足所有需要的技能,太大的团队又会导致沟通成本过高,维持在7人左右比较合适,这样既可以使团队沟通比较顺畅灵活,也能较好的控制沟通渠道。

2、以周期性视角看待时间。

Scrum方法要把工作分解到一个固定的周期内去完成,这个周期最好是1~4周,Scrum中称之为冲刺。在每个冲刺周期中,保持团队工作的透明度,让每个人都知悉一切。其中一个重要的行动是每日立会,整个团队的人都要参加,在不超过15分钟的时间内,针对每个团员询问三个问题:昨天做了什么去帮助团队?今天打算做什么来完成冲刺?遇到了什么困难?每个冲刺周期结束之际,必须要把成果拿出来展示,确保成果可以派得上用场。

3、消除浪费。

可能所有人都会经常碰到各种各样的浪费,尤其是时间上的浪费。这些浪费有主观的原因,也有客观的原因。Scrum就致力于消除各种不合理的浪费,其中以下几个观点是非常值得去实践的。

保持专注,一次只做一件事情。对这点深有感触,人毕竟不是机器,同时执行多项任务会让自己应接不暇,随着自己精力慢慢被消耗,这些任务的执行效率和质量也会慢慢降低,甚至后面会出错。因此最好的做法就是一个时间内专注的做一件事情,避免多任务切换。

半途而废等于没做,一次性把事情做好。对于这点我也是深以为然,尤其是在软件开发领域更是需要如此。事情做到一半就搁置的话,等你以后再来继续处理的时候会发现要花更多额外的时间去回忆;事情没有一次性做对的话,以后也需要花更多额外的成本来返工。

4、务实规划。

规划很重要,毋庸置疑。所谓务实规划,就是不来虚的,什么实用、有价值就做什么,仅仅规划需要做的事情,这也是专注的一个体现。做好规划的最佳实践是列出待办事项清单,而这个清单可以用“用户故事”的形式式来呈现,并用“犬点”来评估每个待办事项的规模或难度。与此同时,因为团队的规模是固定的,并且我们知道团队在每个冲刺中完成的工作,利用速度*时间=交付工作量,就可以了解团队的工作速度。现在同时清楚了代办事项的规模和团队的工作速度,就可以规划出交付时间。

5、传递快乐。

快乐的人可以做更明智的决策,快乐可以让人变得更积极、奋发向上,更加努力的工作。让人保持快乐的好处有很多,不用做过多的解释。要注意的一点是,仅仅快乐是不够的,我们需要利用快乐来创造成果。

6、做最有价值的事情。

这里其实和上面已提到的专注以及消除浪费比较契合。在一个项目中时间和资源是有限的,要想在各种约束条件下达到目标,就必须做到有取舍,不能面面俱到没有重点,因此我们就需要把主要资源和时间投资到最有价值的部分。

根据二八定律,往往产品开发中20%的功能就能传递80%的价值。如何找到最有价值的部分?关键要看需要做什么,可以评估几个问题后再做出决定:哪些事项最有商业影响力?哪些事项对顾客最重要?哪些事项最有利可图?哪些事项最容易实现?然后就可以根据评估的结果对待办事项清单进行排序。产品负责人会始终关注这个过程,让开发团队保持重要的事情优先做。

小结

Scrum不仅仅可以用在软件开发,它可用在人类的所有活动,帮助人类提高绩效和成果。我感觉Scrum不只是一种敏捷开发方法,更像是一种现代实用主义者的处世之道和人生信条。在当今这个纷繁复杂变化迅速的世界里,不管工作还是生活中,Scrum的思维都是解决复杂和不确定性问题的良方,非常值得我们学习和推广!


附录-Scrum实践步骤

1. 挑选一位产品负责人。

2. 挑选一个团队。

3. 挑选Scrum主管。

4. 拟定代办事项清单,并确定优先顺序。

5. 改进和评估待办事项清单。

6. 冲刺规划会。

7. 工作透明化。

8. 每日立会。

9. 冲刺评估和冲刺展示。

10. 冲刺回顾。

11. 上一个冲刺阶段结束之后,立即开始新的冲刺阶段。

你可能感兴趣的:(《敏捷革命》读书笔记和心得)