敏捷实践总结(三)——Scrum敏捷开发

采用敏捷开发进行项目开发已经有些天了,近几天又看了一本关于Scrum的书。在此跟大家分享一下感受。

scrum本意是橄榄球运动中的争球。在中国不兴打橄榄球,在我的印象中,橄榄球运动是非常野蛮的,球员目的非常明确——破门得分。你可以抱着球跑,可以传给队友……各种方式都可以,就是要快速得分。敏捷开发就是需要这种精神。

敏捷开发不同于以往的瀑布模型开发。

瀑布模型中有严格的文档要求(需求、概要、详细等)、对员工的工作量也有明确的定义与考量方法(代码量等等)。另外,瀑布模型对于开发者有着明确的分工:搞需求的专门搞需求,搞设计的搞设计,编码的只管编码,测试的只管测试。所以说,各部门之间的任务相对明确。但是沟通效率很低,由于文档的要求严格,各部门机制臃肿,彼此之间不能做到及时有效的沟通,不仅耗资巨大,而且延误交付日期。另外,由于一般都是架构师整好设计,下面培训一批写代码的,所以开发者只能被动接受任务,每天干着暗无天日重复搬砖的日子,所以开发的效率也很低。

但是瀑布模型相比与敏捷开发,无疑就成了重量级,而敏捷开发则是轻量级。

瀑布模型风险较大,在实际中,并不是每个项目在前期都能够做到需求明确,就像这样:



而敏捷开发则非常适合需求变动的情况,敏捷开发的工作量是随着需求的变化而不断发生变化的,所以整个过程中,浪费很少:




Scrum是最常用的敏捷开发(Agile)方法。下面我们来看一下Scrum大概的流程:



1、在一个Scrum项目中,产品负责人(Product Ower)建立待开发的产品条目(Product Backlog),并确定其优先级。开发中需求的改变也要写进去,对于调研、查阅资料、配置环境等也应考虑进去,因为这些也很占用时间,敏捷开发中不提倡冲刺,不提倡加班,讲究发挥团队最大价值;

2、根据所列Product Backlog情况,确定产品一个迭代(Sprint)所要完成的东西,每一个Sprint大概是2-6周的时间;

3、Sprint开始前,需要开一个迭代计划会议(Spint Planning Meeting)会议。会上,产品负责人(Product Owner)讲解本次开发要开发的条目(Story),将确定的Story放入Sprint Backlog中来;

4、Sprint开发过程中,团队每天都要开一个15以内的站立会议(Daily Stand-up Meeting),以便团队之间了解彼此的开发进度。

会议由Scrum Master主持,Scrum所有成员轮流回答三个问题:(1)昨天我完成了什么工作?(2)今天我打算做什么?(3)我遇到了什么障碍?会议的目的是团队成员之间可以彼此相互熟悉工作内容,充分了解项目进度,相互帮助解决问题。

5、Sprint结束之后,需要开评审会(Review Meeting),Scrum团队会在评审会议上把这个迭代的开发成功展示给大家;

6、之后还要开一个反思会(Restrospective Meeting),Scrum团队会回顾过去这个Sprint,从中总结经验教训。

会议围绕三个问题讨论:上次迭代有哪些事情坐的好,希望继续;哪些事情坐的不好,希望改进;有何改进计划。会议目的旨在帮助团队总结经验教训,分享经验,使团队持续成长。


上面就是Scrum的大概执行流程。

另外一些注意事项:

Scrum讲究开发团队坐在一起,有什么问题即时相互询问;

用拍扑克的方式角色每个story的开发时间;

测试要尽早加入到开发团队中来,可以与开发人员进行结对开发,尽早的了解需求,大大减少测试人员的工作量;

开发人员工作量的评定要主要以团队开发的质量为标准;

Scrum把软件开发中各种角色形象的分为两类:一类是“鸡”,一类是“猪”。这里源起于一个“肌肉火腿肠”的故事,不实际参与项目开的管理者称为“鸡”,全身心投入项目开发的团队成员称为“猪”;


