管理 | 两种敏捷开发方法

敏捷开发的两种方法,你get了吗?

一、什么是敏捷开发?

  • 传统开发方式:如迭代式开发、瀑布式开发

    • 软件的开发过程是确定的、可测的
    • 在一开始努力收集到需要的信息并指定好计划
    • 忠实地执行计划就能够成功
  • 敏捷开发(Agile Development)

    • 无法从一开始就收集到确保陈功所需要的所有信息
    • 随着开发的进行,对正在做的东西的认识越来越深刻,才能发现产品中的一切缺陷或需要调整的地方

二、敏捷开发的核心是什么?

  • 敏捷开发的原则是:

    • 快速验证
    • 价值驱动
    • 团队自组织
  • 敏捷开发的目的是:

    • 更早验证产品模式
    • 获得投资回报
    • 降低投资风险
  • 敏捷开发的核心是:

    • 以人为核心!
    • 人为核心!
    • 人为核心!

敏捷开发是增量式的迭代开发,需要应对多种可能的需求变化并快速感知响应。
增量迭代开发就是定期产出可工作的软件并收集软件反馈,然后做出相应的调整战略
形成所谓的快速反馈循环,以迅速应对变化。

三、敏捷开发的两种方法

1)Scrum

Scrum表示橄榄球运动的“争球”动作;
大家像打橄榄球一样迅速、富有战斗激情、人人你争我抢地完成它。

2)XP

极限编程(eXtreme Programming)是敏捷方法中最被推崇的一个

3)Scrum和XP的区别是什么?

区别之一: 迭代长度的不同
  • XP的一个Sprint的迭代长度大致为1~2周
  • Scrum的一个Sprint迭代长度一般为 2~ 4周.
区别之二: 在迭代中, 是否允许修改需求
  • XP在一个迭代中,如果一个User Story(用户素材, 也就是一个需求)还没有实现, 则可以考虑用另外的需求将其替换,替换的原则是需求实现的时间量是相等的。
  • Scrum是不允许这样做的,一旦迭代开工会完毕, 任何需求都不允许添加进来,并有Scrum Master严格把关,不允许开发团队受到干扰
区别之三: 在迭代中,User Story是否严格按照优先级别来实现

XP是务必要遵守优先级别的。 但Scrum在这点做得很灵活, 可以不按照优先级别来做,Scrum这样处理的理由是:如果优先问题的解决者,由于其它事情耽搁,不能认领任务,那么整个进度就耽误了。 另外一个原因是,如果按优先级排序的User Story #6和#10,虽然#6优先级高,但是如果#6的实现要依赖于#10,则不得不优先做#10.

区别之四

软件的实施过程中,是否采用严格的工程方法,保证进度或者质量

四、如何实现敏捷开发?

Scrum开发流程中的三大角色

一)产品负责人(Product Owner)

主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。

二)流程管理员(Scrum Master)

主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。

三)开发团队(Scrum Team)

主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到Sprint的目标。

什么是Sprint?
Sprint是短距离赛跑的意思,在开发里面指的是一次迭代。
而一次迭代的周期是1个月时间(即4个星期),
也就是我们要把一次迭代的开发内容以最快的速度完成它,
这个过程我们称它为Sprint。

  1. 我们首先需要确定一个Product Backlog(按优先顺序排列的一个产品需求列表),这个是由Product Owner 负责的;
  2. Scrum Team根据Product Backlog列表,做工作量的预估和安排
  3. 有了Product Backlog列表,我们需要通过 Sprint Planning Meeting(Sprint计划会议) 来从中挑选出一个Story作为本次迭代完成的目标,这个目标的时间周期是1~4个星期,然后把这个Story进行细化,形成一个Sprint Backlog;
  4. Sprint Backlog是由Scrum Team去完成的,每个成员根据Sprint Backlog再细化成更小的任务(细到每个任务的工作量在2天内能完成);
  5. 在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行 Daily Scrum Meeting(每日站立会议),每次会议控制在15分钟左右,每个人都必须发言,并且要向所有成员当面汇报你昨天完成了什么,并且向所有成员承诺你今天要完成什么,同时遇到不能解决的问题也可以提出,每个人回答完成后,要走到黑板前更新自己的 Sprint burn down(Sprint燃尽图);
  6. 做到每日集成,也就是每天都要有一个可以成功编译. 并且可以演示的版本;很多人可能还没有用过自动化的每日集成,其实TFS就有这个功能,它可以支持每次有成员进行签入操作的时候,在服务器上自动获取最新版本,然后在服务器中编译,如果通过则马上再执行单元测试代码,如果也全部通过,则将该版本发布,这时一次正式的签入操作才保存到TFS中,中间有任何失败,都会用邮件通知项目管理人员;
  7. 当一个Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,这时,我们要进行 Srpint Review Meeting(演示会议),也称为评审会议,产品负责人和客户都要参加(最好本公司老板也参加),每一个Scrum Team的成员都要向他们演示自己完成的软件产品(这个会议非常重要,一定不能取消);
  8. 最后就是** Sprint Retrospective Meeting(回顾会议)**,也称为总结会议,以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中;

五、Scrum开发流程中的一些场景图

每日的站立会议
任务看版

任务看版包含 未完成、正在做、已完成 的工作状态

假设你今天把一个未完成的工作已经完成,
那么你要把小卡片从未完成区域贴到已完成区域。

每个人的工作进度和完成情况都是公开的,
如果有一个人的工作任务在某一个位置放了好几天,
大家都能发现他的工作进度出现了什么问题
(成员人数最好是5~7个,这样每人可以使用一种专用颜色的标签纸,一眼就可以从任务版看出谁的工作进度快,谁的工作进度慢)

计划纸牌

计划纸牌怎么用的呢?
比如A程序员开发一个功能,需要5个小时,
B程序员认为只需要半小时,那他们各自取相应的牌,藏在手中,
最后摊牌,如果时间差距很大,
那么A和B就可以讨论A为什么要5个小时...

希望详细了解学习的同学可以购买这本书《硝烟中的Scrum和XP》作者Henrik Kniberg讲 述了他在一年的时间里,带领40人的团队实施Scrum的过程。他们试过了多种团队尺寸(3~12人)、sprint长度(2~6星期),定义“完成”的 不同方式,不同的backlog格式,各种测试策略,在多个Scrum团队之间进行同步的多种方式。他们还尝试过XP实践——持续集成、结对编程、测试驱 动开发等等,还试过了把XP跟Scrum组合。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容

  • 1、在项目的Sprint回顾会后,团队成员指出那是抱怨会,不是非常有效。Scrum主管应该怎么做?A 建议团队尊重...
    隔壁老李头阅读 12,038评论 1 16
  • 返回目录 下一章·Scrum 中的基本角色和职责 我们发现,许多项目成员对敏捷开发中的一些基本名词概念模糊,造成了...
    o黄裳元吉o阅读 12,289评论 1 14
  • /大可 在这变幻莫测的宇宙,空间无法丈量,天体不计其数,只有恰当的距离,恰当的关系,恰当的条件,无穷无尽的时间和极...
    大可这样看世界阅读 995评论 0 2
  • 今天是七月第三周的星期五,不知大家在哪里?这周是否过得不错?马上迎来双休的人们是否有什么好的日程安排呢? 炎热的夏...
    暴走君萨阅读 180评论 0 0
  • 众所周知,精神分裂症是一种病,但我认为,他们的世界其实是另一个平行宇宙,只是恰巧与你相隔了十万光年。坦白地说,我也...
    雁北堂阅读 396评论 0 0