敏捷开发(agile)

  • A+
所属分类:学习分享

一句话解释:我也不知道到底要开发个啥,走一步看一步吧。

百度百科的解释:敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

 

下面来看看敏捷开发宣言:

维基百科:

「敏捷軟件開發宣言」定義了相關的價值和原則。敏捷軟體開發的框架不斷的發展,兩個最廣泛被使用的是ScrumKanban

 

SCRUM的工作流程

学习Scrum之前,我们先要了解几个基本术语:

Sprint:冲刺周期,通俗的讲就是实现一个“小目标”的周期。一般需要2-6周时间。

User Story:用户的外在业务需求。拿银行系统来举例的话,一个Story可以是用户的存款行为,或者是查询余额等等。也就是所谓的小目标本身。

Task:由User Story 拆分成的具体开发任务。

Backlog:需求列表,可以看成是小目标的清单。分为Sprint Backlog和Product Backlog。

Daily meeting:每天的站会,用于监控项目进度。有些公司直接称其为Scrum。

Sprint Review meeting: 冲刺评审会议,让团队成员们演示成果。

Sprint burn down:冲刺燃尽图,说白了就是记录当前周期的需求完成情况。

Rlease:开发周期完成,项目发布新的可用版本。


如上图所示,在项目启动之前,会由团队的产品负责人(Product owner)按照需求优先级来明确出一份Product Backlog,为项目做出整体排期。

随后在每一个小的迭代周期里,团队会根据计划(Sprint Plan Meeting)确定本周期的Sprint Backlog,再细化成一个个Task,分配给团队成员,进行具体开发工作。每一天,团队成员都会进行Daily meeting,根据情况更新自己的Task状态,整个团队更新Sprint burn down chart。

当这一周期的Sprint backlog全部完成,团队会进行Spring review meeting,也就是评审会议。一切顺利的话,会发布出这一版本的Release,并且进行Sprint回顾会议(Sprint Retrospective Meeting)。

 

敏捷开发与Devops

Devops是Development和Operations的合成词,其目标是要加强开发人员、测试人员、运维人员之间的沟通协调。如何实现这一目标呢?需要我们的项目做到持续集成持续交付、持续部署

时下流行的JenkinsBamboo,就是两款优秀的持续集成工具。而Docker容器则为Devops提供了强大而有效的统一环境。

   什么是Daily Scrum 每日站会

团队发展的几个阶段:

  • 组建期(Forming)
  • 激荡期(Storming)
  • 规范期(Norming)
  • 执行期(Performing)
  • 休整期

组建期,激荡期 - 建立信任

团队初建,成员互相之间不够熟悉,这个阶段最重要的是快速建立信任。什么样的团队成员能得到其他人的信任呢?

  • 搞定问题的能力
  • 积极主动的态度
  • 团队合作的意识
经典的三个问题恰好可以让我们了解团队成员是否具备以上三点:
  • 我昨天完成了什么?- 我拥有专业能力
  • 能搞定一些工作今天准备做什么?我积极思考
  • 主动承担任务我遇到了什么问题? 我不是万能的,但我信任团队,我会把搞不定的问题暴露出来

规范期,执行期 - 关注价值流动

在「规范期」和「执行期」,团队成员对彼此的专业能力和态度都有了信心,站会的关注点应该从「人」转移到「事」上,或者说关注接力棒而不是运动员。
软件开发过程中,对于一个功能特性,只有真正被用户使用才能产生价值。所以我们要尽量缩短从需求分析到开发、测试、部署的周期,而这其中一个很大的浪费就是「等待」。分析完了等待开发,开发完了等待测试,测试通过等待部署......
这时,我们可以采用看板推崇的「拉动」的方式,大家站在看板前,不再讲三个经典问题,而是以需求为中心,从看板的右边往左边,讨论每一个需求卡片的状态,以及还需要做什么才能移动到右边一列。

执行期 - 仪式感

在执行期的前半段,大家都被成就感驱动,工作充满激情。但到了后半段,业务和技术上都没有什么新的挑战,团队每天按部就班地工作,激情很容易流失,团队容易进入得过且过的状态。这时站会更多的是一个仪式,让我们作为一个团队继续战斗。产品经理要经常分享产品在市场上的反馈,比如用户的表扬信,又新增了多少用户,产品又挣了多少钱等。让大家看到工作产生的价值,持续获得成就感。
另外,站会还是工作与生活的分水岭。早上一到公司,我们脑子里还是生活的上下文:
昨晚老公鬼鬼祟祟地接了个电话,明天孩子的补习班该续费了,老爸的手机该换了,闺蜜要生二胎了送点什么呢?
借站会这个仪式,我们将看板上的工作相关的上下文加载到大脑中,以便快速进入高效工作的状态。

来自:

https://www.jianshu.com/p/de2d47b6b2cb
http://blog.jobbole.com/110231/

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: