Scrum实施【敏捷开发总结】

Scrum实施【敏捷开发总结】

 

希望能给大家提供更简单清晰的总结,切记不应教条化敏捷开发过程!

 

敏捷开发模型主要有三个:XP,RUP,Scrum,分别侧重点也不同。这里就介绍我最近学习的Scrum。



Scrum是目前世界上最流行的敏捷开发方法之一,你可以将之理解为一个管理框架。它是一种以为人为核心,迭代和循序渐进的开发方法。在Scrum中发布产品的重要性高于一切,团队必须高度自治,成员熟悉开发中遇到的各种技术,一般在2至4周,必须出一个实际运行的版本。Scrum团队自我管理,坚信团队所有成员能够偶胜任工作,完成设计开发。其特点有:

1、倡导面对面沟通交流,胜过面面巨细的文档。

2、相信计划不能被精确估计。

3、明确团队的技术实力,相信没有不可为完成的任务。

 

开发模型:

 

简述:

Scrum团队一般由5-10人组成,横跨各个职能,负责设计、开发、测试、文档编写等工作。Scrum团队构成:产品负责人,ScrumMaster,Scrum团队。产品负责人主要负责产品功能和完成时间,对产品负责,确定产品优先级。ScrumMaster主要负责整个Scrum项目进度,调整项目计划,促进团队成员充分沟通,组织每日Scrum会议,Sprint计划会议,和Sprint评审会议。

 

在一个Scrum项目中,首先要将所有需要完成的工作列在一个ProductBacklog(根据初始需求分解出的任务列表,所有功能的总纲)中,每个Backlog项就是一个Story,项目开发过程中需求的改变也要写进去。

 

在每个Sprint开始之前,要召开Sprint计划会议,Sprint的任务选择决定权属于团队,需都是从Stakeholder那里拿来的,团队有权从SprintBacklog中选择适当的任务,作为SprintBacklog,那种由ProductOwner一个人完全主导任务是不对的,团队应该参与讨论需求和计划的活动中去。在会上,产品负责人ProductOwner为ProductBacklog中的任务确定优先级,团队按照优先级从Backlog中挑选他们认为能在这个Sprint中完成的任务,并把这些任务从ProductBacklog中挪到SprintBacklog中去。

 

一个Backlog包含多个Story,然后将Story分解成若干Task。

 

编号

标题

描述User Story

优先级

Story Point

XXXXX

新Ajax框架

用户通过Ajax框架实现所有Web应用,并达到桌面级用户体验

1

40

XXXXX

XXXXXXXX

作为某个角色,我可以做什么,以完成什么目的

2

20

 

在Sprint的进行中,团队每天都要举行简短的Scrum会议,以便成员了解开发进度,一个Sprint之后,召开Sprint评审会议和回顾会议,在会议上,团队展示这个Sprint开发成果。Scrum会议地点选在任务版前,时间控制在15min,站立面对面沟通,会议记录轮流进行。精髓是避免大家各自为战的状态。每人都介绍昨天做了什么,今天做什么,遇到哪些问题和挑战?然后leader开始移动任务卡片。对于不能解决的任务可以交给其他能够解决问题的人去做。



 

 

Sprint计划会议(主要是为了制定SprintGoal和Sprint计划),把Backlog分解成具体的Task,就是早上每日Scrum会议所采用的小卡片。每个Task以小时为计量单位,安排到人。例如:用户登录校验功能可分为调研校验功能所需技术3小时,设计校验功能4小时,开发校验功能3小时,编写校验功能单元测试用例3小时,执行单元测试用例1小时,CodeReview 1小时,更新设计文档2小时,代码重构2小时……

 

开发人员负责编写单元测试代码,CodeReview。一个Story结束必须经过单元测试,集成测试才算真正完成

 

评审会议以demo在测试环境一下展示,对产品感兴趣的各种人都可以参加。不必费时间精心准备。Sprint评审会议能尽早帮助团队发现问题。

 

Sprint回顾会议,讨论哪些好的建议和方法被采纳,有什么不可取,有哪些需要继续坚持。

任务估计和实施:

如何进行任务估计?

使用PlanningPoker这样一个工具,产品责任人为大家挑选一个Story并简单解释其功能,以大家讨论,每个游戏参加者按照自己的理解来估计完成这个Story所需时间,从自己手里选一个合适的数字,出牌,并解释自己出牌原因,接下来根据之前的解释,重新估计,大家新一轮出牌,直至估计值比较平均为止。软件下载(http://www.planningpoker.com/)

 

结对编程和代码复审机制:

确保至少两人对代码有相同了解程度,确保团队都对代码有一定熟悉。两个人一起讨论,相互交替编码,同时只有一个人编码,另一个人指导,重新审视已完成的代码的逻辑和算法,使得代码评审工作在编码阶段就能完成。(Eclipse的ECF插件,可以实现结对编程)

 

 

 

推荐的Scrum管理工具:

1、ScrumWorks

2、XPlanner

3、RationalTeam Concert

 

参考:

1. http://blog.sina.com.cn/s/blog_91ed2bca0100y02p.html

2. 轻松Scrum之旅——敏捷开发故事

3. http://www.cnblogs.com/taven/archive/2010/10/17/1853386.html

4. http://www.mountaingoatsoftware.com/tools/planning-poker
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章