把每件事都当作一个项目来推进,是我之前参加的一个线上课程的结束语,这句话在软件行业体现的尤为突出。过去我们关心的是如果快速的交付需求,很少考虑如何快速应对不断变化的需求。
还记得一开始学习软件工程的时候还只有瀑布模型、需求分析、系统设计等这些传统软件工程内容,但是经过十几年的发展,在软件项目中,敏捷开发、持续集成、微服务等这些新兴内容已经开始在软件项目中占据越来越重要的位置。从19年开始我通过网上的资料知道了敏捷知道了Scrum,也开始逐步的在现有项目中引入一些敏捷的实践,一开始我们只是通过几种项目管理工具帮助团队同步项目的进度,一段时间以后项目管理工具就变成了日报填写工具,大家每天都在上面填写这一天的工作和明天的工作计划,再后来项目没有看到敏捷带来的好处,敏捷推广也就无疾而终了。现在看来我们当时只是拿着别人用过的一部分实践复制到了我们的项目中,距离真正的敏捷还差得远。
2020年年初通过朋友介绍参加了敏捷家的几次线上分享,通过嘉宾的分享逐渐的对敏捷和Scrum有了更多的了解,也逐渐有了想要更加深入学习Scrum的想法,之后就顺利成章的报名参加了Bob的CSM课程。
从5月16到5月17两天的课程,BoB从敏捷的概念,Scrum的概念、原理、价值观再到我们常说的"3355"一步步的进行了讲解。每个概念讲解结束后都会安排小组进行讨论分享,在无形中我们每个小组通过讨论进行了多轮交付,每次交付其实都是对于Scrum不同方面的实践。相比与枯燥的照本宣科,这样的教学模式印象更加深刻,也在一定程度上解决了远程教学注意力分散的弊端。在第二天的课程中Bob介绍了在其他公司的Scrum实践,帮助我们在课程结束之后尽快的将所学引入到公司项目中。整个学习过程紧张而有节奏,回顾整个课程学习我感触最深的有以下几点:
- 一是对于DoD的定义,以及DoD和AC之间的区别。这些是之前项目迭代过程中一直忽略的地方,没有定义好DoD就没办法进行高质量的交付。
- 二是课程中介绍的什么项目适合开展Scrum,Scrum不是适合于所有项目,要有选择的机型Scrum推广。
- 三是如何对User Story进行切分,每个Story多长时间最为合适。
课程的结束只是代表着对于Scrum的初步了解,距离真正的CSM还有很长的路要走,只有在项目中实际应用Scrum才能更加熟悉每个流程环节的作用和价值。Scrum未完待续。