scrum回顾_敏捷开发—Scrum核心要素

最近在跟一个工业公司项目IT转型的项目,虽然自己没有过多深入到执行项目本身,但是在Laeder的分配下,粗浅了解了一些关于敏捷开发的资料。我认为每次跟项目都应该有一些独特的收获,从实习以来一直记录每天的实习安排和任务,在过程中进行反思。由于最近事情太多,关于敏捷开发的东西浅尝辄止,目前只有入门的基础概念,后续有时间会继续深入了解~我把实习过程中的一个Task放在本文,算是总结自己的初步认知。

一、 什么是敏捷?

Agile在中文的字面意思是敏捷、灵活、利落。相应的“敏捷开发”也可以通俗地理解成为快速高效地进行开发。但敏捷不是开发的具体方法,它是一套能够指导企业进行高效开发的价值观与原则。

二、 敏捷开发如何产生?

举个例子,我们平时去商场吃饭,本来等位已经很烦心,好不容易点上了菜,但是过了半个小时还没有上菜,终于在快一个小时的时候服务员把所有的菜都端了上来,这时候我们的内心肯定……

75eb4b32585175f981aaf2af0a927994.png

作为吃饭群众,我们肯定不希望等餐时间很久,即便速度不快,服务员一个一个上菜也会一定程度缓解我们的焦虑心情。

其实软件开发也是相同的道理,相比于在等了很多个月甚至一年拿到最终交付物,客户肯定更喜欢持续收到我们的反馈与成果。软件开发经过长期的发展,形成了许多方法。其中最常见的有两种,一个是传统的瀑布开发,另一个是相对比较新的敏捷开发,如Scrum,Kanban和Lean等。

瀑布开发就相当于服务员将所有的菜在最后一起端上来。它将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。虽然瀑布模型提供了按阶段划分的检查点且前一阶段完成后,只需要去关注后续阶段,但是这种方法要求产品规划必须早于后续工作完成,一旦规划中有失误,很有可能使整个项目重新规划。且各个阶段到结束后发现问题再返回上一阶段往往导致产品开发耗费非常多的时间。

75ce32d010f50a24fdd14b20e486fb09.png

为了使开发过程更加高效,在传统的开发模式下,出现了新的模式。 2001年在美国犹他州雪鸟滑雪胜地,17位程序员凑在一起同起草了敏捷软件开发宣言及敏捷12条原则,给软件开发提供了新的思路,组织可以灵活地使用许多可用的框架来进行高效的工作,如利用Scrum,看板,精益,XP等等进行工作。

ce2128345002415519c60a5fc7d70838.png

三、敏捷开发-Scrum方法

敏捷开发中比较具有代表性的就是Scrum,本文以Scrum为例子像大家讲述敏捷思想。

在英文中Scrum原指橄榄球运动中队伍成员一起合作争球,而在软件开发中则是指敏捷开发的一种具体的方式。它包含“3个角色”、“3个可视化文档”、“5种不同形式的会议”以及“5个价值观”核心要点,简称“3355”。

在了解Scrum之前,要先知道Sprint,它原本是短距离赛跑的意思,而在Scrum中相当于迭代(Iteration),每一个迭代周期通常为4个星期左右,这个周期我们称为Sprint。根据项目得情况,Sprint数量不等,完成一个Sprint再进行下一个,每一个Sprint都会产生一个交付物,然后不断重复进行直到完成开发。

a7e8ea2d3208cfa048d6bb2d7c7fcc00.png

( 图片来源:www.archimetric.com/)

1. 三个角色(roles):

  • PO(Product Owner) :即产品负责人,在接到客户的需求后,产品负责人会将需求进行整合排序,持续定义最优先的任务并交付给团队进行工作,并对每个迭代的产品进行判定,是一个领导者的角色;
  • Scrum Master:即敏捷教练,了解并熟悉敏捷理念和Scrum运作,在工作的过程中帮助团队遵循Scrum 框架,按照框架进行工作,同时协调各个成员,保证敏捷开发的实施,引导大家又好又快的工作;
  • Team团队成员:是一个跨职能的小团体,包含研发、测试、设计等不同角色,共同客户需求努力,在PO的领导下阶段性工作,人数一般在5~11人左右;

61b0cedf7b4af154c02e8d1b544b2a7c.png

