项目管理方法论-传统项目管理(瀑布) vs 敏捷项目管理(敏捷项目管理和瀑布式区别)

软件开发行业有许多不同的方法 ,该领域中最常用的两种方法是敏捷,如Scrum,Kanban和Lean等,以及传统的瀑布模型,如结构化方法或更新的RUP。

大多数遵循这两种模式的软件公司都认为他们选择的方法在方面是优越的,所以在回答这个问题之前,“哪一个更成功?应该看看它们的主要区别。

传统项目管理-瀑布方法

传统项目管理(瀑布)方法是线性的,其过程的所有阶段都按顺序发生。该方法取决于可预测的工具和可预测的经验。每个项目都遵循相同的生命周期,包括可行性,计划,设计,构建,测试,生产,支持等阶段,这些都代表了软件开发的一个独特阶段,每个阶段通常在下一个阶段开始之前完成。每个开发阶段之间通常也有一个里程碑。如下图所示。

项目管理方法论-传统项目管理(瀑布) vs 敏捷项目管理(敏捷项目管理和瀑布式区别)

瀑布与敏捷软件开发

整个项目是预先计划的,没有任何改变要求的范围,例如瀑布,PMI的PMBOK和PRINCE2都是刚性和高度控制的。概述了从开始到结束的项目规划的不同阶段,并假设具有您需要的所有要求和信息。这种方法假设时间和成本是变量和要求是固定的。这就是传统项目管理面临预算和时间表问题的原因。

瀑布是软件开发过程的线性方法。

  • 结构化为顺序过程中的一个大项目
  • 适合变化不常见的情况
  • 一个需要预先明确定义的需求的流程

因此,瀑布模型保持只有在检查并验证其前一阶段时才应移动到阶段,如下图所示:

项目管理方法论-传统项目管理(瀑布) vs 敏捷项目管理(敏捷项目管理和瀑布式区别)

瀑布方法

例如:

在Royce的原始瀑布模型中,按顺序遵循以下阶段:

  • 系统和软件要求:在产品需求文档中捕获
  • 分析:产生模型,架构和业务规则
  • 设计:产生软件架构
  • 编码:软件的开发,证明和集成
  • 测试:缺陷的系统发现和调试
  • 操作:完整系统的安装,迁移,支持和维护

敏捷方法

当传统系统侧重于前期规划时,成本,范围和时间等因素都很重要,敏捷管理突出了团队合作,客户协作和灵活性。敏捷拒绝将这些传统的项目管理方法视为繁琐,限制性的,并且不适合新的速度时代。敏捷项目管理是迭代的,旨在不断地将用户反馈和持续发布与软件开发项目的每次迭代相结合,如图-瀑布与敏捷软件开发所示。每个任务输出都是向利益相关者销售的产品。团队和工作结构是围绕创建对客户或客户直接有用的东西而设计的。

敏捷使用精益思想衍生出来,在信息技术环境中应用“精益”概念。精益方法的关键重点是:

  • 消除流程中的浪费
  • 最大限度地减少业务非增值活动
  • 从消费者的角度最大化附加值

项目管理方法论-传统项目管理(瀑布) vs 敏捷项目管理(敏捷项目管理和瀑布式区别)

敏捷方法

敏捷方法是经过验证的项目管理方法,它鼓励以下关键概念:

  • 经常检查和调整
  • 鼓励团队合作,自我组织和问责制的领导哲学
  • 一套工程最佳实践,可以快速交付高质量的项目
  • 一种将开发与客户需求和公司目标相结合的业务方法

敏捷开发 – 迭代生命周期

敏捷开发阶段包括传统规划,分析需求,设计,编码,测试和部署,但它们形成一个循环而不是一条线。这意味着流程灵活,可重复,可以按任何顺序和并行发生。这允许收集用户反馈,针对不同环境的连续测试以及在运行时更改项目的范围。

敏捷方法的基础

  • 经验主义 – 能够在逐步提高生产力的过程中执行,停止,反思,改进和继续
  • 确定优先级 – 根据业务价值提供工作
  • 自组织 – 团队最了解如何根据资源和约束提供工作
  • Time-Boxing – 团队需要在规定的时间内完成指定的任务。
  • 协作 – 团队承诺在给定的时间内交付最终产品,这将鼓励跨团队协作和完成任务的独创性。

敏捷与瀑布 – 范围,时间和成本三角

项目管理的成功传统上与项目的约束参数在范围,时间,成本和质量方面的能力相关联,如下图所示,指出项目经理被要求在这些限制之间达成合理的权衡。

项目管理方法论-传统项目管理(瀑布) vs 敏捷项目管理(敏捷项目管理和瀑布式区别)

敏捷与瀑布-铁三角

瀑布方法的最大优势是固定成本和可预测性。知道价格,什么时候交付。其最重要的弱点是其缺乏灵活性。敏捷方法非常灵活,可以演变成与最初设想的产品截然不同的产品。

