敏捷开发流程
2019-04-03 14:48:51 3 举报
AI智能生成
登录查看完整内容
为你推荐
查看更多
敏捷开发小知识
作者其他创作
大纲/内容
敏捷开发流程(Scrum)
Scrum: 英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,我想你一定能想象出你的开发团队在开发一个项目时;大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它,你一定会感到非常兴奋的。而Scrum就是这样的一个开发流程,运用该流程,你就能看到你团队高效的工作。【Scrum偏重于过程,Xp偏重于实践】
定义
1、敏捷开发是以用户需求为核心,采用迭代、循序渐进的方法进行软件开发
2、敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征
3、把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态
核心与方法
核心:用户需求进化
方法:迭代、循序渐进
迭代:把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样的一个周期就是一次迭代过程,同时每一次迭代都可以生产或开发出一个可以交付的软件产品。
项目角色
产品负责人(Product Owner):主要负责确定产品功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权利接受和拒绝开发团队的工作成果
流程管理员(Scrum Master):负责整个Scrum流程在项目中的顺利实施和 进行,以及清除挡在客户和开发工作质检的沟通障碍,使得客户可以直接驱动开发??????
开发团队(Scrum Team):负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力,成员可以采用任何工作方式,只要达到Sprint的目标
Scrum开发模型
模型
模型2
Scrum开发流程
1、首先我们需要一个PB(Product Backlog,即按优先顺序排列的一个产品需求列表),这里由PO(Product Owner)负责的
2、ST(Scrum Team)会根据PB列表,进行工作量的预估和安排
3、有了PB列表,我们需要通过Sprint Planning Meeting(Sprint计划会议)来从中挑选出一个Story作为本次迭代完成的目标,这个目标的时间周期是1-4个星期,然后把这个Story进行细化,形成一个Sprint Backlog
4、Sprint Backlog是由ST去完成的,每个成员根据Sprint Backlog再细化成更小的任务(细到每个人的工作量在2天内完成)
5、在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行Daily Scrum Meeting(每日站立会议),每次会议控制在15分钟左右,每个人都必须发言,并且要向所有成员当面汇报你昨天完成了什么,并且向所有成员承诺你今天要完成什么,同时遇到不能解决的问题也可以提出,每个人回答完成后,要走到黑板前更新自己的Sprint burndown(Sprint燃尽图)
6、做到每日集成,也就是每天都要有一个可以成功编译,并且可以演示的版本
7、当一个Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,这是需进行Sprint Review Meeting(演示会议)也称为评审会议,每一个Scrum Team的成员都要向他们演示自己完成的软件产品
8、最后Sprint Retrospective Meeting(回顾会议)也成为总结会议,轮流发言方式进行,总结并讨论改进的地方,放入下一轮Sprint的产品需求中
Sprint
短距离赛跑的意思,这里面指的是一次迭代,而一次迭代的周期是1个月时间(即4个星期),也就是我们要把一次迭代的开发内容以最快的速度完成它,这个过程我们称它为 Sprint
敏捷开发原则
快速迭代
让测试人员与开发人员参与需求讨论
编写可测试的需求文档
多沟通尽量减少文档
做好产品原型
尽早考虑测试
核心实践和技术
TDD(测试驱动开发Test-Driven Development)
1、敏捷开发中的一项核心实践和技术、也是一种设计方法论
2、开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码
3、基本思路是通过测试来推动整个开发的进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析、设计、质量控制量化的过程
0 条评论
回复 删除
下一页