怎么理解敏捷?

敏捷开发的由来

敏捷开发是全球主流的软件开发模式,从上世纪九十年代就开始逐渐引起广泛关注的软件开发方法,它是一种应对快速变化的需求的一种软件开发能力。在2001年,17位自称“有组织的无政府主义者”在Utah(犹他州)的Snowbird(雪乌)分享了互相竞争的几种方式:极限编程(XP);透明化;自适应软件开发(ASD);特征驱动开发(FDD);动态系统开发方法(DSDM)。这些方式都是“轻量版”的框架,使用更少,更简单的规则来适应快速变化的环境,并且为这个运动取了个名字:敏捷。有了这个名字后,参与者们达成一致,发布了“敏捷软件开发宣言”,该宣言中突出了每个人都同意的4个关键价值。之后的几个月中,他们发展了12个操作原则,被称为“敏捷宣言背后原则”。从2011年开始,所有的开发框架,以及与之匹配的价值观和原则就被称作为敏捷技术。

开发宣言

针对传统开发模式

个体与交互 高过 过程与工具

项目启动时,需要用一些项目管理方法和工具进行开发管理。合适的工具能很好的帮助开发,但当在开发人员面前出现大量庞大笨重甚至不好用的工具和开发环境时效率就会开始降低到最后无法前进。

但并不是说就不需要过程和工具了。敏捷项目首先拥有一个小规模但拥有各种不同职能的成员,每个成员都需要定时和团队的其他成员一起查看团队的整体进度,计划下一步工作,并一起探讨所遭遇问题的解决方案。自组织团队通过个人能力和协作能力,可以自发的通过各种途径解决开发过程中遇到的问题,所以需要哪些过程和工具应该是由自组织团队制定的。

可以工作的软件 高过 面面俱到的文档

编写一份详尽的需求文档总是好的,然而文档承载着各阶段之间的信息传递。例如产品文档、需求文档、接口文档等,除非有充足的时间,否则我们不可能一开始就想清楚所有细节。另外编写文档需要花费大量的时间,仍旧只能以降低质量来遵循计划的执行。

难道就不需要文档了吗?面面俱到的文档对客户来说确并不重要,用户需要的是一个能够运行起来,能够实质解决工作中问题的可以工作的软件。面面俱到的文档对开发团队也不重要,对开发团队来说最好的两份文档就是代码和团队。通过频繁的提供可以工作的软件,我们也可以更为频繁的搜集对产品和开发过程的反馈,保证开发人员始终是在处理最具有价值的功能,而且这些功能可以满足用户的需要。在开发过程中需要进行内部交流,也需要和客户交流,我们仍旧可能需要制作原型,书写一些主要需求,只要自组织团队认为足够就可以了。

客户协作 高过 合同谈判

项目开发一般都是跟随着合同开始的,在开发期间,如果需要变更合同,则需要经过一系列变更流程,遇到一些客户只是简单的询问一下进度,有的甚至是到最后交付日了直接来问你要东西,并且在开发过程中也不会进行实质性的反馈,导致最终的产品不满意,还得重新商讨解决方案。

寻求客户合作的价值重于对合同的谈判。敏捷开发提倡客户和开发团队密切的在一起工作,并尽量经常行得提供反馈。利用短期迭代,通过尽早提供软件来达到与客户频繁沟通和反馈的,这也可以把问题暴露出来,以免在后期造成更大的影响。虽然我们致力于客户协作,但为了双方利益和需要仍旧需要进行合同谈判。

响应变化 高过 遵循计划

项目开始之后,负责人制定出明确的计划,详细列出需求、设计、开发、测试的各项任务,并拟定看似完整齐全的计划,并以此不变的计划作为对客户的承诺。但是开发过程中存在很多不确定性,这来自于每个人拥有不同的技能、经验和观点,因此在一起合作时会使得开发过程变得复杂。但为了保证”遵循计划“,会忽略这些不稳定的因素。最后就势必导致提供给客户的是一个不满意的产品。

计划赶不上变化,敏捷不是不需要计划,相反它需要更多的规划。许多项目管理方法是“规划、规划。规划-执行”,而敏捷开发方法是“规划-执行-调整”、“规划-执行-调整”。一个项目的不确定性越高,敏捷开发方法对取得成功就越是至关重要,不断学习和调整是敏捷开发的核心。虽然我们致力于响应变化,但并不是不需要计划了,只是变得更多规划了。

尽管右项有其价值,但我们更重视左项的价值。

原则

  • 我们最优先考虑的是尽早和持续不断地交付有价值的软件,从而使客户满意。

  • 即使在开发后期也欢迎需求变更。敏捷过程利用变更可以为客户创造竞争优势。

  • 采用较短的项目周期(从几周到几个月),不断地交付可工作软件。

  • 业务人员和开发人员必须在整个项目期间每天一起工作。

  • 围绕富有进取心的个体而创建项目。为他们提供所需的环境和支持,信任他们所开展的工作。

  • 不论团队内外,传递信息效果最好且效率最高的方式是面对面交谈。

  • 可工作软件是度量进度的首要指标。

  • 敏捷过程倡导可持续开发。发起人、开发人员和用户要能够长期维持稳定的开发步伐。

  • 坚持不懈的追求技术卓越和良好的设计,从而增强敏捷能力。

  • 以简洁为本,最大限度的减少工作量。

  • 最好的架构、需求和设计出自于自组织团队。

  • 团队定期地反思如何提高成效,并相应地协调和调整自身的行为。

优点

敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。传统开发方法是基于客户能够在需求阶段就给出完整、准确的需求,期望于在项目初期获得详细的需求,然后严格控制需求变更,最终完成符合需求的软件。但随着开发的不断进展而不断更改的需求,根本无法在项目初期就明确的定义它。敏捷开发,相对传统软件开发模式,认为需求是无法在早期完全确定的,所以采用的是基于经验的开发方法,也就是说事先不详细定义整个开发过程,而通过多次迭代来逼近最终目标。它主要是针对快速变化的需求,不断优化管理流程,最终推出优质软件。

缺点

  • 对参与员工的个人能力和态度要求比较高
  • 长期的面对面沟通最终会导致低效
  • 人员流动较大,导致简化的文档不能满足
  • 客户的理解与配合
  • 适合小型的企业需求

解决的办法

  • 事前做培训。
  • 不需要每一步都记录,拟定大致的轮廓。
  • 需要客户配合时,简化阐述。
  • 大项目开发具体问题具体分析,根据项目特点制定敏捷计划。

总结

敏捷开发是一种过程控制的方法,用短周期迭代,可视化流程,自适应调整,及时沟通对产品需求做高效管理。

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,522评论 25 707
  • 先说项目开发过程中团队人员的分工协作。 一 人员安排 毕业至今的大部分项目都是独立完成,虽然也有和其他同事协作的时...
    SnowflakeCloud阅读 10,749评论 3 59
  • 近几年,我对知识管理和笔记术的兴趣很浓,更换了几次平台之后,今年下半年逐渐稳定下来。下面做一点回顾和整理。 现有系...
    老杜还在阅读 481评论 0 2
  • 看李娟的书是很偶然的机会,之前并不知道这个新疆作者,知乎有人推荐说她的书很有趣,在kindle下载了几本,冬牧场最...
    Juri356阅读 543评论 0 0
  • 著名物理学家霍金的最新演讲。4月27日,现代最伟大的物理学家之一霍金在2017全球移动互联网大会上发表了演讲,主题...
    碎碎淡阅读 1,080评论 0 1