传统的瀑布方法建立在时间,成本和范围三重约束的基础上。调整这些变量中的任何一个都会强制改变至少其中一个变量。交付成功的项目取决于平衡这三个竞争变量。但正如我们所知,简单地为项目添加资源并不总能带来预期的目标。事实上,如果在软件项目的后期添加资源,它实际上会产生不利影响。

传统铁三角的问题是什么?

例如,通过增加预算或缩小范围可以更快地完成项目。同样,增加范围可能需要预算和时间表的相应增加。在不调整时间表或范围的情况下削减预算将导致质量下降。然而,在实践中,约束之间的交易并不总是可行的。如在一个人员充足的项目上投入资金(和人员)会减慢速度。此外,在运行不良的项目中,通常不可能在不对质量产生负面影响的情况下改进预算,进度或范围。

在传统意义上,项目管理中的铁三角明显不足以作为项目成功的典范,因为它忽略了成功的关键维度,包括对利益相关者的影响,学习和用户满意度。

敏捷方法采用不同的方法,将三重约束颠倒过来。敏捷方法不是将范围视为一开始就是固定的,而是将时间(迭代)和成本(团队成员)设置为固定; 然后调整范围以关注最高优先级。建立敏捷是因为期望范围会随着时间的推移而发展。目标是在预算成本和时间内满足客户最重要的要求。随着项目的进展,敏捷允许新的需求或重新确定优先级。

敏捷意识中的铁三角 – 一种范式转换

在传统方法中,产品要求有固定的范围。因此,为了确保产品能够完成我们所需的所有功能,需要对我们的资源(和预算)和计划(截止日期)有一点灵活性。如果绝对需要该产品具有前期需求规范中描述的功能列表,那么可能需要将发布日期延迟几个月或更长时间。

在敏捷意义上,有一个固定的时间表(在Scrum中通过时间限制的 Sprint和固定资源来实现这一点。因此,当事情根据计划不起作用时,需要减少范围。在敏捷中,确保即使必须在范围上妥协,仍然会在产品积压中提供最高优先级的项目,以最大化项目产生的价值。

敏捷方法伞

自2001年“敏捷宣言”诞生以来,敏捷就有很多嗡嗡声。事实上,敏捷方法只是一种思维方式,可以使团队和组织进行创新,快速响应不断变化的需求,同时降低风险。组织可以灵活地使用许多可用的框架,如Scrum,看板,精益,XP等等。

项目管理方法论-传统项目管理(瀑布) vs 敏捷项目管理(敏捷项目管理和瀑布式区别)

Scrum敏捷伞

精益方法

精益组织了解客户价值,并关注其关键流程以不断提高客户价值。最终目标是通过一个零浪费的完美价值创造过程为客户提供完美的价值。

5步精益方法

指导精益方法实施的五步思考过程很容易记住,但并不总是很容易实现:

  1. 从最终客户的角度按产品系列指定值。
  2. 确定每个产品系列的价值流中的所有步骤,尽可能消除那些无法创造价值的步骤。
  3. 使价值创造步骤按顺序进行,使产品顺利流向客户。
  4. 随着流量的引入,让客户从下一个上游活动中获取价值。
  5. 在指定值时,识别值流,删除浪费的步骤,引入流和拉,再次开始流程并继续,直到达到完美状态,其中创建完美值而没有浪费。

项目管理方法论-传统项目管理(瀑布) vs 敏捷项目管理(敏捷项目管理和瀑布式区别)

5步精益方法

Scrum方法

Scrum是一种管理项目的敏捷方式,通常是软件开发。使用Scrum进行敏捷软件开发通常被视为一种方法论; 但不是将Scrum视为方法论,而是将其视为管理流程的框架。

项目管理方法论-传统项目管理(瀑布) vs 敏捷项目管理(敏捷项目管理和瀑布式区别)

Scrum Process Canvas

看板方法

看板是日本的“视觉信号”或“卡片”。丰田线路工人使用看板来表示制造过程中的步骤。作为精益的一部分,该系统的高度视觉性使得团队可以更轻松地沟通需要完成的工作和何时完成。它还标准化了线索和精炼过程,有助于减少浪费和最大化价值。与scrum sprint board类似,看板跟踪“做 – 做 – 完成”活动,但它限制了“正在进行的”活动的数量(该数量由团队经理定义,不能超过)。

项目管理方法论-传统项目管理(瀑布) vs 敏捷项目管理(敏捷项目管理和瀑布式区别)

看板方法

四个基本的看板原则:

  1. 可视化工作以增加沟通和协作。
  2. 限制正在进行的工作,以避免无限的非优先打开任务链。
  3. 衡量和优化流量,收集指标,预测未来问题。
  4. 旨在通过分析获得持续改进。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年8月7日 上午9:50
下一篇 2023年8月8日 上午11:08

相关推荐