刚开始实施起敏捷开发是比较困难的。很容易走教条主义的错误,机械的实施敏捷开发。注意,敏捷开发认为人与人之间有效的交流和协作是最重要的,透过一切流程和工具看本质,实际上就是使人能够协作开发软件。敏捷开发随时拥抱变化、相应变化,而不是恪守计划。总之,敏捷开发的本质:第一是一切活动以价值为导向;第二是以人为本。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
### 回答1: 敏捷开发流程是一种快速、灵活的软件开发方法,它通过迭代的方式来开发项目,并且重视通过持续的交流、协作和调整来满足客户的需求。 Scrum 是一种敏捷开发流程的具体实现方法。它是由三种角色组成的:产品负责人、Scrum 团队和 Scrum 经理。产品负责人负责确定项目的目标和范围,Scrum 团队负责执行项目并交付可用的产品,而 Scrum 经理则负责协调团队的工作并确保项目的进度。 Scrum 流程通常分为以下几个步骤: 1. 冲刺计划会议:在开始新的冲刺(迭代周期)之前,团队会进行冲刺计划会议,确定在本次冲刺中要完成的工作。 2. 每日站立会议:每天举行的短暂会议,用于更新团队成员的工作进度、讨论任何问题并寻求解决方案。 3. 冲刺审查会议:在冲刺结束时举行的会议,用于回顾本次冲刺的成果、讨论改进方法并确定下一步工作。 4. 冲刺总结会议:在冲刺结束后举行的会议,用于回顾 ### 回答2: 敏捷开发流程是一种迭代、增量式的软件开发方法。它强调通过紧密合作和快速响应变化来提高团队的效率和产品的质量。敏捷开发流程主要包括需求分析、计划、设计、编码测试和发布等阶段,每个阶段都是迭代进行的。团队成员在每个迭代期间都要进行会议讨论、交流以及及时地调整开发计划和需求。敏捷开发流程注重客户需求的积极响应,团队与客户之间的密切合作和及时反馈是其关键。 Scrum是一种敏捷开发框架,它是通过在开发过程中强调团队合作、迭代开发和持续改进来实现项目管理的。Scrum流程包括三个关键角色: 产品负责人、Scrum团队和Scrum大师。产品负责人负责所有关于产品的决策和需求管理,包括产品待办事项的整理和优先级排序。Scrum团队由开发人员组成,他们承担编码、测试和提交可交付的工作成果。Scrum大师负责支持团队高效完成工作,并确保Scrum流程的正确执行。 Scrum流程由一系列时间盒(time-boxed)的活动组成,例如每日站会、Sprint计划会议、Sprint评审和Sprint回顾会议。每个时间盒内的工作是固定的,活动的目标必须在规定的时间内完成。这种时间限制鼓励团队高效工作,并提供了一个持续改进的机会。 总结来说,敏捷开发Scrum流程都强调迭代开发、团队协作和持续改进。它们通过灵活的方法和强调人际间的互动,帮助团队更好地应对需求变化和提高工作效率,从而保证项目的成功。 ### 回答3: 敏捷开发流程是一种迭代与增量的软件开发方法,它强调通过频繁的沟通、快速回应变化以及高度协作的方式来适应需求的变化。敏捷开发流程可以提高团队的灵活性和适应性,同时也能够减少开发中的风险。 Scrum 流程是敏捷开发流程中的一种常见方法,它侧重于团队合作和自组织。Scrum 流程将工作分为若干个可以在短时间内完成的时间段,称为“冲刺”。每个冲刺通常持续一至四个周,在冲刺开始前,团队确定要完成的任务和目标。在每个冲刺期间,团队会每天进行短暂的会议,称为“每日站会”,以便了解进展情况和解决问题。 Scrum 流程中的关键角色包括产品负责人、Scrum Master 和开发团队。产品负责人负责定义产品需求和优先级,并在每个冲刺中确定需要完成的任务。Scrum Master 负责确保团队能够按照 Scrum 流程进行工作,并协调团队内外的事务。开发团队是负责实际开发任务的成员,他们通过自组织的方式进行工作,并在每个冲刺期间交付可用的软件。 Scrum 流程强调快速的反馈和可视化,通过可见的工作看板和冲刺回顾会议,团队能够及时了解项目的进展和问题,并做出相应的调整。Scrum 还鼓励团队进行定期的迭代回顾和持续改进,以提高团队的工作效率和建设质量。 总之,敏捷开发流程和 Scrum 流程都是遵循快速响应变化,并通过高度协作的方式进行工作的软件开发方法。它们能够提高团队的灵活性和适应性,同时也能够加速项目的交付进度,提高客户满意度。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值