敏捷开发 水晶方法_水晶方法敏捷 - CSDN
  • 上一站,我们简单的谈了谈FDD,了解了什么是特征驱动开发,以及它核心的整体模型,在我看来,它是一种有效但有一些复杂的敏捷开发方法,对于小团队来说,实施起来有些困难。然而,今天我们要认识的是一种新的开发...
    上一站,我们简单的谈了谈FDD,了解了什么是特征驱动开发,以及它核心的整体模型,在我看来,它是一种有效但有一些复杂的敏捷开发方法,对于小团队来说,实施起来有些困难。然而,今天我们要认识的是一种新的开发过程——Crystal透明水晶方法。

    概述


    水晶方法,Crystal ,是由 Alistair Cockburn 和 Jim Highsmith 建立的敏捷方法系列,其目的是发展一种提倡“机动性的”方法,包含具有共性的核心元素,每个都含有独特的角色、过程模式、工作产品和实践。Crystal 家族实际上是一组经过证明、对不同类型项目非常有效的敏捷过程,它的发明使得敏捷团队可以根据其项目和环境选择最合适的 Crystal 家族成员。


    与XP的对比


    水晶系列与XP一样,都有以人为中心的理念,但在实践上有所不同。Alistair 考虑到人们一般很难严格遵循一个纪律约束很强的过程,因此,与XP的高度 纪律性不同,Alistair探索了用最少纪律约束而仍能成功的方法,从而在产出 效率与易于运作上达到一种平衡。也就是说,虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它。


    具体方法


    Crystal系列开发方法,分为Crystal Clear,Crystal Yellow, Crystal Orange和Crystal Red分别适用于不同的项目。项目可以按照参加的人员和重要性划分。


    重要性根据项目中的错误引发的后果分为:
    • C   :Loss of comfort (某些不舒适)
    • D  :Loss of discretionary money (经济损失)
    • E   :Loss of Essential Money (严重经济损失)
    • L   :Life Critical (生命危险)

    一个项目称为C6说明参加人员在6人以下,重要性是C级,D20说明人员在6-20人,重要性是D级。


    Crystal系列开发方法中,所适用的开发人员数量以及重要等级如下:
    • Crystal Clear适用于 C6,D6项目
    • Crystal Yellow适用于 C20,D20,E20项目
    • Crystal Orange 适用于 C40,D40,E40项目
    • Crystal Red 适用于 C80,D80,E80项目

    在这里,主要是介绍一下Crystal Clear——透明水晶方法。透明水晶方法,适合于一个小团队来进行敏捷开发,人数在6人以下为宜。


    七大体系特征

    • 经常交付
    任何项目,无论大小、敏捷程度,其最重要的一项体系特征是每过几个月就向用户交付已测试的运行代码。如果你使用了此体系特征,你就会发现,“经常交付”的作用还是很让人吃惊的。

    项目主办者根据团队的工作进展获得重要反馈。用户有机会发现他们原来的需求是否是他们真正想要的,也有机会将观察结果反馈到开发当中。开发人员打破未决问题的死结,从而实现对重点的持续关注。团队得以调整开发和配置的过程,并通过完成这些工作鼓舞团队的士气。
    • 反思改进
    在我们的开发中,时常会出现这样那样的问题,技术难题、各种烦心事等等,这会在很大的程度上影响项目的进展。而且,如果其他任务对这项任务有依赖的话,那么其他的任务也会被推迟,这就很可能会导致项目的失败。

    换句话说,如果,我们能够经常在迭代会中及时的反思和改进,那么,这种事情应该是不会发生的,或者说发生了,也能够很快的找到解决方案去应对它。事实上,从慌乱的日常开发中,抽出一点时间来思考更为行之有效的工作方法就已经足够了。
    • 渗透式交流
    渗透交流就是信息流向团队成员的背景听觉,使得成员就像通过渗透一样获取相关信息。这种交流通常都是通过团队成员在同一间工作室内工作而实现的。若其中一名成员提出问题,工作室内的其他成员可以选择关注或不关注的态度,可以加入到这个问题的讨论当中来,也可以继续忙自己的工作。
    • 个人安全
    个人安全指的是当您指出困扰您的问题时,您不用担心受到报复。个人安全非常重要,有了它,团队可以发现和改正自身的缺点。没有它,团队成员们知而不言,缺点则愈发严重以致于损害整个团队。个人安全是迈向信任的第一步。有了信任,团队协作才能真正的实施,开发效率也就会直线上升的。
    • 焦点
    所谓“焦点”,就是确定首先要做什么,然后安排时间,以平和的心态开展工作。确保团队成员清楚的了解他们自己最重要的任务是什么,确保他们能够有充分的时间去完成这些任务。
    • 与专家用户建立方便的联系
    与专家用户持续建立方便的联系能够给团队提供:对经常交付进行配置以及测试的地方,关于成品质量的快速反馈,关于设计理念的快速反馈,最新的(用户)需求。
    • 配有自动测试、配置管理和经常集成功能的技术环境
    自动测试可以为开发人员在代码修改后就可以进行自动测试,并且能够发现存在的一些bug,以至开发人员能够及时的进行修改,对于他们来说,节省了时间,提高了效率,而且还不用为烦人的测试而苦恼。

    配置管理系统允许人们不同步地对工作进行检查,可撤消更改,并且可以将某一系统设置保存后进行新系统的发布,当新系统出现问题,即可还原原系统的设置。

    经常集成可以使得团队在一天之内对系统进行多次集成。其实,团队越频繁地对系统进行集成,他们就能够越快地发现错误,堆积到一起的错误也会越少,并使他们产生更新的灵感。

    最好的团队是将将这三大技术结合成“持续测试集成技术”。这样做他们可以在几分钟内发现因集成所产生的错误。


    推荐策略


    尽管透明水晶方法并不要求掌握或者运用某些特定的策略或方法,但倘若在启动阶段能熟识一套有效的方法体系则是件有利的事情。透明水晶推荐的,非常具有意义且广为现代敏捷开发团队所采用的策略有:
    • 360度全方位考察
    • 早期胜利
    • 灵活程序框架
    • 增量重建
    • 信息传播器
    展开全文
  • 敏捷开发方法总结

    2018-10-23 10:10:39
    敏捷开发方法 极限编程XP 是一种轻量级,高效,低风险,不能使编码速度加快 水晶法 每个不同的项目都要一套不同的开发策略,约定和方法论 并列争球法 运用了“迭代”的方法,把每段时间(例如30天)一...

    在备战软考做题的过程中,发现敏捷软件开发方法考的还算比较多,而自己也一直没弄明白!

    敏捷开发方法

    极限编程XP 是一种轻量级,高效,低风险,不能使编码速度加快
    水晶法 每个不同的项目都要一套不同的开发策略,约定和方法论
    并列争球法 运用了“迭代”的方法,把每段时间(例如30天)一次的迭代成为一个冲刺,并按需求的优先级别来实现产品,有多个自治组织和自治小组并行的递增来实现产品。
    自适应软件开发  

     

     

     

    展开全文
  • 敏捷开发原则及方法

    2020-03-10 11:46:37
    敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可...

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

    ①最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。

    ②即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。

    ③经常性的交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间间隔越短越好。但不要求每次交付的都是系统的完整功能。

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

    ⑤围绕被激励起来的人来构建项目。给他们提供所需要的环境和支持,并且信任他们能够完成工作。

    ⑥在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。

    ⑦工作的软件是首要进度度量标准。

    ⑧敏捷过程提供持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。

    ⑨不断地关注优秀的技能和好的设计会增强敏捷能力。

    ⑩简单——使未完成的工作最大化的艺术——是根本的。

    ⑪最好的构架、需求和设计出自于团队内部。

    ⑫每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。

    敏捷开发包括一系列的方法,主流的有如下7种:

    ①XP。XP (极限编程)的思想源自Kent Beck和Ward Cunningham在软件项目中的合作经历。XP注重的核心是沟通、简明、反馈和勇气。因为知道计划永远赶不上变化,XP无需开发人员在软件开始初期做出很多的文档。XP提倡测试先行,为了将以后出现bug的几率降到最低。

    ②SCRUM。SCRUM是一种迭代的增量化过程,用于产品开发或工作管理。它是 一种可以集合各种开发实践的经验化过程框架。SCRUM中发布产品的重要性高于一切。 该方法由KenSchwaber和Jeff Sutherland提出,是旨在寻求充分发挥面向对象和构件技术的开发方法,是对迭代式面向对象方法的改进。

    ③ Crystal Methods。Crystal Methods (水晶方法族)由 Alistair Cockbum 在20世纪90年代末提出。之所以是个系列,是因为他相信不同类型的项目需要不同的方法。虽然水晶系列不如XP的产出效率高,但有更多的人能够接受并遵循它。

    ④ FDD。FDD (特性驱动开发)由 PeterCoad、Jeff de Luca 和 Eric Lefebvre 共同开发,是一套针对中小型软件开发项目的开发模式。此外,FDD是一个模型驱动的快速迭代开发过程,它强调的是简化、实用、易于被开发团队接受,适用于需求经常变动的项目。

    ⑤ASD。ASD (自适应软件开发)由Jim Highsmith在1999年正式提出。ASD强调开发方法的适应性,这一思想来源于复杂系统的混纯理论。ASD不像其他方法那样有很多具体的实践做法,它更侧重为ASD的重要性提供最根本的基础,并从更高的组织和管理层次来阐述开发方法为什么要具备适应性。

    ⑥DSDM。DSDM (动态系统开发方法)是众多敏捷开发方法中的一种,它倡导以业务为核心,快速而有效地进行系统开发。实践证明DSDM是成功的敏捷开发方法之一。在英国,由于其在各种规模的软件组织中的成功,它已成为应用最为广泛的快速应用开发方法。DSDM不但遵循了敏捷方法的原禅,且也适合那些成熟的传统开发方法有坚实基础的软件组织。

    ⑦轻量型RHRUP其实是个过程的框架,它可以包容许多不同类型的过程,Craig Lannan极力主张以敏捷型方式来使用RUP。他的观点是:目前如此众多的努力以推进敏捷型方法,只不过是在接受能被视为RUP的主流00开发方法而已。

    展开全文
  • 敏捷流派众多,在此做一个简单的整理与分享。 一、极限编程 极限编程(ExtremeProgramming,简称XP)是由KentBeck在1996年提出的。极限编程是一个轻量级的、灵巧的软件开发方法;同时也是一个非常严谨和周密的...

    敏捷流派众多,在此做一个简单的整理与分享。

    一、极限编程

     

    极限编程(ExtremeProgramming,简称XP)是由KentBeck在1996年提出的。极限编程是一个轻量级的、灵巧的软件开发方法;同时也是一个非常严谨和周密的方法。

    XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。

    1.1、XP的核心价值

    XP的核心价值观是沟通(Communication)、简单(Simplicity)、反馈(Feedback)、勇气(Courage)、谦逊(Modesty)。  XP用“沟通、简单、反馈、勇气和谦逊”来减轻开发压力和包袱;无论是术语命名、专著叙述内容和方式、过程要求,都可以从中感受到轻松愉快和主动奋发的态度和气氛。这是一种帮助理解和更容易激发人的潜力的手段。XP用自己的实践,在一定范围内成功地打破了软件工程“必须重量”才能成功的传统观念。

    XP精神可以启发我们如何学习和对待快速变化、多样的开发技术。成功学习XP的关键,是用“沟通、简单、反馈、勇气和谦逊”的态度来对待XP;轻松愉快地来感受XP的实践思想;自己认真实践后,通过对真实反馈的分析,来决定XP对自己的价值;有勇气接受它,或改进它。

    1.2、为什么称为“Extreme”(极限)

    “Extreme”(极限)是指,对比传统的项目开发方式,XP强调把它列出的每个方法和思想做到极限、做到最好;其它所不提倡的,XP则一概忽略(如开发前期的整体设计等)。一个严格实施XP的项目,其开发过程应该是平稳的、高效的和快速的,能够做到一周40小时工作制而不拖延项目进度。

    1.3、XP核心实践

    基于敏捷的核心思想和价值目标,XP要求项目团队遵循13个核心实践

    • 团队协作:通过客户、开发团队、项目经理三方共同参加的会议来确定开发计划。
    • 规划策略: 计划是持续的、循序渐进的。每2周,开发人员就为下2周估算候选特性的成本,而客户则根据成本和商务价值来选择要实现的特性。
    • 结对编程:系统的每一行代码都是两个人用一个键盘完成的。
    • 测试驱动开发:先写测试,后写代码。
    • 重构:不断优化系统设计,使之保持简单。
    • 简单设计:为明确的功能进行最优的设计,不考虑未来可能需要的功能。
    • 代码集体所有权:开发队伍中任何人可以修改任何其他人的代码,代码不属于某个个人。
    • 持续集成:至少每天将整个系统集成一次,保持一个能运转的系统。
    • 客户测试:客户自己也是软件开发队伍的重要一份子。
    • 小版本发布:尽快发布,尽早发布。
    • 每周40小时工作制:保证休息,保持体力。
    • 编码标准:必须有统一的编码规范,确保代码的可读性。
    • 系统隐喻:将整个系统联系在一起的全局视图;它是系统的未来影像,是它使得所有单独模块的位置和外观变得明显直观。如果模块的外观与整个隐喻不符,那么你就知道该模块是错误的。

    二、 水晶方法

    水晶(Crystal)方法论由Alistair Cockburn在20世纪90年代末提出。他把开发看做是一系列的协作游戏,而写文档的目标是帮助团队在下一个游戏中取得胜利。水晶方法的工作产品包括用例、风险列表、迭代计划、核心领域模型,以及记录了一些选择结果的设计注释。水晶方法也为这些产品定义了相应的角色。值得注意的是这些文档没有模板,描述也不太规范,但目标清晰,能够满足下次游戏开始的条件。

    对于水晶方法论,根据方法论的轻重可以分为透明水晶和橙色水晶等。透明水晶一般适用于轻量级的团队。不管是哪种水晶,都会对团队的角色、团队的工作项和产出、核心实践、支持过程等进行定义。

     

    三、动态系统开发方法

    动态系统开发方法(DSDM)倡导以业务为核心,快速而有效地进行系统开发。可以把DSDM看成一种控制框架,其重点在于快速交付并补充如何应用这些控制的指导原则。

    DSDM是一整套的方法论,不仅仅包括软件开发内容和实践,也包括了组织结构、项目管理、估算、工具环境、测试、配置管理、风险管理、重用等各个方面的内容。

    3.1、DSDM的基本观点

    DSDM认为任何事情都不可能一次性圆满完成,应该用20%的时间完成80%的有用功能,以适合商业目的为准。实施的思路是,在时间进度和可用资源预先固定的情况下,力争最大化地满足业务需求(传统方法一般是需求固定,时间和资源可变),交付所需要的系统。对于交付的系统,必须达到足够的稳定程度以在实际环境中运行;对于业务方面的某些紧急需求,也必须能够在短时间内得到满足,并在后续迭代阶段中对功能进行完善。

    3.2、DSDM的基本原则

    • 活动用户必须参与。
    • 必须授权DSDM团队进行决策。
    • 注重频繁交付产品。
    • 判断产品是否可接受的一个基本标准是符合业务目的。
    • 对准确的业务解决方案需要采用循环和增量开发。
    • 开发期间的所有更改都是可逆的。
    • 基本要求是高层次的并区分优先级(以在低优先级的项目上获得一定的灵活性)。
    • 在整个生命周期集成测试。
    • 在所有参与者之间采用协作和合作方法

    四、精益开发

    精益(Lean)管理的思想起源于丰田公司,旨在创造价值的目标下,通过改良流程不断地消除浪费。这种方法现已被广泛用于生产制造管理,对于IT系统建设,精益开发的常用工具模型是价值流模型。

    4.1、精益开发的基本原则

    • 杜绝浪费:将所有的时间花在能够增加客户价值的事情上。
    • 推迟决策:根据实际情况保持可选方案的开放性,但时间不能过长。
    • 加强学习:使用科学的学习方法。
    • 快速交付:当客户索取价值时应立即交付价值。
    • 打造精品:使用恰当的方法确保质量。
    • 授权团队:让创造增值的员工充分发挥自己的潜力。
    • 优化整体:防止以损害整体为代价而优化部分的倾向。

    五、Scrum

    Scrum 是一个用于开发和维护复杂产品的框架 ,是一个增量的、迭代的开发过程。在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是2到4周。

    在Scrum中,使用产品Backlog来管理产品的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum团队总是先开发对客户具有较高价值的需求。在Sprint中,Scrum团队从产品Backlog中挑选最高优先级的需求进行开发。

    挑选的需求在Sprint计划会议上经过讨论、分析和估算得到相应的任务列表,我们称它为Sprint backlog。在每个迭代结束时,Scrum团队将递交潜在可交付的产品增量。 Scrum起源于软件开发项目,但它适用于任何复杂的或是创新性的项目。

    5.1、Scrum 过程框架

    Scrum以经验性过程控制理论(经验主义)做为理论基础的过程。经验主义主张知识源于经验, 以及基于已知的东西做决定。Scrum 采用迭代、增量的方法来优化可预见性并控制风险。Scrum过程框架的基石包括如下三个方面:

    第一:透明性(Transparency)。透明度是指,在软件开发过程的各个环节保持高度的可见性,影响交付成果的各个方面对于参与交付的所有人、管理生产结果的人保持透明。管理生产成果的人不仅要能够看到过程的这些方面,而且必须理解他们看到的内容。也就是说,当某个人在检验一个过程,并确信某一个任务已经完成时,这个完成必须等同于他们对完成的定义。

    第二:检验(Inspection)。开发过程中的各方面必须做到足够频繁地检验,确保能够及时发现过程中的重大偏差。在确定检验频率时,需要考虑到检验会引起所有过程发生变化。当规定的检验频率超出了过程检验所能容许的程度,那么就会出现问题。幸运的是,软件开发并不会出现这种情况。另一个因素就是检验工作成果人员的技能水平和积极性。

    第三:适应(Adaptation)。如果检验人员检验的时候发现过程中的一个或多个方面不满足验收标准,并且最终产品是不合格的,那么便需要对过程或是材料进行调整。调整工作必须尽快实施,以减少进一步的偏差。

    Scrum中通过三个活动进行检验和适应:每日例会检验Sprint目标的进展,做出调整,从而优化次日的工作价值;Sprint评审和计划会议检验发布目标的进展,做出调整,从而优化下一个Sprint的工作价值;Sprint回顾会议是用来回顾已经完成的Sprint,并且确定做出什么样的改善可以使接下来的Sprint更加高效、更加令人满意,并且工作更快乐。

     

    5.2、Scrum的四大支柱

    第一、迭代开发。在Scrum的开发模式下,我们将开发周期分成多个1-4周的迭代,每个迭代都交付一些增量的可工作的功能。迭代的长度是固定的,如果我们选择了1周的迭代,那么保持它的长度不要发生变化,在整个产品开发周期内每个迭代都是1周的长度。这里需要强调的是在每个迭代必须产出可工作的增量功能,而不是第一个迭代做需求、第二个迭代做设计、第三个迭代做代码。

    第二、增量交付。增量是一个 Sprint 及以前所有 Sprint 中完成的所有产品代办事项列表条目的总和。 在 Sprint 的结尾,新的增量必须“完成”,这意味着它必须可用并且达到了 Scrum 团队 “完成”的定义的标准。无论产品负责人是否决定真正发布它,增量必须可用。增量是从用户的角度来描述的,它意味着从用户的角度可工作。

    第三、自组织团队。Scrum团队是一个自组织的团队,传统的命令与控制式的团队只有执行任务的权利,而自组织团队有权进行设计、计划和执行任务,自组织团队还需要自己监督和管理他们的工程过程和进度,自组织团队自己决定团队内如何开展工作,决定谁来做什么,即分工协作的方式。

    第四、高优先级的需求驱动。在Scrum中,我们使用Product Backlog来管理需求,Product Backlog是一个需求的清单,Product Backlog中的需求是渐进明细的,Backlog当中的条目必须按照商业价值的高低排序。Scrum团队在开发需求的时候,从Backlog最上层的高优先级的需求开始开发。在Scrum中,只要有足够1-2个Sprint开发的细化了的高优先级的需求,我们就可以启动Sprint了,而不必等到所有的需求都细化之后。我们可以在开发期间通过Backlog的梳理来逐步的细化需求。

     

    5.3、Scrum团队介绍

    在Scrum的工作方式下,总共只有三个角色, 这三个角色分别是产品负责人(PO),Scrum Master和开发团队。

    我们通常可以以划龙舟的团队角色来类比Scrum的角色,划龙舟通常有舵手、鼓手、划桨团队三个角色。Scrum中的PO就是舵手的角色,他对产品的方向负责,对产品的Why和What负责,对产品的愿景,产品包括哪些主要的特性负责。Scrum中的Scrum Master鼓手的角色,他帮助团队保持高昂的士气,并进行良好的协作,他是一个Scrum的专家,团队的教练,团队的服务式领导。Scrum中的团队,对应到龙舟赛的划桨团队,团队必须协调一致,作为一个整体前进,在这样的环境下单打独斗,各自为政没有任何胜算。

    Scrum的开发团队对实现Sprint目标需要做的所有事情负责,包括技术方案和决策,团队分工(谁做什么),执行Sprint开发任务等,而且作为自组织的团队,他们也对他们的工作进度的跟踪和管理负责。Scrum开发团队的主要职责包括如下五个方面:

    • 执行Sprint
    • 每日检视和调整,每个开发团队成员都应该参与每日站会,一起检验Sprint目标的进展情况,跟进当天的工作情况调整计划。
    • 梳理产品列表,每个Sprint都需要花一些时间来准备下一个Sprint,主要用来梳理产品列表,包括PBI的创建和细化、估算和排列优先级顺序。
    • sprint规划,在Sprint计划会议(Sprint Planning Meeting)上,在ScrumMaster的引导下,开发团队和PO合作,为下一个Sprint建立目标。
    • 检视和调整产品与过程,每个Sprint结束后,开发团队都要参加两个检视和调整的活动,即Sprint评审会议(Sprint Review Meeting)和 Sprint回顾会议(Sprint Retrospective Meeting)。

     

    5.4、什么是用户故事

    用户故事是从用户的角度来描述用户渴望得到的功能。一个好的用户故事包括三个要素:

    1. 角色:谁要使用这个功能。
    2. 活动:需要完成什么样的功能。
    3. 商业价值:为什么需要这个功能,这个功能带来什么样的价值。

    用户故事通常按照如下的格式来表达:作为一个<角色>, 我想要<活动>, 以便于<商业价值>

     

    六、FDD

    FDD(Feature-Driven Development,特性驱动开发)由Peter Coad、Jeff de Luca 、Eric Lefebvre共同开发,是一套针对中小型软件开发项目的开发模式。此外,FDD是一个模型驱动的快速迭代开发过程,它强调的是简化、实用、易于被开发团队接受,适用于需求经常变动的项目。
     

    七、ASD

    ASD(Adaptive Software Development,自适应软件开发)由Jim Highsmith在1999年正式提出。ASD强调开发方法的适应性(Adaptive),这一思想来源于复杂系统的混沌理论。ASD不象其他方法那样有很多具体的实践做法,它更侧重为ASD的重要性提供最根本的基础,并从更高的组织和管理层次来阐述开发方法为什么要具备适应性。
     

    八、DSDM

    DSDM(动态系统开发方法)是众多敏捷开发方法中的一种,它倡导以业务为核心,快速而有效地进行系统开发。实践证明DSDM是成功的敏捷开发方法之一。在英国,由于其在各种规模的软件组织中的成功,它已成为应用最为广泛的快速应用开发方法。

    DSDM不但遵循了敏捷方法的原理,而且也适合那些成熟的传统开发方法有坚实基础的软件组织。
     

    九、轻量型RUP

     RUP其实是个过程的框架,它可以包容许多不同类型的过程,Craig Larman 极力主张以敏捷型方式来使用RUP。他的观点是:目前如此众多的努力以推进敏捷型方法,只不过是在接受能被视为RUP 的主流OO开发方法而已。

     

     

     

    展开全文
  • 随着敏捷开发越来越流行,人人都在谈敏捷,人人也都在学习scrum等敏捷开发方法。。。当然,自己也是敏捷开发的实施者和受益者。
  • 7种敏捷开发方法

    2019-05-10 09:19:07
    XP极限编程 SCRUM迭代增量化过程 Cystal Methods水晶方法族 FDD特性驱动开发 ASD自适应软件开发 DSDM动态系统开发方法 轻量型RHRUP
  • 简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互...
  • 最佳实践3 Scrum1.Scrum 的五个活动2.Scrum 的 5 大价值观4 水晶方法5 其他敏捷方法开放式源码ASD 方法 敏捷方法 2001 年 2 月,在美国的犹他州,17 位“无政府主义者”共同发表了《敏捷软件开发宣言》,在宣言中...
  • 敏捷过程开发方法

    2019-11-08 19:30:41
    常用的敏捷过程开发方法有极限编程XP、敏捷建模( Agile Modeling)、自适应软件开发( Adaptive Software Development)、水晶方法体系( Crystal)和并列争球法。各开发方法描述如下 1.极限编程XP:一种轻量(敏捷)、高效...
  • 敏捷开发方法综述

    2019-06-28 01:02:22
    敏捷软件开发是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务...
  • 敏捷开发实践总结

    2018-11-25 23:46:06
    敏捷开发实践的认识什么是敏捷开发敏捷开发的原则多种敏捷开发方法一个敏捷团队敏捷开发中常用的术语迭代的典型流程致谢 什么是敏捷开发 敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发...
  • 张洪强 一、极限编程 极限编程(ExtremeProgramming,简称XP)是由KentBeck在1996年...通过积极的交流、反馈以及其它一系列的方法开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据...
  • 什么是敏捷开发

    2019-10-31 15:50:18
    这里是pm小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析pm知识/技能。 本篇分享的是:【什么是...3.敏捷开发方法 ...
  • 敏捷开发方法

    2019-06-24 14:14:43
    敏捷代表着高效和灵活,敏捷方法就是在软件过程中所采用的轻型的、有效的方法。在重型方法中,开发队伍在一些不必要、重复的中间...一般敏捷方法综述敏捷方法是一组软件开发方法的统称, 其中包括SCRUM 方法水晶...
  • 开发方法---敏捷方法

    2018-08-28 21:24:22
    敏捷方法  2001 年 2 月,在美国的犹他州,17 位“无政府主义者”共同发表了《敏捷软件开发宣言》,在宣言中指出: 尽早地、持续地向客户交付有价值的软件对开发人员来说是最重要的。 拥抱变化,即使...
  • 在诸多方法中,敏捷开发以其能持续满足不断变化的用户需求正在受到越来越多人的重视,从中小项目开始进入大型开发项目,近几年来上升势头明显。那么,敏捷开发有什么好处呢?    在软件工业界,敏捷开发已成为众多...
  • 在诸多方法中,敏捷开发以其能持续满足不断变化的用户需求正在受到越来越多人的重视,从中小项目开始进入大型开发项目,近几年来上升势头明显。   在软件工业界,敏捷开发已成为众多高效开发团队的制胜之道。在欧美...
  • 敏捷开发之道

    2012-07-22 19:15:41
    敏捷开发(agile development)是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目...
1 2 3 4 5 ... 20
收藏数 1,101
精华内容 440
关键字:

敏捷开发 水晶方法