`
buzhucele
  • 浏览: 327504 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

敏捷开发的定义

阅读更多
来自于软件开发领域的敏捷开发渐渐的向软件开发之外的领域传播。有金融界、法律界的朋友问我什么是敏捷,本文试图向非软件开发人员来介绍敏捷。

2001年美国17位资深的软件从业人员聚会,选择了Agile这个词作为统称,协商得到了如下的《敏捷软件开发宣言》。

我们致力于身体力行地揭示更好的软件开发方法,并推而广之。经过努力,我们已建立如下价值观:
个体及互动 胜过 流程及工具
可工作软件 胜过 详尽的文档
客户合作 胜过 合同谈判
响应变化 胜过 遵循计划
它意味着,尽管右项也有价值,我们认为左项更有价值。

这个会议被称为“雪鸟会议”。
同时他们整理了如下的《敏捷宣言背后的原则》
我们遵循以下原则:
1我们通过尽早且持续地交付有价值的软件,以达到我们的最高目标:让客户满意。
2欢迎需求变化,即使在开发后期也一样。敏捷过程掌控变化,为的是客户的竞争优势。
3经常交付可工作的软件,相隔几星期到几个月,且倾向于使用较短周期。
4项目开发全过程,业务人员和开发人员必须每天都在一起工作。
5围绕积极的个体构建项目。提供所需的环境和支持,并且信赖他们以完成工作。
6在团队内部及团队之间传达信息,面对面交谈的效果最佳且效率最高。
7可工作的软件是最主要的进度度量标准。
8敏捷过程倡导可持续开发。责任人、开发者和用户应共同维持一个长期稳定的步调。
9持续地追求优越技术以及良好设计,以增强敏捷能力。
10简朴——最大化无需完成的工作量的艺术——是根本。
11最好的构架、需求和设计都出自于自组织的团队。
12团队定期反省如何提高成效,并相应地调整及修正其行为表现。

可以看出敏捷的起源是针对于软件开发的。敏捷各流派达成共识的文字就全在上面了。
实际上“敏捷软件开发方法”不是指某一种方法,而是符合以上宣言和原则要求的等等各种方法的统称。
特别值得一提的是XP极限编程是Agile中的一个重要流派,提出了5个基本价值观:沟通、简单,反馈、勇气、尊重

经过多年发展,在ThoughtWorks,IBM等厂商的推动下,业务敏捷也被提上了讲台,使得原只属于软件开发领域的敏捷走向非软件开发领域。

在我看来,对于非软件开发领域,最值得借鉴的首先是敏捷思想。试归纳如下:
1,以人为本,基于信任,相信团队成员是自觉的、主动的。作为管理者,需要采用仆人型管理方式,认为自组织的团队是最好的团队。
2,沟通无极限,各方坦诚,鼓励快速交流。鼓励团队任何成员独立、自由、平等的表达观点
3,拥抱变化,对变化的态度是欢迎的,重视反馈,根据变化快速调整。
4,重视客户价值,以客户带来价值为第一要务。
5,追求简单,缩短中间过程,减少中间产物。

其次值得借鉴的是敏捷的过程。敏捷过程的特点有:
1,短迭代,2周~8周,一般是4周,固定的节奏,明确的预期
2,针对每个迭代收集反馈
3,每个迭代末期进行团队集体反思,做好下个迭代. (对反思,敏捷提供了一些形式化的方法,这可供非软件开发参考的)
4,勇于尝试,在不完备的情况下就开始,不要求针对中间产物的正式讨论评审,追求快速的看到用户价值,或者让用户看到价值。
5,尽可能在过程的前期来识别缺陷和问题
分享到:
评论

相关推荐

    敏捷开发知识体系

    《敏捷开发知识体系》面向敏捷实践者学习敏捷知识和敏捷软件开发企业进行敏捷转型的需要,旨在帮助个人更快地掌握敏捷开发知识,帮助企业更好地实施敏捷转型。主要内容包括:敏捷开发的哲学理念、价值观、敏捷开发...

    软件项目管理论文:敏捷在软件开发中的应用

    本文从敏捷方法的定义,提出背景,实施方法等方面对敏捷方法进行描述,并与传统软件工程方法相对比,分析敏捷开发的优劣。通过实际软件开发的案例分析软件生产的价值观,得出敏捷方法在软件开发中的价值。关键词:...

    敏捷开发中如何定义“完成”? .doc

    敏捷开发中如何定义“完成”? .doc

    论文研究 - 敏捷开发:探索从业者想知道的东西

    因此,在这项研究中,我们进入了实践者的世界,探索他们想了解的有关敏捷开发的知识。 我们使用一种多方法论方法,一项调查和一项解释性案例研究相结合的方式进行了研究。 我们了解到,在以下方面,敏捷开发尚未...

    敏捷开发中QA的职责之敏捷中的QA

    敏捷开发中QA的职责之敏捷中的QA!QA,通常指的是质量保证(QualityAssurance)工程师,但我更喜欢定义敏捷中的QA为质量分析师(QualityAnalyst),主要基于以下几个方面的原因:质量保证更偏向于工业说法,称参与软件...

    敏捷开发中关于CCB的定义

    CCB的全称是Configuration Control Board,即配置控制委员会

    敏捷开发.docx

    敏捷开发基础文档定义。助你快速入门敏捷开发,敏捷开发基础文档定义。助你快速入门敏捷开发

    敏捷开发文档

    敏捷开发过程描述定义,开发规范,开发指引

    敏捷开发和敏捷测试的含义

    敏捷测试的定义  首先敏捷测试是敏捷的一种,原有测试定义中通过执行被测系统... 敏捷开发  人与人之间的交互是复杂的,并且其效果从来都是难以预期的,但却是工作中最重要的方面。-- Tom DeMacro和Timothy Lister

    SpringBoot敏捷开发技术

    SpringBoot 是由 Pivotal...该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,SpringBoot 致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者 。

    API敏捷开发框架,用于API接口功能的快速开发

    API敏捷开发框架,用于API接口功能的快速开发。不再定义Controller,Service,Dao,Mybatis,xml,Entity,VO等对象和方法.以springboot starter 形式集成使用

    Scrum敏捷开发培训_敏捷开发_敏捷开发流程_scrum敏捷技术_scrum_

    敏捷思维:价值观、原则、定义;Scrum概要、框架及流程等;

    敏捷软件测试:测试人员与敏捷团队的实践指南

    测试人员如何参与敏捷开发 测试人员和QA经理如何适应敏捷团队 敏捷测试人员的招聘要求是什么 如何从传统模式迁移到敏捷模式 如何在短期迭代中完成测试任务 如何利用测试指导开发 如何克服困难实现测试自动化 是敏捷...

    敏捷软件开发.pdf

    第一部分 敏捷开发 第1章 敏捷联盟 1.1 敏捷联盟 1.2 原则 1.3 结论 参考文献 第2章 极限编程概述 2.1 极限编程实践 2.2 结论 参考文献 第3章 计划 3.1 初始探索 3.2 发布计划 3.3 迭代计划 3.4 ...

    Groovy敏捷开发语言资料汇总

    Groovy 的类定义和 Java 类似 Ø 方法可以基于类(static)或实例 Ø 可以为 public、protected 或 private Ø 支持常用的 Java 修饰

    基于spring boot 的API敏捷开发框架,用于API接口功能的快速开发

    "Rocket-API" 基于spring boot 的API敏捷开发框架,用于API接口功能的快速开发。不再定义Controller,Service,Dao,Mybatis,xml,Entity,VO等对象和方法.以springboot starter 形式集成使用。服务端50%以上的功能只需要...

    敏捷开发流程

    敏捷开发流程 敏捷原则、定义、角色、工作产品、过程、流程、使用者等

    敏捷软件开发模型--SCRUM

    Scrum定义了4种主要的角色: ...Scrum提供一个敏捷开发框架,其他许多敏捷方法都可以被集成到Scrum中。比如测试驱动开发(test-driven development)和结对编程(pair programming)等都可以被整合到Scrum中。

    【原创】敏捷项目管理

    如果只在传统的Paradigm下解读和裁剪敏捷开发的流程,就很容易忘记敏捷开发的本来意义,这是造成敏捷开发失败的一个主要原因。对流程的裁剪,一定要在正确理解敏捷项目管理的意义、不抹杀“敏捷”特性的前提下进行。...

    豌豆框架0.6 - 支持分层敏捷开发的PHP框架

    集成有单元测试/对象模仿功能, 还有依赖注入构架, 更好的支持敏捷开发. 框架多处参考了JAVA中的技术, 并对这些技术更一步发挥. 框架还有很多不足之处, 还需不断完善, 欢迎多提意见, 如有什么问题, 请向我们反馈. ...

Global site tag (gtag.js) - Google Analytics