「项目管理」适应性计划与预测计划:怎么选择用敏捷还是瀑布?

简介: 「项目管理」适应性计划与预测计划:怎么选择用敏捷还是瀑布?

项目工作范围从可定义的工作到高不确定性的工作。可定义的工作项目具有明确的程序,这些程序在过去的类似项目中被证明是成功的。设计完成后生产汽车、电器或住宅就是可定义工作的例子。所涉及的生产领域和过程通常很好地理解,执行不确定性和风险通常很低。

新的设计、解决问题和未完成的工作都是探索性的。它需要主题专家协作并解决问题以创建解决方案。遇到高不确定性工作的人包括软件系统工程师、产品设计师、医生、教师、律师和许多解决问题的工程师。随着更多可定义的工作被自动化,项目团队将承担更多高不确定性的工作项目,这些项目需要本实践指南中描述的技术。

敏捷和瀑布

传统的项目管理(瀑布式的,也称为计划驱动的)方法是线性的,即过程的所有阶段都按顺序发生。这种方法依赖于可预测的工具和可预测的经验。每个项目都遵循相同的生命周期,包括可行性、计划、设计、构建、测试、生产、支持等阶段,如下图所示。

整个项目是预先计划的,没有任何变化需求的范围,例如PMI的PMBOK,和PRINCE2都是严格且高度受控的。它们为项目规划列出了从开始到结束的不同阶段,并假设您预先就有了所有的需求和信息。

敏捷被认为是一种更现代的软件开发策略,因为它的设计主要是为了弥补更具预测性的瀑布方法的一些不足。它是一种软件开发模型,鼓励在项目的整个软件开发生命周期中进行开发和测试的连续迭代。


当传统系统专注于前期计划时,成本、范围和时间等因素被赋予了重要性,而敏捷方法则突出了团队合作、客户协作和灵活性。随着需求规格说明的变化,敏捷团队可以保持灵活性,并能够响应这些变化。然而,这并不一定意味着适应性规划策略总是比预测性规划策略更好。让我们更详细地比较这两种项目开发策略。

瀑布用于预测项目计划

瀑布项目管理是一种更具有预测性的计划策略,它利用特定的步骤和里程碑来控制过程。当遇到重大的项目规格变更或客户修改时,预测计划策略可能会失败,但它也更有可能产生预期的结果。敏捷方法更容易受到项目发展和范围渐变的影响,而瀑布策略将创建更一致的最终产品。

瀑布式方法是一个连续的过程,它被分为几个阶段。开发团队需要在进行下一个开发阶段之前完成一个阶段。通常,在瀑布式开发过程中有5个阶段,如下所示:

  • 分析
  • 设计
  • 实现
  • 测试
  • 维护

敏捷用户适应项目计划

高不确定性项目具有高变化率、复杂性和风险。对于旨在预先确定大量需求并通过变更请求过程控制变更的传统预测方法来说,这些特征可能会带来问题。相反,创建敏捷方法是为了在短周期内探索可行性,并基于评估和反馈快速适应。

敏捷拒绝使用这些传统的项目管理方法,因为它们繁琐、限制性强,而且不适合新时代的速度。敏捷项目管理是迭代的,其目标是在软件开发项目的每次迭代中不断整合用户反馈和持续的发布,如上图所示。每个任务输出都是你要卖给利益相关者的产品。团队和工作结构是围绕创建对客户或客户直接有用的东西来设计的。

传统和敏捷之间的区别

下表总结了Scrum和传统项目管理模型之间的许多差异。

类别传统敏捷开发模型传统迭代关注点流程人管理控制促进客户参与需求收集和交付阶段现场并持续参与开发在团队中独立工作合作的或成对的技术任何主要是面向对象的产品特性全部都包括最重要的优先测试开发周期结束迭代和/或驱动代码文档通过只在需要时

项目的成本变化

传统上,软件项目应该避免变更,因为在游戏后期会产生很高的成本,而敏捷软件开发则明白变更是不可避免的,投资于详细的计划是不实际的。这一点在《敏捷宣言》的四个价值观之一中得到了明确的表达:

“应对变化胜过遵循计划”

敏捷挑战了这个概念,并相信变化的成本可以相对平坦,如下图所示:


传统与敏捷——Standish Survey的数据

根据斯坦迪什集团2011年的混沌(CHAOS)宣言,敏捷项目比瀑布项目要成功三倍。下图显示了2002年至2012年执行的项目的具体研究结果:

相关文章
|
Cloud Native Linux 虚拟化
如何安装和使用Docker?
如何安装和使用Docker?
483 0
|
关系型数据库 MySQL 数据库
MySQL数据库:基础概念、应用与最佳实践
一、引言随着互联网技术的快速发展,数据库管理系统在现代信息系统中扮演着核心角色。在众多数据库管理系统中,MySQL以其开源、稳定、可靠以及跨平台的特性受到了广泛的关注和应用。本文将详细介绍MySQL数据库的基本概念、特性、应用领域以及最佳实践,帮助读者更好地理解和应用MySQL数据库。二、MySQL
927 5
|
7月前
|
SQL 存储 关系型数据库
第二篇:关系型数据库的核心概念与 SQL 基础
本篇内容深入浅出地讲解了关系型数据库的核心概念与SQL基础,适合有一定计算机基础的学习者。文章涵盖数据库的基本操作(CRUD)、数据类型、表的创建与管理等内容,并通过实例解析SELECT、INSERT、UPDATE、DELETE等语句的用法。此外,还推荐了多种学习资源与实践建议,帮助读者巩固知识。学完后,你将掌握基础数据库操作,为后续高级学习铺平道路。
410 1
|
11月前
|
人工智能 编解码 JSON
Qwen2.5-VL:阿里通义千问最新开源视觉语言模型,能够理解超过1小时的长视频
Qwen2.5-VL 是阿里通义千问团队开源的视觉语言模型,具有3B、7B和72B三种不同规模,能够识别常见物体、分析图像中的文本、图表等元素,并具备作为视觉Agent的能力。
5005 18
Qwen2.5-VL:阿里通义千问最新开源视觉语言模型,能够理解超过1小时的长视频
|
9月前
|
人工智能 算法 数据安全/隐私保护
[oeasy]python080如何生成验证码_随机数字密码_真随机
本文介绍了如何生成随机验证码的过程,从简单的随机数字生成到包含数字、大小写字母及符号的复杂验证码。通过 Python 的 `random` 和 `string` 模块,逐步扩展字符集并确保结果满足特定要求(如包含各类字符)。同时探讨了随机数生成的本质,指出计算机中的“随机”实际上是基于算法和种子值的伪随机,并非真正的物理随机。最后总结了验证码的生成原理及其在实际应用中的意义,为读者揭开日常生活中验证码背后的编程逻辑。
353 8
|
12月前
|
数据采集 人工智能 分布式计算
《Java 与大数据框架:AI 数据预处理的强力联盟》
在人工智能领域,数据预处理是确保模型准确性和高效性的关键。Java 与 Hadoop、Spark 等大数据框架的结合,为处理海量数据提供了强大的支持。通过 Java 编写的 MapReduce 和 Spark 程序,可以高效进行数据清洗、转换和特征提取,充分利用分布式计算能力,缩短预处理时间,提升数据质量。Java 在整合这些框架时,不仅实现了任务调度和错误处理,还为未来的优化和技术进步奠定了基础。这一组合为 AI 数据预处理带来了高效的解决方案,推动了人工智能技术的发展。
384 18
|
网络协议 数据安全/隐私保护 网络架构
网络工程师:RIP常用命令
【7月更文挑战第4天】
648 1
网络工程师:RIP常用命令
|
关系型数据库 Serverless API
神秘的 ADB Serverless 模式,究竟是怎样实现数据共享的?答案等你来揭晓!
【8月更文挑战第27天】在数字化时代,数据共享至关重要。阿里云AnalyticDB for MySQL的Serverless模式提供了一种高效便捷的解决方案。它采用多租户架构,确保数据安全隔离的同时支持资源共享;具备自动弹性伸缩能力,优化资源利用;支持多样化的数据导入导出方式及丰富的API,便于集成到各类应用中,实现数据价值最大化。无论是初创企业还是大型组织,均可从中获益。
262 0
|
SQL Java 关系型数据库
【Java】已解决Java中的com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException异常
【Java】已解决Java中的com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException异常
1493 0