敏捷开发快速入门(三):Scrum与XP介绍

Scrum开发流程:

Scrum概述

  • Scrum本指橄榄球运动中的“争球”的动作——团队通力合作,在场地内传球。这个过程需要认真配合、信念一致、目标明确。这个过程完美体现了对一个团队的所有要求。

  • 用Scrum命名一种开发过程,比喻开发团队在开发一个项目时,像打橄榄球一样迅速、激情,人人你争我抢地完成它。

  • Scrum 方法——简单说,就是以 交付 与 迭代 为核心的方法。「每过一小段时间就停一停手头的工作,检查一下已经完成了哪些任务,看看这些任务是不是自己应该做的,看看有没有更好的方法」

  • Scrum没有对软件的整个实施过程开出工程实践的处方。要求开发者自觉保证。

Scrum中三个角色

  • 产品负责人(Product Owner)
    主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。
  • 敏捷教练(Scrum Master)——主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。
  • 开发团队(Scrum Team)——主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到目标。

注意: 在Scrum里,责任和成果属于整个团队。为了强调团队的整体性,Scrum开发团队里只有一种角色,就是工程师。Scrum强调团队作为一个整体承担责任。

Scurm中三个工件

  • 产品功能列表(Product Backlog)
    产品功能列表是一个具有优先级的需求列表, 并对每个需求进行了粗略的估算。内容包括未细化的产品功能要求、Bugs、缺陷、用户提出的改进、具竞争力的功能及技术升级等,按优先级定义出来,这些任务可能不是完整的,甚至可能随时会更改或添加。
    在这里插入图片描述

  • 迭代冲刺列表(Sprint Backlog)
    迭代冲刺列表是当前Sprint需要完成的用户故事,是当前的冲剌列表。冲刺列表从已排序且经过估算的Product Backlog中挑选。后续这个迭代中的所有任务拆分和跟综都以此列表为准,Sprint Backlog一但确认后续对于新的添加随不可随意更改。敏捷虽然拥抱变化但也有自身的规范,当变更添加或是减少相对的User Store时,就要减少或放入相对故事点大小的其他用户故事。
    在这里插入图片描述

  • 燃尽图(Brun-Down Chart)
    燃尽图是一个公开展示的图表,显示当前冲刺中未完成的任务数目,或在冲刺订单上未完成的单项的数目。通常用于敏捷编程,下面是一个具有代表意义的燃尽图。
    在这里插入图片描述

Scurm中四个会议

  • 迭代计划会(Sprint Planning Metting)
    a. 确定Sprint目标挑选故事
    b. 讨论技术架构

  • 迭代评审会 (Sprint Revlew Meeting)
    共识当前Sprint的结果和整个产品的开发状态

  • 迭代回顾会(Sprint Retrospective Meeting)
    分析这个迭代中做的好的点与不好的点,确认需要改进的条目和具然条目的优先及,改进问题的方案。

  • 每日站会 (Daliy Scrum Meeting)
    大家信息共享与工作透明

极限编程·XP

XP概述

  • 敏捷过程是一种“价值观”和“方法论”,是一个抽象的概念。其中一种具体的实践形式是“极限编程”。

  • 极限编程(eXtreme Programming,简称XP),比敏捷过程提出地更早(敏捷宣言发表之前,已有一些符合其价值观的实践,敏捷过程也是从实践中提出地理论)。对比传统的项目开发方式,XP强调把好的开发实践运用到极致。XP多应用于软件需求模糊的场合。

  • XP对整个流程方法定义非常严格,规定需要采用TDD、自动测试、结对编程、简单设计、重构等约束团队的行为。

XP提倡的方法:

  1. 开发过程中至少要有一名客户代表
  2. 快速交付
    a. 数周迭代一次,及时向客户演示系统,获得客户反馈。
    b. 不需要等一个产品的所有功能都实现了才能发布,只要把能盈利的功能做完了,通过测试就可以发布第一个版本,后面的功能按照优先顺序接着做,做好了再更新。
  3. 结对编程
  4. 测试驱动开发
    Test-Driven Development,TDD 编码之前即设计好测试方案
  5. 代码集体所有
    开发团队中,每人都能改代码,人人都要对代码负责
  6. 不加班
    为保证生产力,XP规定每周不超过40h,连续加班不超过两周
  7. 开放的工作空间
    a. 要求team leader作为领队人而不是管理者,团队每个人都平等,但是项目负责人比重更大
    b. 共同做出决定,每个人在自己的领域发声,但是这并不代表这个团队无组织无纪律。
    c. 项目负责人需要找到合适的团队成员,阐述产品的愿景,并且鼓励大家,保持大家的积极性。
    d. 虽然开发过程是可调整的,但是负责人要保证这个产品不能完全跑偏。
  8. 及时调整计划
    计划赶不上变化,没有一成不变的计划。一个预先设想的功能时候是有的,后来发现这个功能不需要了,可以废掉;开发过程中发现了很有必要的新功能,那做完手头这个就做这个新的。
  9. 重构
    不改变系统行为的前提下,优化系统内部结构,以降低复杂性、提高灵活性。

Scrum与XP的区别

ScrumXP
迭代长度一般为 2~ 4周一般为 2~ 4周
迭代中是否允许修改需求一旦迭代开工,不允许修改需求,由Scrum Master严格把关,不允许开发团队受到干扰故事还没有实现,可以考虑用另外的需求替换,替换原则是需求实现的时间量是相等的。
需求是否严格按照优先级别来实现可以不按照优先级别来做。Scrum的理由是:如果优先问题的解决者,由于其它事情耽搁,不能认领任务,那么整个进度就耽误了。务必遵守优先级别
实施过程是否采用严格的工程方法没有对软件的整个实施过程开出工程实践的处方。要求开发者自觉保证。对整个流程方法定义非常严格,规定需要采用TDD、自动测试、结对编程、简单设计、重构等约束团队的行为。
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值