开发模式之敏捷开发

 

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 过程中,需要进行每日站立会议,每次会议在十五分钟左右,每个人发言,并且要向所有成员当面汇报昨天完成了什么,并且要讲出
        今天完成了什么,可以提出解决不了的问题,每日更新自己的燃尽图;
 
    燃尽图:100%的工作随着时间而逐步完成。图例:

    

 

  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 中务必遵守优先级;

 

 

 

 

 


 

posted @   学Java的`Bei  阅读(94)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示