专栏首页敏捷开发践行者联盟(五)敏捷方法(实践)有哪些?
原创

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

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

第一节敏捷概述中有提到,常用的敏捷实践有:精益、看板、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方法

八、AUP敏捷统一过程

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

敏捷统一过程的主要元素

九、OpenUP

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

OpenUP:

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

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

③目标小,集中型团队。

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

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

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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Scrum(3355)详解之:三种角色间的合作

    Scrum 团队由一名产品负责人、开发团队和一名 Scrum Master 组成。

    砖家认证
  • (十八)Scrum团队有哪些角色?

    Scrum团队由一名产品负责人,开发团队和一名Scrum Master组成。Scrum 团队是跨职能的自组织他uandui。自组织团队自己选择如何以...

    砖家认证
  • (十六)如何用“看板图”实现敏捷项目的可视化?

    在敏捷项目里,挂在墙上“人人可见的大图表”是一种普遍的实践,它被用来共享项目状态并将之可视化,精益系统里也有这样的设施。“看板”在日语里大意是“卡片...

    砖家认证
  • 【AlphaGo核心技术-教程学习笔记03】深度强化学习第三讲 动态规划寻找最优策略

    点击上方“专知”关注获取更多AI知识! 【导读】Google DeepMind在Nature上发表最新论文,介绍了迄今最强最新的版本AlphaGo Zero,不...

    WZEARW
  • 谁在用 python 弹奏一曲《菊花台》

    但是我不想这么萎靡下去,我想做点高雅的事情,看到朋友圈有人在手机app上弹《菊花台》,简直太好听了。于是乎我也开始蠢蠢欲动,迅速下载app,对着谱子弹了起来。

    Crossin先生
  • Newbe.Mahua 2.2 可用性修复

    虽说该版本是一个次要更新版本,但实际上现在版本在这两个平台上已经完全失效,必须升级为最新版本。

    newbe36524
  • Python 基础

    Python 采用缩进的方式来标识代码,虽然没有明确规定缩进使用几个空格还是 Tab,但是约定的习惯使用 4 个空格的缩进。

    keinYe
  • 【Python 第51课】 and-or技巧

    今天介绍一个python中的小技巧:and-or 看下面这段代码: a = "heaven" b = "hell" c = True and a or b p...

    Crossin先生
  • Python定期爬取GitHub上每日流行项目

    介绍一个在GitHub上看到的通用的python爬虫,难度不大,是一个蛮好玩的点,顺便总结一下python爬虫的一些需要注意的点。

    用户2769421
  • React 测试驱动教程

    测试是开发周期中的一个重要组成部分。没有测试的代码被称为:遗留代码。对于我而言,第一次学习 React 和 JavaScript 的时候,感到很有压力。如果你也...

    一个会写诗的程序员

作者介绍

砖家认证

深圳市零壹移动互联系统有限公司技术副总监 | 项目总监

深圳市零壹移动互联系统有限公司 · 技术副总监 | 项目总监 (已认证)

精选专题

活动推荐

扫码关注云+社区

领取腾讯云代金券