1. 介绍
软件开发模型是指软件开发的全部过程、活动和任务的结构框架。
2. 敏捷开发
敏捷开发(Agile Development)是一种以人为核心,迭代,循序渐进的开发方式。就是把大型项目分为多个可独立运行的小项目,并分别完成,在在此过程中,软件处于可使用状态。
迭代:即把一个复杂且开发周期很长的开发任务,分割为很多小周期可完成的任务。如此一个周期就是一次迭代的过程,同时每一次迭代都是可以生产或开发出一个可以交付的软件项目。
注意:敏捷开发是一种开发方法,也是一种开发流程,知道我们用规定的环节一步步完成项目的开发;而这种开发方式的主要驱动核心是 人。
3. 以人为核心
敏捷开发只写有必要的文档,或尽量少写文档,敏捷开发注重的是,人与人之间的,面对面的交流。故强调以人为核心。
4. Scrum 和 XP
敏捷开发是一种指导思想或开发方式,但未明确讲解用什么样的流程进行开发,而Scrum与和XP就是敏捷开发的具体方式。Scrum偏重于过程,XP偏向于实践。而实际上,两者是结合使用的。
1) Scrum
介绍:以英式橄榄球运动的“争球”命名,好比如团队开发项目,是富有激情的且高效的。
敏捷开发的三种角色
Product Owner(产品负责人,简称“po”):产品老板,主要提需求的人。 Scrum Master(主管):保证团队以 Scrum 形式开发,比如进入开发模式时,不让修改需求,召开管理每日会议。 Team(团队):不分开发测试,大家一起完成。敏捷开发的流程
① 我们要先确定一个 Product Backlog(按优先顺序的一个产品需求列表),这个由产品负责人负责; ② Scrum Team 根据 Product Backlog 列表,做工作量的预估和安排; ③ 有了 Product Backlog 列表,我们需要通过 Sprint(冲刺)计划会议来从中挑选出一个需求作为本次迭代完成的目标,这个目标的时间周期是 1-4 周,然后把这个需求进行细化,形成一个 SprintBacklog(需求列表); ④ Sprint Backlog 是由 Scrum Team 去完成,每个成员根据 Sprint Backlog再去细化成更小的任务; ⑤ 在 Scrum Team 完成计划会议上选出的 Sprint Backlog 过程中,需要进行每日站立会议,每次会议在十五分钟左右,每个人发言,并且要向所有成员当面汇报昨天完成了什么,并且要讲出 今天完成了什么,可以提出解决不了的问问题,每日更新自己的燃尽图;2) Xp
介绍:极限编程。XP是一种轻量级(敏捷)、高效、低风险、可预测、科学的软件开发方式。
XP在更短的周期内,更早的提供具体、持续的反馈信息,在迭代的进行计划编制。首先在最开始迅速生成一个总体计划,然后再项目开发过程中不断地发展它,它依赖于口头交流,测试和开发团队紧密协作。
Xp 由价值观,原则,实践和行为四个部分组成,他们相互依赖,关联,通过行为贯穿整个生命期。
四大价值观:
(1)沟通:鼓励大家口头交流解决问题,提高效率; (2)简单:提倡“够用就好”的思路,尽量的简单化; (3)反馈:时时反馈代码问题以及进度; (4)勇气 :在 xp 中,会让你处于变化之中,需要勇气来面对快速开发,甚至面对重新开发。五个原则:
(1)快速反馈:对反馈价值观的补充; (2)简单性假设:对简单价值观的补充; (3)逐步修改:任何问题都应该通过能够带来差异的微笑改动来解决(就像开车打方向盘一样); (4)提倡更改:解决重要问题是保留选项多的答案,为下一次的修改做好准备; (5)优质工作:贯彻“小步快走”的开发原则,工作质量要求相当的高。
3) 两者区别
Scrum | XP | |
迭代长度不同 | Scrum 的迭代长度为 2-4 周; | Xp 的一个 Sprint(冲刺)迭代长度大致 1-2 周; |
是否允许修改需求 | Scrum 一旦确定,任何需求都不允许加进来,有 Scrum Master 把关; | Xp 中,如果一个需求还没有实现,可以用另外的需求替换; |
需求是否按照优先级来实现 | Scrum 中可以不按照优先级; | Xp 中务必遵守优先级; |
标签:迭代,Scrum,模式,开发,敏捷,XP,Backlog From: https://www.cnblogs.com/warmNest-llb/p/18087971