IT干货网

什么是敏捷解读敏捷

lxf 2022年03月04日 DevOps 178 0

敏捷概述

2.1  可确定的工作与高度不确定的工作

项目工作包括可确定的工作与高度不确定的工作。可确定的工作项目具有明确 的流程,它们在以往类似的项目中被证明是行之有效的。在完成设计后制造汽车、 电器或建造住宅,这些都是可确定的工作的例子,其所涉及的生产领域和过程通常 都很好理解,并且执行的不确定性和风险通常较低。新的设计、解决问题和之前未做过的工作都是探索性的。它要求主题专家携手 合作,解决问题,并创建解决方案。遭遇高度不确定的工作的人员包括软件系统工 程师、产品设计师、医生、教师、律师和许多解决问题的工程师等。随着可确定的 工作日益实现自动化,项目团队也越来越多地从事高度不确定的工作,从事这些工 作就需要使用本实践指南所述的有关技术。高度不确定的项目变化速度快,复杂性和风险也高。这些特点可能会给传统预 测法带来问题,传统预测法旨在预先确定大部分需求,并通过变更请求过程控制变 更。而敏捷方法的出现是为了在短时间内探讨可行性,根据评估和反馈快速调整。 

2.2《敏捷宣言》及思维模式

2001 年,软件业思想领袖共同发表《敏捷宣言》,正式宣告敏捷开发运动(参见图2-1)的开始。                                                                             图  2-1《敏捷宣言》四大价值观
源自这些价值观的十二大原则如图  2-2  所示。                  图  2-2《敏捷宣言》十二大原则
       尽管这些原则源自软件行业,但已经扩展到许多其他行业。这种思维模式、价值观和原则定义了敏捷方法的组成部分。今天所使用的各种敏捷方法都植根于敏捷思维模式、价值观和原则。它们之间的关系如图  2-3   所示。                                              图  2-3《敏捷宣言》价值观、原则和通用实践之间的关系
如图  2-3  所示,在艾哈迈德·西德基  (Ahmed Sidky) 启发下提出的模式将敏 捷明确表述为一种思维模式,它由《敏捷宣言》的价值观所界定,受《敏捷宣言》 原则指导,并通过各种实践实现。值得关注的是,虽然术语“敏捷”在《敏捷宣言》 发表后流行开来,但今天项目团队所使用的方法和技术却在《敏捷宣言》发表前已 经使用多年,有些已经使用了几十年之久。“敏捷方法”是一个囊括了各种框架和方法的涵盖性术语。图  2-4  结合上下 文将敏捷定位为一个总称,它指的是符合《敏捷宣言》价值观和原则的任何方法、技术、框架、手段或实践。图  2-4  还将敏捷方法和看板方法视为精益方法的子集。这样做的原因是,它们都是精益思想的具体实例,都反映了诸如以下概念:“关注 价值”、“小批量”和“消除浪费”。敏捷是一种方法、手段、实践、技术还是框架?根据具体情况,上述词语均适 用。除非使用其他词语明显更为合适,否则,本实践指南使用“方法”一词        图  2-4敏捷是许多方法的一个总称 一般而言,可通过两种策略践行敏捷价值观和原则。一种策略是采用正规的敏 捷方法,它们为特意设计,经证明可达成期望的成果。那么,在变更和裁剪之前, 就需要花时间学习和理解敏捷方法。不成熟和随意的裁剪会让敏捷方法的效果大打 折扣,从而限制了收益。(参见附件 X2 中的“裁剪考虑事项”)。第二种策略是,以一种适合项目背景的方式对项目实践进行变更,以便在核心 价值观或原则方面取得进展。使用时间盒创建功能,或者使用特定技术迭代优化功 能。在适用于特定项目背景下,考虑将一个大项目划分为几部分发布。实现有助于 项目成功的变更,这些变更不必是组织的正式实践的组成部分。最终目标不是为了 敏捷而敏捷,而是为了向客户持续交付价值流,并达成更好的商业成果。 

2.3精益与看板方法

