03敏捷开发流程.docx
《03敏捷开发流程.docx》由会员分享,可在线阅读,更多相关《03敏捷开发流程.docx(11页珍藏版)》请在冰豆网上搜索。
03敏捷开发流程
敏捷生命周期
作者:
SEPG
文档分类:
文思海辉内部
修订历史
版本号
版本发布日期
作者
审核者
批准者
受影响的部分和变更总结
0.1
董雷
杨烜
创建本文档
0.2
董雷
杨烜
依据杨烜评审意见修改
0.3
董雷
BGPMO、CPMO
依据评审意见修改
包含在本文档的任何信息不能用于Pactera创建本文档目的之外的任何目的,未经Pactera的书面授权,本文档(整体或部分)也不能被复制或发表。
1.目的
为确保文思海辉信息技术有限公司(以下简称文思海辉)组织中采用敏捷开发模式的工作产品质量稳定,对敏捷生命周期模型进行规范化描述,特制定本文档。
生命周期模型可作为项目在制定合理的项目计划、选择标准过程和子过程时的先决条件。
2.适用范围
本指南适用于文思海辉采用敏捷模型的所有项目。
文思海辉敏捷模型采用XP\SCRUM两种敏捷方法相结合的思想。
3.词汇表
词汇
描述
敏捷开发
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。
极限编程XP
(eXtremeProgramming)
一种敏捷方法,思想源自KentBeck和WardCunningham在软件项目中的合作经历。
极限的含义是把软件开发中的有效实践都发挥到极致(KentBeck)。
Scrum
一种敏捷方法,Scrum是一个轻量级的软件管理过程。
Scrum注重的是管理和组织实践,而XP关注的是实际的工程实践,两者可以很好地协同工作——它们解决的是不同领域的问题,可以互为补充,相得益彰。
Backlog
Backlog由所有的功能特性,包括业务功能,非业务功能(技术、架构和工程实践相关),提升点以及缺陷的修复等组成。
这些内容也是将来产品版本发布的主要内容。
ProductBacklog
整个产品的Backlog列表。
包含客户提出的功能性需求和非功能性需求,以及技术团队内部产生的一些需求。
动态的对需求进行管理。
SprintBacklog
当前迭代的Backlog列表。
是从Productbacklog中根据优先级挑选出来的。
是静态的管理需求。
UserStory
用户故事:
描述对用户有价值的功能。
用户故事也可以定义为分配给软件开发组的特定业务需求。
ProductOwner(PO)
产品负责人。
负责维护产品订单的人,代表利益相关者的利益。
保证ScrumTeam在做从业务角度来说正确的事情。
ScrumTeam
由自我管理的、负责开发产品的人组成。
通常由5-9个跨功能的人员组成。
ScrumMaster
(management)
负责一个team按照scrum方式运行的角色,确保scrum按照初衷正确实施,消除那些影响团队交付的障碍,并负责屏蔽外界对开发团队的干扰,为团队服务的。
在文思海辉通常是项目PM担任,也可以是通过ScrumMaster认证的人员担任。
项目
为创造独特的产品、服务或成果而进行的临时性工作。
项目经理(PM)
组织委派,以实现项目目标的人。
工作任务书(SOW)
项目立项阶段,对项目范围、项目质量要求和过程要求以及项目产出物进行大致描述的文档。
系统集成测试(SIT)
(SystemIntegrationTesting)
多个迭代完成后进行的迭代集成测试。
RACI
执行、负责、咨询和知情。
4.流程图
5.流程描述
5.1计划(迭代0)
流程负责者:
EPG
干系人:
PO、Scrumteam、Scrummaster
输入:
SOW、用户需求
进入标准:
项目采用敏捷生命周期
输出:
项目计划、ProductBacklog、配置管理状态报告
退出标准:
项目计划、backlog评审通过
序号
活动/任务描述
负责人
1
组建团队;
制定敏捷过程裁剪手册。
输出:
《敏捷过程裁剪手册》
Scrummaster
2
建立项目ProductBacklog,包含Userstory的划分;
输出:
《UserStories模板和版本迭代计划模板》或工具中呈现;
Scrumteam
3
为ProductBacklog设定优先级,并进行初步估计;
输出:
《UserStories模板和版本迭代计划模板》或工具中呈现;
Scrumteam
4
依据ProductBacklog进行迭代划分形成项目计划,计划包括但不限于以下内容:
迭代安排、人员安排、风险、配置管理、质量保证、培训、度量、非人力的资源、测试策略、安全、采购;
输出:
《项目计划》
Scrumteam
5
搭建工作环境,包括但不限于:
配置管理:
工具SVN(参照客户要求);
持续集成;
测试;
可视化管理:
工具Redmine、JIRA;
Scrummaster
6
计划会议。
Ø迭代1~迭代n,迭代内部原则上不接受变更,如客户强烈要求需做特别说明;
Ø迭代1~迭代n,迭代周期建议在1~4周。
计划会议结束进行迭代0基线,基线过程参见《配置管理过程》
输出:
《配置管理状态报告》
Scrumteam
评审:
项目计划
ProductBacklog
度量:
评审时间、评审缺陷
培训:
Planninggame、Backlog
工具:
N/A
5.2迭代开发(迭代1~迭代n)
流程负责者:
EPG
干系人:
PO、Scrumteam、Scrummaster
输入:
更新、评审通过的计划(本轮迭代计划)、ProductBacklog
进入标准:
更新的(计划、Backlog)评审通过
输出:
下一轮迭代计划;
SprintBacklog;
Story分析设计
Code
Story测试用例;
迭代测试用例;
迭代测试报告;
缺陷管理报告;
Showcase会议纪要、邮件;
配置管理状态报告
日报
燃尽图
迭代回顾总结
退出标准:
迭代Showcase被客户确认;
迭代回顾总结已开展
序号
活动/任务描述
负责人
1
上一轮迭代结束前制定完成下一轮迭代计划,迭代开始后开展迭代开工会,可与上轮迭代回顾总结会议合并;
输出:
《UserStories模板和版本迭代计划模板》或工具中呈现
Scrumteam
2
ScrumTeam对当前迭代SprintBacklog中的Story进行头脑风暴,达成共识;
更新SprintBacklog,包含Story任务分解、工作评估、当前任务剩余工时、任务状态;
输出:
《UserStories模板和版本迭代计划模板》文档或工具中呈现;
Scrumteam
3
Story实现,可引入XP实践:
简单设计、测试驱动开发、结对编程、重构、持续集成,实践具体介绍参见《敏捷认知》;
输出:
Code;
《Story分析设计》
Scrumteam
4
编制Story测试用例,根据Story测试用例进行Story测试,达到转迭代测试标准;
缺陷管理参见《缺陷管理过程》
输出:
Story测试用例(用例形式不限)
转测试标准:
标准项目自定义
Scrumteam
5
根据SprintBacklog编写迭代测试用例;
依据迭代测试用例进行迭代测试,达到迭代测试退出准则(退出标准项目自定义);
缺陷管理参见《缺陷管理过程》
输出:
迭代测试用例;
迭代测试报告;
缺陷管理报告;
Scrumteam
6
迭代测试通过后,向客户进行Showcase,获得客户确认;
Showcase结果来自:
Showcase现场客户反馈、Showcase结束后客户邮件反馈。
Showcase结束进行迭代基线,基线过程参见《配置管理过程》
输出:
Showcase会议纪要、邮件、《配置管理状态报告》;
PO、Scrumteam
7
迭代周期固定,建议周期为1~4周,如无法固定迭代周期,需做特别说明。
项目团队每日晨会进行沟通,通过工具进行可视化管理,迭代结束前项目团队进行迭代回顾总结,向组织级提交最佳实践、经验教训以及度量数据;
配置管理参见《配置管理过程》
度量参见《度量与分析过程》
风险管理参见《风险管理过程》
过程与产品质量保证参见《过程和产品质量保证过程》
输出:
日报
燃尽图
迭代回顾总结
Scrumteam
评审:
迭代计划;
UserStories模板和版本迭代计划模板
Story分析设计
Code
Story测试用例;
迭代测试用例;
迭代测试用例;
迭代测试报告;
缺陷管理报告;
度量:
待定
培训:
敏捷认知
工具:
N/A
5.3发布
流程负责者:
EPG
干系人:
PO、Scrumteam、Scrummaster
输入:
所有迭代输出
进入标准:
所有迭代已完成
输出:
SIT结果、《配置管理状态报告》、项目总结报告
退出标准:
SIT结束;
项目回顾总结已开展
序号
活动/任务描述
负责人
1
项目团队开展SIT,输出SIT结果;
输出:
SIT测试报告
Scrumteam
2
SIT结束后进行发布基线,基线过程参见《配置管理过程》;
基线后根据项目要求进行项目发布。
输出:
《配置管理状态报告》
3
项目团队进行项目回顾总结,向组织级提交最佳实践、经验教训以及度量数据;
输出:
项目总结报告
Scrumteam
评审:
SIT结果
度量:
SIT缺陷
培训:
N/A
工具:
N/A
6.RACI
活动/任务描述
R
A
C
I
项目计划
Scrumteam
Scrumteam
PMO
PO
迭代开发
Scrumteam
Scrumteam
PMO
PO
发布
Scrumteam
Scrumteam
PMO
PO
7.使用说明
本文档是根据文思海辉业务线和项目管理特点、敏捷方法、以及CMMIDEV1.3、CMMISVC1.3要求建立,使用者主要是文思海辉业务线采用敏捷开发的团队。
8.参考文献
∙CMMI®forDevelopment,Version1.3
∙CMMI®forService,Version1.3