敏捷开发的价值点到底在哪_敏捷开发价值观 - CSDN
  • 敏捷开发价值观与十二条原则

    万次阅读 2017-02-26 18:10:34
    敏捷不是某一种方法论、过程或框架,更不是字面意义上的敏捷,而是一组价值观与原则。

     敏捷不是某一种方法论、过程或框架,更不是字面意义上的敏捷,而是一组价值观与原则。

    敏捷开发的核心理念:

    • 敏捷开发的核心理念:敏捷开发的核心理念就是以最简单有效的方式快速地达成目标,并在这个过程中及时地响应外界的变化,做出迅速的调整。
    • 敏捷开发的第一条价值观就是“ 以人为本”,强调“ 个体(人)” 及“ 个体” 间的沟通与协作在软件开发过程中的重要性。这个顺序不是偶然而为之的,敏捷开发将重视个体潜能的激发和团队的高效协作作为其所推崇的第一价值观。
    • 敏捷开发的第二条价值观就是“ 目标导向”。同其他众多管理理论和模型一样,敏捷开发认同目标导向是成功的关键,因为没有目标也就无所谓成功。敏捷开发的价值观中清楚地阐明,软件开发的目标是“ 可工作的软件”,而不是面面俱到的文档。而遗憾的是,很多软件项目已经在纷繁的文档之中迷失了自己的目标。
    • 敏捷开发的第三条价值观就是“ 客户为先”。虽然敏捷开发强调的第一价值观是“ 以人为本”,但敏捷宣言的缔造者们并没有忘记客户,相反他们真正的理解客户的需求、懂得如何与客户合作。敏捷价值观里强调的“ 客户为先”即不是简单地把客户当作“ 上帝”、刻板的推崇“ 客户至上”,客户要求什么、我们就做什么;也不是把客户当作“ 谈判桌上的对手” 甚至“ 敌人”,去斗智斗勇。敏捷价值观把客户当成了合作者和伙伴,把自己的使命定位为“ “ 帮助客户取得竞争优势”。
    • 敏捷开发的第四条价值观就是“ 拥抱变化”。人们常说“ 世界上唯一不变的就是变化”,大多数人也相信事实确实如此。而以往很多的软件项目却忽视了这一点,或者更准确地说是他们不愿意“ 正视”。他们总是试图用详尽的计划去预先穷举这些变化,然后又试图通过严格遵循计划来控制变化的发生,而结果往往是被不断涌现的变化击垮。敏捷开发价值观中承认变化是软件开发的一部分、并相信正是客户在不断变化其需求的过程中明晰了其真正的需要。因而敏捷开发欢迎变化、拥抱变化,并可坦然应对变化,正是这些变化为客户和项目带来了价值。
    • 最后,还应记住敏捷宣言中的最后一句话:“ 尽管右项有其价值,我们更重视左项的价值”—敏捷宣言并未否定或贬损“ 右项” 的价值,在敏捷开发的价值观中承认“ 流程和工具”、“ 详尽的文档”、“ 合同谈判” 以及“ 遵循计划” 的重要性,只是两相比较,“ 更重视左项的价值”。

    敏捷开发的十二条原则:

    1)我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
    2)欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
    3)经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
    4)业务人员和开发人员必须相互合作,项目中的每一天都不例外。
    5)激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
    6)不论团队内外,传递信息效果最好和效率最高的方式是面对面的交谈。
    7)可工作的软件是进度的首要度量标准。
    8)敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
    9)坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
    10)以简洁为本,它是极力减少不必要工作量的艺术。
    11)最好的架构、需求和设计出自组织团队。
    12)团队定期地反思如何能提高成效,并依此调整自身的举止表现。
    - 敏捷开发原则是对敏捷价值观的解释和实践,它将敏捷的价值观落实到具体的可操作的原则之上,遵循这十二条原则,是敏捷软件开发项目得以成功的基石。
    - 这十二条原则囊括了软件项目管理的所有基本流程,而且这些流程足够具体,它告诉我们项目管理的第一步就是要明确目标,而软件项目的终极目标就是“ 不断地及早交付有价值的软件使客户满意”;它提示我们软件工程的起始点是需求,而需求的固有特征就是不断变化,敏捷开发过程要响应变化;它强调“ 可工作的软件是进度的首要度量标准”,因而需要以尽可能短的周期“ 经常地交付可工作的软件”;它重视相关干系人的协调(“ 业务人员和开发人员必须相互合作”、“ 责任人、开发人员和用户要能够共同维持其步调稳定延续”),重视激发个人潜能(“ 激发个体的斗志”),要求团队使用最高效的沟通方式(“ 面对面的交谈”);它推崇技术变革所具备的强大能量(“ 坚持不懈地追求技术卓越和良好设计”);它强调精益生产(“ 简洁为本”),要求项目采用自组织团队管理模式,并指出“ 定期总结反思” 是校准团队行为、最终达成目标的有效途径。

    展开全文
  • 敏捷开发4大价值观 个体与交互胜于流程与工具 可工作的软件胜于面面俱到的文档 客户协作胜于合同谈判 响应变化胜于遵循计划

    本人博客文章网址:https://www.peretang.com/agile-session-agile-values/


    前言

    敏捷开发4大价值观

    个体与交互胜于流程与工具

    可工作的软件胜于面面俱到的文档

    客户协作胜于合同谈判

    响应变化胜于遵循计划

     

    个体与交互胜于流程与工具

    我们需要团队成员紧密合作, 不断交流, 共同协作.

    在团队内要经常面对面交流沟通, 通过缩减不必要的流程来适应变化.

     

    可工作的软件胜于面面俱到的文档

    编制众多的文档需要花费大量的时间, 并且要使这些文档和代码保持同步, 就要花费更多的时间.

    针对团队内部, 可以减少不必要的文档, 仅留下包括系统核心原理, 架构等内容的精简文档, 其余详细的由可工作的软件代替.

    因为代码可以真实地表达了它所做的事情, 新加入的队员亦可以通过代码, 程序快速学习项目相关内容

     

    客户协作胜于合同谈判

    和客户一起沟通合作, 可以尽早发现问题尽早处理, 实时得知客户意见和需求的改变.

     

    响应变化胜于遵循计划

    首先敏捷软件开发方法本身的诞生, 就是因为传统的开发模型无法适应快速变化的环境和需求, 所以响应变化是敏捷开发的根本.

    虽然遵循计划是每个团队成员都应该做到的事情, 但是计划本身, 应该能够随着情况的变化而及时做出调整.

     

    Keep outstanding.

    Pere Tang

    展开全文
  • 敏捷开发价值观: 个体和交互 胜过 过程和工具可以工作的软件 胜过 面面俱到的文档客户合作 胜过 合同谈判响应变化 胜过 遵循计划 原则 : 我们最优先要做的是通过尽早、持续的交付有价值的软件来使...
    敏捷开发价值观:
    • 个体和交互   胜过 过程和工具
    • 可以工作的软件 胜过 面面俱到的文档
    • 客户合作 胜过 合同谈判
    • 响应变化 胜过  遵循计划
    原则 :
    1. 我们最优先要做的是通过尽早、持续的交付有价值的软件来使客户满意
    2. 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势
    3. 经常性地交付可以工作的软件,交付时间间隔越短越好
    4. 在整个项目开发期间,业务人员和开发人员必须天天在一起
    5. 围绕被激励起来的个人来构建项目。给他们提供需要的环境和支持,并且信任他们能够完成工作
    6. 在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈
    7. 工作的软件是首要的进度度量标准
    8. 敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度
    9. 不断地关注优秀的技能和好的设计会增强敏捷能力
    10. 简单--使未完成的工作最大化的艺术-----是根本的
    11. 最好的构架、需求和设计出自于组织的团队
    12. 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整
    展开全文
  • 敏捷开发流程总结

    万次阅读 多人点赞 2010-07-20 15:36:00
    敏捷开发在其他业界的应用是否理想不得而知,但以下总结了我所在公司的敏捷开发试验,希望可以达到管中窥豹的目的。  敏捷开发宣言—— 个体和交互 胜过 过程和工具 可以工作的软件 胜过 ...

    Agile——敏捷开发,作为CMM神话崩溃后被引入的一套新的软件开发模式,这几年来被广泛引起关注,并被寄予厚望。敏捷开发在其他业界的应用是否理想不得而知,但以下总结了我所在公司的敏捷开发试验,希望可以达到管中窥豹的目的。
    
    敏捷开发宣言——
    个体和交互 胜过 过程和工具
    可以工作的软件 胜过 面面俱到的文档
    客户合作 胜过 合同谈判
    响应变化 胜过 遵循计划
    虽然右项也有价值,但是我们认为左项具有更大的价值。

    以上的宣言比较抽象,基于该理念,以下是ThoughtsWork咨询公司的推崇的n个敏捷开发实践:
    Iteration
    迭代开发。可以工作的软件胜过面面俱到的文档。因此,敏捷开发提倡将一个完整的软件版本划分为多个迭代,每个迭代实现不同的特性。重大的、优先级高的特性优先实现,风险高的特性优先实现。在项目的早期就将软件的原型开发出来,并基于这个原型在后续的迭代不断晚上。迭代开发的好处是:尽早编码,尽早暴露项目的技术风险。尽早使客户见到可运行的软件,并提出优化意见。可以分阶段提早向不同的客户交付可用的版本。
    IterationPlanningMeeting
    迭代计划会议。每个迭代启动时,召集整个开发团队,召开迭代计划会议,所有的团队成员畅所欲言,明确迭代的开发任务,解答疑惑。
    Story Card/Story Wall/Feature List
    在每个迭代中,架构师负责将所有的特性分解成多个Story Card。每个Story可以视为一个独立的特性。每个Story应该可以在最多1个星期内完成开发,交付提前测试(Pre-Test)。当一个迭代中的所有Story开发完毕以后,测试组再进行完整的测试。在整个测试过程中(pre-test,test),基于Daily build,测试组永远都是每天从配置库上取下最新编译的版本进行测试,开发人员也随时修改测试人员提交的问题单,并合入配置库。
    敏捷开发的一个特点是开放式办公,充分沟通,包括测试人员也和开发人员一起办公。基于Story Card的开发方式,团队会在开放式办公区域放置一块白板,上面粘贴着所有的Story Card,按当前的开发状态贴在4个区域中,分别是:未开发,开发中,预测试中,测试中。Story Card的开发人员和测试人员根据开发进度在Story Wall上移动Story Card,更新Story Card的状态。这种方式可以对项目开发进度有一个非常直观的了解。
    在开发人员开始开发一个Story时,ta需要找来对应的测试人员讲解Story功能,以便测试人员有一致的理解,同时开始自动化系统测试脚本的开发。
    Standup Meeting
    站立会议。每天早上,所有的团队成员围在Story Wall周围,开一个高效率的会议,通常不超过15分钟,汇报开发进展,提出问题,但不浪费所有人的时间立刻解决问题,而是会后个别沟通解决。
    Pair Programming
    结对编程是指两个开发人员结对编码。结对编程的好处是:经过两个人讨论后编写的代码比一个人独立完成会更加的完善,一些大的方向不至于出现偏差,一些细节也可以被充分考虑到。一个有经验的开发人员和一个新手结对编程,可以促进新手的成长,保证软件开发的质量。
    CI/Daily Build
    持续集成和每日构建能力是否足够强大是迭代开发是否成功的一个重要基础。基于每日构建。开发人员每天将编写/修改的代码及时的更新到配置库中,自动化编译程序每天至少一次自动从配置库上取下代码,执行自动化代码静态检查(如PCLint),单元测试,编译版本,安装,系统测试,动态检查(如Purify)。以上这些自动化任务执行完毕后,会输出报告,自动发送邮件给团队成员。如果其中存在着任何的问题,相关责任人应该及时的修改。
    可以看到,整个开发组频繁的更新代码,出现一些问题不可避免。通过测试部又在不停地基于最新的代码进行测试。新增的问题是否能够被及时发现并消灭掉,取决于自动化单元测试和系统测试能力是否足够强大,特别是自动化系统测试能力。如果自动化测试只能验证最简单的操作,则新合入代码的隐患将很难被发现,并遗留到项目后期,形成大的风险。而实际上,提升自动化测试的覆盖率是最困难的。
    Retrospect
    总结和反思。每个迭代结束以后,项目组成员召开总结会议,总结好的实践和教训,并落实到后续的开发中。
    ShowCase
    演示。每个Story开发完成以后,开发人员叫上测试人员,演示软件功能,以便测试人员充分理解软件功能。
    Refactoring
    重构。因为迭代开发模式在项目早期就开发出可运行的软件原型,一开始开发出来的代码和架构不可能是最优的、面面俱到的,因此在后续的Story开发中,需要对代码和架构进行持续的重构。迭代开发对架构师要求很高。因为架构师要将一个完整的版本拆分成多个迭代,每个跌倒由拆分成很多Story,从架构的角度看,这些Story必须在是有很强的继承性,是可以不断叠加的,不至于后续开发的Story完全推翻了早期开发的代码和架构,同时也不可避免的需要对代码进行不断完善,不断重构。
    TDD
    测试驱动开发。正如上面讲的,迭代开发的特点是频繁合入代码,频繁发布版本。测试驱动开发是保证合入代码正常运行且不会在后期被破坏的重要手段。这里的测试主要指单元测试。
    
    敏捷方法反思:
    自己参与的敏捷开发项目总的来说不是很成功,这可能也是业界遇到的通病:
    1、对于全新的软件,在项目早期测试人员就参与并实现自动化测试脚本,但实际上软件的界面等非常不稳定,导致测试人员返工的工作量很大。
    2、对于全新的软件,资料人员过早参与,后期返工工作量大,原因同第一点。
    3、自动化系统测试工作量大,测试人员投入大量的精力在使测试自动化起来,而没有足够的精力放在真正的测试软件的功能是否正常。即便是这样,自动化系统测试脚本也多流于形式,测不出深层次的问题。
    4、代码动态检查工具执行不理想,流于形式。没有人对Purify有深刻的理解和应用经验,报告中查出来很多告警,但不知如何消除。
    5、由于快速搭建原型,没有在架构上进行严谨的设计,导致后期一直堆砌代码。
    6、异地开发模式下无法实现快速构建、快速交付,团队普遍感觉很疲惫。
    7、敏捷开发不提倡加班,但实际上不管是CMM还是Agile哪一种开发模式跟是否加班都没有必然联系。

    展开全文
  • 敏捷开发实践(一)--谈谈我对敏捷开发的理解

    万次阅读 热门讨论 2015-05-31 09:58:51
    随着敏捷开发越来越流行,人人都谈敏捷,人人也都学习scrum等敏捷开发方法。。。当然,自己也是敏捷开发的实施者和受益者。
  •  不同与传统的软件开发模式,敏捷开发模式有着自己鲜明的价值和方法。  其中,敏捷测试部分也同以往的软件测试流程有所不同。这对测试人员提出了新的要求,带来了新的挑战。 第一部分:敏捷软件开发简介 敏捷...
  • ios敏捷开发的理解

    2019-03-13 14:37:56
    一,根据以下几个问题来谈谈敏捷开发 1.什么是敏捷开发? 2.为什么使用敏捷开发? 3.如实使用敏捷开发? 4.采用敏捷开发的产品效果? 二.什么是敏捷开发敏捷开发是一种价值和原则,指导我们更加高效的...
  • 敏捷开发知识体系笔记

    万次阅读 2015-11-06 10:08:55
    敏捷开发知识体系整体框架敏捷开发工程实践项目管理 迭代开发 风险价值生命周期 多级项目规划 完整团队 每日站立会议 任务板 燃尽图 需求管理 需求订单 业务流程草图 用例驱动开发 用户故事 架构 演进的架构 演进的...
  • 敏捷价值开发 (产品级敏捷)

    千次阅读 2014-12-09 07:11:15
    这不可预期且淘汰迅速的大环境下, 是否可藉由精益敏捷开发, 而使产品的研发团队, 可以 “以最少的产出, 却对外部的用户, 产生最大的影响与效益” ? 答案是 “肯定的” ! 敏捷价值流开发 (产品级敏捷), 便是以精益...
  • 诸多方法中,敏捷开发以其能持续满足不断变化的用户需求正在受到越来越多人的重视,从中小项目开始进入大型开发项目,近几年来上升势头明显。那么,敏捷开发有什么好处呢?    软件工业界,敏捷开发已成为众多...
  • 敏捷开发 vs 传统模式

    万次阅读 2015-05-28 22:41:00
    说起敏捷开发,并不是因为敏捷而敏捷。这几年的敏捷开发已经被很多敏捷咨询服务商神话了,这个东西并不是神器,实施了就可以解决所有软件公司的问题,而是要结合自己公司的特点和问题摸索出适合自己的一套模式。 ...
  • 敏捷开发的主旨: 一:个体及交互比流程与工具更具价值 二:可用的软件比冗长的文档更有价值 三:与客户的协作比合同谈判更有价值 四:对变化的响应比遵循计划更有价值直接聊宗旨有些抽象了,举些栗子就会发现这...
  • 敏捷开发是一个什么样的开发模式

    千次阅读 2016-08-29 07:26:45
     接触过敏捷开发的朋友可能会知道,敏捷开发有如下的价值观:  个体与互动 胜于 过程与工具,可工作软件 胜于 复杂文档  用户协作 胜于 合同谈判,响应变化 胜于 遵循计划  下面新霸
  • 敏捷开发的起源90年代末期,传统软件开发的方式因为其繁杂的过程,以及对文档的过于严格的要求,造成了很大程度上的效率下降,也就是人们所说的“重型化危机”。因为这一原因,人们开始反思传统方法的利弊,并对其...
  • 什么是敏捷开发流程

    千次阅读 2019-05-11 19:34:29
    【什么是敏捷开发流程 】 这个词猛一听起来感觉很高大上,其实现在已经是主流的团队开发流程 了。 一. 先说一下官方的定义: 敏捷不是指某一种具体的方法论、过程或框架,而是一组价值观和原则。符合敏捷价值观....
  • 敏捷开发中QA如何做质量管理?

    千次阅读 2019-05-10 09:15:47
    敏捷开发中QA如何做质量管理? 经常有人会问我,敏捷模式下,QA的职责是什么?QA有什么价值?我们还需要QA吗?敏捷转型中遇到的问题,QA能帮助解决吗?这些问题以前也思考过,笔者就是QA出身的,曾经中兴通讯做过...
  • 说一下你对敏捷开发的理解,为什么要使用敏捷开发? 》瀑布模型的典型问题就是周期长,发布烦,变更难。 》敏捷开发就是快速迭代,持续集成,拥抱变化。     所谓“敏捷”,顾名思义,可以通俗...
  • 八分钟敏捷开发(scrum)扫盲

    千次阅读 2018-08-20 16:54:42
    敏捷开发(scrum)是一种软件开发的流程,强调快速反应、快速迭代、价值驱动。 Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;运用该流程,你就能看到你团队高效的工作。 敏捷开发的特点就是...
  • 《敏捷宣言》及敏捷开发十二原则

    千次阅读 2018-03-24 15:02:16
    经由这项工作,我们形成了如下价值观:个体与交互 重于 过程和工具 可用的软件 重于 完备的文档 客户协作 重于 合同谈判 响应变化 重于 遵循计划每对比对中,后者并非全无价值,但我们更看重前者敏捷宣言是对敏捷...
1 2 3 4 5 ... 20
收藏数 48,484
精华内容 19,393
关键字:

敏捷开发的价值点到底在哪