看待精益、敏捷与看板方法三者之间关系的一种思路是,将敏捷和看板方法视 为精益思想的衍生物。换言之,精益思想是一个超集,与敏捷和看板方法拥有共性。
这种共性非常相似,重点在于交付价值、尊重人、减少浪费、透明化、适应变 更以及持续改善等方面。项目团队有时会发现将各种方法结合起来使用更为有用, 只要是对组织或团队有效的方法,无论来源如何,都应该采纳。无论使用什么方法, 目标都是为了实现最佳结果。
看板方法受到最初的精益制造体系的启发,专门用于知识型工作。它在2000年代中期出现,是当时非常盛行的敏捷方法的一种替代方法。看板方法不如某些敏捷方法规范,破坏性也较小,原因在于它是原始的“原地 出发”方法。在有必要或适当的情况下,项目团队可以相对轻松地应用看板方法, 并向其他敏捷方法发展。关于看板方法的更多信息,请参见“附录  A3 敏捷和精益 框架概述”。
案例:围绕看板方法以及其是否属于精益或敏捷运动可能总是会有大量讨论。它从精益制造构思而来,也围绕精益制造,但更广泛地应用于敏捷环境中。 2.4   不确定性、风险和生命周期选择有些项目在项目需求、以及如何使用现有知识和技术满足这些需求方面,具有 很大的不确定性。这些不确定因素可能导致大量变更和项目复杂性的提高。上述特 点如图 2-5  所示。
随着项目不确定性的增加,返工的风险和使用不同方法的需求也会增加。为了 减轻这些风险的影响,团队选择的生命周期要能够通过较少的工作增量解决项目的 大量不确定性问题。团队可以利用较少的工作增量验证自身的工作,并且可以对接下来的工作做出 相应变更。与静态书面规范相比,当团队交付小的增量时,他们能够更快更准确地 理解真正的客户需求。            图  2-5受斯泰西复杂性模型启发的不确定性和复杂性模型 团队可以用明确稳定的管理要求规划并管理项目,轻松解决各种技术挑战。但 是,随着项目不确定性的增加,变更、做无用功和返工的可能性也会随之增加,而 这不仅代价高昂,而且耗费时间。

要点:

简单项目、繁杂项目和复杂项目分别意味着什么?考虑一些大型的项目,比如 波士顿“大开挖”隧道工程项目。表面上,该项目似乎相当简单:将高架公路移到地下。对需求也有高度的共识(参见图  2-5  Y 轴)。在项目开始之前,项目继续 推进的不确定性很低。而且,像许多大型项目一样,该项目在进行过程中也遇到了 一些意外。
在从事一个几乎没有中间可交付成果或者几乎没有机会进行原型开发的项目时, 团队最有可能会使用预测型生命周期进行项目管理。团队可以根据其发现的情况做 出调整,但却无法使用敏捷方法管理新增迭代需求或增量可交付成果,进而获得反 馈。
“大开挖”项目无论如何都不是一个简单项目。但是,许多项目一开始处于斯 泰西复杂性模型的左下部分,并无真正的手段转而使用其他方法。从需求和交付手 段两方面对项目进行评估后确定了项目生命周期的最佳方法。
有些团队让项目生命周期发生演变,以便使用迭代和增量方法。许多团队发现, 在探讨迭代需求、更频繁地交付增量时,团队会更容易适应变更。由于团队获得反 馈,这些迭代和增量方法减少了浪费和返工。这些方法应用了:·                非常短的反馈循环;·                频繁调整过程;·                重新进行优先级排序;·                定期更新计划;以及·                频繁交付。
         对于涉及新颖的工具、技术、材料或应用领域的项目,这些迭代、增量和敏捷方法非常有效。(参见第  3 章“生命周期选择”)。它们也适用于具有以下特点的项目:·                需要研究和开发;·                变更速度极快;·                具有不明确或未知的需求、不确定性或风险;或·                最终目标难以描述。              通过构建一个小的增量,然后对其进行测试和评估,团队可以在短时间内以低成本探索不确定性,降低风险,最大程度地实现商业价值的交付。这种不确定性可能集中于适用性和需求(正在构建的产品是否正确?);技术可行性和性能(产品 是否可以采用这种方法构建?);或过程和人员(这是否为团队工作的一种有效方 式?)。以上三个特点(产品规格、生产能力和过程适用性)通常都具有高度不确 定性因素。
不过,迭代和增量管理方法也有其应用局限性。当技术和需求的不确定性都很高时(图2-5右上部分),项目就会极端复杂,陷入无序状态。为了使项目尽可能可靠,需要遏制其中一个变量(不确定性或分歧)。

来源:项考100公众号


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

美团外卖持续交付的前世今生