(五)敏捷方法(实践)有哪些?

2019-12-17 18:30:11 浏览数 (1)

“敏捷方法”是一个囊括了各种框架和方法的涵盖性术语,它指的是符合《敏捷宣言》价值观和原则的任何方法、技术、框架、手段或实践。

第一节敏捷概述中有提到,常用的敏捷实践有:精益、看板、Scrum、XP极限编程、水晶、DSDM动态系统开发、FDD功能驱动开发、AUP敏捷统一过程、OpenUP,《敏捷实践指南》将敏捷方法和看板方法视为精益方法的子集。这样做的原因是,他们都是精益思想的具体实例,都反映了诸如以下概念:“关注价值”、“小批量”和“消除浪费”。

敏捷方法 - 实践敏捷方法 - 实践

一、精益软件开发(LSD)

精益软件开发由Tom和Mary Poppendieck 引入敏捷群体。它采用来自丰田生产系统(TPS)的原则和实践。

①TPS开发旨在解决影响生产过程问题,例如:

1)过度:对于雇员和过程施加不必要的额外压力

2)违规:不切实际的需求导致过程中的不均匀

3)浪费:非增值活动或过程

②精益七原则:

1)消除浪费:对客户没有带来价值的事务就是浪费;

2)尽快交付:短期迭代或小批量提供有价值的反馈,促进有效的决策制定;

3)增强学习:通过短迭代周期、重构、集成测试和频繁的客户反馈会议增强学习;

4)团队授权:精益专注于团队,因为决策制定和管理的来源让团队了解最佳选择和成本;

5)较迟决定:管理不确定性的最佳方法是手机信息,最后的责任时刻给予承诺,打破部件间的依赖关系;

6)建立整体:确保质量是嵌入在整个系统的,系统需要构建自动化测试、安装和持续集成;

7)目光长远,脚踏实地,快速试错,快速学习。

二、SCRUM

Scrum是用于管理产品开发的单个团队过程框架。该框架包含Scrum角色、事件、工件和规则,采用迭代方法来交付工作产品。Scrum是运行在1个月或更少时间的时间盒子上的,其中包括持续时间一致的多个冲刺,在这些冲刺中会产生潜在可发布的产品增量。

1、Scrum团队包含产品负责人、开发团队和Scrum主管。

1)产品负责人负责实现产品价值的最大化;

2)开发团队是一个跨职能的自组织团队,其开发人员拥有所需的一切资源,可在不依赖团队外部其他资源的情况下交付工作产品;

3)Scrum主管负责确保Scrum过程获得相应支持且Scrum团队遵从实践和规则,并指导团队消除障碍。

2、Scrum事件:

①冲刺Sprint

②sprint计划会议

③每日Scrum站会

④sprint评审会议

⑤sprint回顾会议

3、Scrum工件:

①产品代办列表

②冲刺sprint代办列表

③增量

三、极限编程

极限编程(XP)是一种基于频繁交付周期的软件开发方法。该名称基于这样一个理念:将特定最佳时间提炼到最纯粹和最简单的形式,然后在整个项目周期内持续运用该实践。XP最受关注的地方在于推广旨在改进软件项目成果的整套实践,随后逐渐演变,采用了一些其他推论实践。

极限编程实践极限编程实践

该演变是通过筛选核心价值观(沟通、简洁、反馈、勇气、尊重)并根据主要原则(人性化、经济、互惠互利、自相似、改进、多样性反思、流程、机会、冗余、失败、质量、循序渐进、承担的责任)信息来设计和采用技术的结果。

四、看板方法

看板是日本的信号板的说法,是由丰田生产系统(TPS)开发;

①看板方法是从精益思维原则衍生而来,是一个跟精益和及时制生产相关的概念;

②敏捷采用了看板方法去反映冲刺或迭代的吞吐量。

看板方法的定义原则和属性看板方法的定义原则和属性

五、水晶方法

水晶是一种方法论家族。水晶方法论旨在根据项目规模(项目涉及的人员数量)以及项目的关键性来量化并提供方法严格程度的选择。

水晶方法认识到每个项目可能需要一系列轻量剪裁的策略、实践和过程,以匹配项目的独特特征。该方法论家族根据“重要性”使用不同颜色来确定要使用的方法。“水晶”一词的使用源自宝石,它的不同面代表了根本的核心原则和价值观。不同面代表了技术、工具、标准和角色,

水晶原则的核心价值观和常见属性水晶原则的核心价值观和常见属性

六、功能驱动开发(FDD)

功能驱动开发(FDD)的开发目的是满足大型软件开发项目的特定需求。小型商业价值功能重视能力。功能驱动开发项目中的六个主要角色,每个人可以担任一下一个或多个角色:

①项目经理;

②首席架构师;

③开发经理;

④首席编程人员;

⑤类负责人;

⑥领域专家。

功能驱动开发项目氛围五个过程或活动,以迭代式执行:

功能驱动开发项目生命周期功能驱动开发项目生命周期

七、动态系统开发方法DSDM

动态系统开发方法(DSDM)是一种敏捷项目交付框架,最初的设计目的是提高20世纪90年代普及的迭代方法的严格程度。该框架开发为行业领导者之间的非商业性协作方式。DSDM因强调制约因素驱动交付而著称。该框架从一开始便可设置成本、质量和时间,然后利用正式的范围优先级来满足这些制约因素的要求。

制约因素驱动敏捷的DSDM方法制约因素驱动敏捷的DSDM方法

八、AUP敏捷统一过程

敏捷统一过程(AgileUP)是软件项目中统一过程(UP)的分支。与紧前统一过程相比,该过程具有加速周期和轻量级的过程。其目的在于在七个主要因素之间执行更多迭代的周期,并在正式交付之前Nauru相关反馈。下表列出了因素以及指导原则。

敏捷统一过程的主要元素敏捷统一过程的主要元素

九、OpenUP

OpenUP是资源开放的一个变量,IBM在2006年将这个概念向公众发布。它是统一软件开发过程的一个变量。

OpenUP:

①是精益统一过程,在结构化的生命周期中采用迭代和增量型方法;

②是一个与工具无关,不关注细节的过程;

③目标小,集中型团队。

OpenUP 将项目划分为迭代:有计划的、有时限的迭代操作,通常以周为单位。迭代使团队注重以一种可预见的方式向涉众发送增量式的价值。

OpenUP将项目生命周期分为四个阶段:启始、精化、构建和产品化。项目生命周期为利益相关者和团队成员提供可见度和决策点。这将更有效的进行管理,并且允许你在石洞的时间做出是否继续的决定。项目计划定义了生命周期,我们得到的最终结果是一个可发布的应用程序。

以上敏捷实践中,SCRUM是最受欢迎的敏捷技术,超过50%以上的项目在运用这项方法,后面再做详细介绍。

0 人点赞