2. 三个可视化文档(Artifacts):

  • Product Backlog(代办项/产品需求列表):由产品负责人维护,通过优先级排序来制定迭代计划,其中User Story(用户故事)是一种最佳实践,PO可以根据用户故事确定优先级并分配任务。
  • Sprint Backlog:优先级别最高的用户故事会进入到Sprint Backlog,而Sprint Backlog则构成本次冲刺周期内要完成的任务。Team成员再根据Sprint Backlog进一步划分职能分工,来完成代办项。
  • Burndown:即燃尽图,显示Sprint期间团队总的任务剩余时间,每天都重新估算,准确跟踪记录任务变化。

99c53cd1dd60db41f4354d997cfa87cc.png

(图片来源:http://crumreferencecard.com)

3. 五种不同形式的会议:

Sprint Planning:即计划会,在工作开始前需要明确工作计划,Sprint Planning就是Team与PO的内部会议,在会议中讨论且PO罗列出最重要的任务,以此来确定接下来的Sprint中Backlog有哪些,Team分工是什么。

Daily Scrum:即站会/晨会,每天在固定的时间集中在一起开小会,Team用15分钟左右的时间相互报告各自工作进度使每个人对大体工作进度有一个概念。 每名队员都要总结他昨天做了什么、今天将要做什么,以及是否遇到了障碍。被称为站会是因为要求站着开日会,但并不是强求,形式有很多种,最主要的是为了简化会议流程。

Sprint Review:即评审会议,每个Sprint结束时团队召开Sprint评审会议,向产品负责人和其他有兴趣了解的人演示可工作的产品增量。这个会议应该是现场演示,而不是作报告。项目负责人应当检查完成情况,并对未完成的任务重新放入Product Backlog。

Retrospective:即回顾会议,发生在Sprint的最后,由Scrum Master负责召集团队召开。会中大家回顾和小结这个Sprint做的好的地方以及有哪些不足。保证团队能够持续改进,不断提高。

Backlog Refinement:即列表维护,在执行Sprint过程中团队对于Product Backlog上面的东西进行评估与拆分,清楚地拆分比较大的条目,可以发生在整个Scrum周期的任何时间,为下一阶段Sprint做准备,可以提高效率,节约时间

15553a025e8db3a55e5ce10a86f847b3.png

Daily Scrum(图片来源: www.scrum.org/)

4. 五个价值观

  • 勇气Courage:有勇气面对在工作中遇到地各种挑战与困难并勇于解决。
  • 专注Focus:每个Sprint只专注于提前制定安排好的任务。
  • 承诺Commitment:在Sprint开始前对制定目标做出承诺
  • 尊重Respect:团队是一个整体,任何目标都要相互尊重与合作才可以完成。
  • 开放Openness:每个人的工作进度、困难与成果都是公开透明的,成员之间没有隐瞒。

48c5e52a1960c0ab13422fcc0409aa43.png

四、 总结:

除了Scrum以外,敏捷开发下还有许多方法,这里就不再一一赘述。敏捷开发与传统的方法相比,主要优点如下:

  1. 在每一次迭代周期结束后,都可以产出一个可以交付给客户的产品,这样客户可以先体验这些产成品,并给予一定的反馈,而Team则可以随时根据客户的需求与反馈进行灵活改变。
  2. 在整个开发的过程中,将大的项目拆分成一定数量的Sprint来完成,客户可以随时查看工作进度,使过程可视化。
  3. 与传统瀑布式开发不同,当外在地环境市场与客户地需求发生变化时,不用将所有地工作都返工重新设计并进行,而是通过每个迭代与客户需求紧密相连,灵敏地应对现有地变化。
  4. 面对面地交谈方式与每日总结一方面较传统工作方式更灵活,另一面也加强了团队人员之间地协作与沟通效率。

本文简单的介绍了敏捷开发的概念和基本的相关知识,如果大家想要继续深入了解敏捷文化,可以阅读以下相关书籍继续学习:

《凤凰项目:一个IT运维的传奇故事》、《简单之美》、


本文参考文章、视频的来源:

1、 http://scrumreferencecard.com/scrum-reference-card/

2、 https://www.jianshu.com/p/aee71f399a0b

3、 https://blog.csdn.net/harris135/article/details/78029450

4、 https://www.bilibili.com/video/av21945150/

5、 https://www.scaledagileframework.com/glossary/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值