最近看了本敏捷软件开发的相关书籍 ——《Scrum精髓》,说起Scrum,做敏捷软件开发的人并不陌生,是一个很常用的开发方式了,以下是关于这本书的个人见解,如有理解偏差或不同的观点,欢迎留言指正。
Scrum 是一种用于开发创新产品和服务的敏捷方式, 是一个简单、通用、敏捷的开发方式 —— 《Scrum 精髓》
对scrum的理解
《Scrum精髓》这本书分为四大部分,第一部分总得介绍了scrum的核心概念,比如有哪些角色,scrum框架和内容,冲刺, 需求,产品列表,技术债等等。让我们对scrum有了一个基本的认识和了解,第二部分详细介绍了Scrum的各个角色:产品负责人、ScrumMaster、开发团队等,讲解每个角色的职责范围以及要具备什么样的技能。第三部分详细介绍了如何规划产品,制定长期计划,去定义产品路线图,规划版本,梳理优先级。第四部分从规划、执行、评审、回顾四个维度重点讲解了scrum框架的基础——冲刺。但是无论是在哪一部分,产品的规划,冲刺的规划,日常的开发等等都始终贯穿着三个思想
个人觉得,Scrum的精髓可以概括为以下三点:小步前进,快速试错,价值导向。
小步前进
相比于传统软件开发,scrum是增量式开发,而非一次开发完所有功能最后上线。scrum将一个产品拆分成一个个不同的版本,一个版本一般短则两三个月,长则八九个月,首先在完成一个大的产品的背景下将目标拆分成几个阶段性目标,缩小了前进的步伐,一口不能吃掉一个大胖子,就分几口来吃。
紧接着作为阶段性目标的版本还不够小,继续将其规划成多个冲刺来完成。所以小步前进这一点冲刺 最具代表性。 冲刺可以算做是scrum开发团队交付的最小单位。冲刺是一般规定在1至4周,持续期短并且稳定,最终可以实现冲刺目标得到一个潜在可发布的产品的过程。
这么做最大的优点在于可以尽早的占领市场并带来交付价值,例如一个产品,如果等所有的功能开发完成需要一年时间,那么这个产品要等一年后上线才能开始赚钱。而且还未必能赚到钱,互联网发展迅速,未能及时占领市场带来的后果极其严重。如果我们在前几个冲刺将潜在可以发布的产品上线,它便可以更早的占领市场,带来效益。
所以小步前进可以让我们的产品帮我们更快更早的赚到钱。同时也给快速试错奠定了基础。
快速试错
在小步前进的前提下,我们可以及时的接收到用户的反馈,并及时调整前进的方向,如果是与预期相符就可以按照这个方向继续做下去,如果与预期不符,就需要及时找出原因,或改变战略方案,再次尝试。这一点体现在scrum中一个很好的实践就是及时更新梳理产品列表,这个列表大到组合产品的列表,小到冲刺目标的列表。都是随着小步前进带来的反馈不断在调整的。另一个方面就是每一个冲刺的回顾会议,可以及时发现当前冲刺的一些问题,及时解决。
这么做的优点在于避免浪费,节约成本,不会一错再错,不会在错误的道路上一直走下去。试想如果我们投入很多成本,将开发了一年多的产品上线发现并没有多少用户使用,也没有带来收益,甚至战略方向都跑偏了,那将是巨大的损失。相当于前面的投入都打水漂了。而在scrum框架的基础下,我们通过短短一两个冲刺快速试错,即使开发出来的产品与预期不符也是损失了一小部分的成本,还在承受的范围内,这样便可以帮助我们节省成本。
并且快速试错也在帮助我们不断的调整产品,让他更完美,带来更多的效益。
价值导向
然而以上两点讲了这么多带来的优点不是提高收益就是减少浪费成本,这些都和价值息息相关。我们开发产品,就是为了创造价值。所以这两点都需要靠价值导向来支撑。我们小步前进的目的是更快的获取价值,快速试错的目的是也是少走弯路,尽早的获取价值。并且价值导向也贯穿在scrum实践的方方面面。
比如在规划产品时,需要实现哪些特性就要根据这些功能可以带来的价值去评判,当然成本等其他因素也要考虑,更确切的说应该是谁的性价比更高。再者在梳理产品列表,梳理版本计划列表,冲刺列表都是根据价值导向去排列优先级。
小结
当然,这些是我对全书一个整体或者说宏观上的概括,书中有更多概念的介绍和好的实践。总体来说这本书是一个比较全面的scrum这套框架的讲解,可以帮助我们更好的去理解scrum的价值观和它的最佳实践。适合scrum转型的新人学习,也适合已经在实践的scrum团队回过头来再次学习和领悟它的精髓。
总之,Scrum是一种敏捷开发方式,有许多好的实践,但这些实践不一定是铁律,我们需要根据项目的实际情况去灵活的运用它。并且在未来发觉出更多的实践方式。