软件工程:帕金森定律,项目工期的那点事儿

Posted 竹子-博客-熵减黑客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程:帕金森定律,项目工期的那点事儿相关的知识,希望对你有一定的参考价值。

hi,我是熵减,见字如面。

在软件开发中,你是否遇到过这种情况:

团队要开发一个简单的购物车应用,项目预期时间是2周工期。负责开发的工程师默认利用完整的2周时间来完成任务。在第一周,工程师会认为任务很轻松,有充足的时间来完成任务,所以会采取气定神闲的节奏。然而,在第二周,却发现了重要的设计缺陷,工程师需要更多的时间来修复问题。为了保证deadline,只能采取加班等方式来弥补。

上面这个小案例,就是一个典型的帕金森定律在软件开发中的发挥作用的场景。

在软件工程中,工程师团队应该避免过度依赖可用的时间,要合理的分解任务,监控进度,切及时的解决问题。

什么是帕金森定律

帕金森定律是指在软件开发中的一种现象,它描述了一个项目的时间表通常会根据可用的时间而扩展,而不是根据实际的需求而定。

换句简单的话说:就是项目中的工作,最终会填满为完成它而分配的所有时间。

这个定律的名称来源于帕金森病,因为它的创始人认为,这个定律在疾病中也是普遍存在的。

在软件开发中,帕金森定律通常表现为:当一个任务被分配给一个开发者时,他们倾向于填满他们所分配的时间,即使这个任务在更短的时间内也能完成。而这种情况,往往可能最终会导致项目的延迟和超预算。

而为了避免帕金森定律的影响,开发者和项目管理人员需要始终关注实际需求,并且对任务分配和时间管理进行谨慎的规划。在开发过程中,也需要不断地检查和评估进度,并对进度偏差进行及时的调整。

对软件工程的4个提示

帕金森定律,在我们的日常的软件工程中,可以带来以下的4个有效的启发提示:

  • 时间估计需要谨慎:帕金森定律表明,开发者倾向于根据可用时间来填充任务,而不是根据任务的实际需求。因此,在软件工程中,时间估计需要谨慎,需要考虑到任务的实际需求和可用时间。
  • 紧急情况需要处理:由于帕金森定律的存在,项目的时间表通常会因为可用时间而扩展,这可能导致项目超时。因此,当出现紧急情况时,项目管理人员需要及时采取措施,以确保项目能够按时完成。
  • 管理者需要持续监控:为了避免帕金森定律的影响,项目管理人员需要持续监控开发进度,并进行调整。这需要使用适当的项目管理工具和技术,以确保项目能够按时完成。
  • 任务需要做细化分解:帕金森定律表明,开发者倾向于根据可用时间来填充任务,而不是根据任务的实际需求。因此,在软件工程中,任务需要进行适当的分解,以确保任务的实际需求得到满足,同时也能够充分利用可用时间。

在软件工程中,要保质保量的按时完成预期目标,就需要对任务分配、时间管理和项目进度进行谨慎的规划和管理,团队要始终有前紧后松的意识。

工程中常见的5个误区

在我们日常的软件开发中,基于帕金森定律的习惯的误区,工程师很容易采取一些不合适的做法,会导致工程无法按时交付或者质量的低下。

以下是软件工程中比较常见的5个误区:

  • 着眼于可用时间而非任务需求:开发人员只关注可用时间,而忽略了任务的实际需求。这会导致开发的功能不符合实际需求,从而浪费了时间和资源。

  • 忽略紧急情况:开发人员在发现紧急情况时,选择忽略或者不及时处理。这可能最终导致项目超时或者直接走向失败。

  • 缺乏监控和调整:开发人员缺乏对项目进度的监控和调整,无法及时发现和解决问题。这会导致项目超时或者失败。

  • 任务分解不合理:开发人员任务分解不合理,任务过于复杂或者过于简单,导致无法充分利用可用时间,或者无法满足实际需求。

  • 理解上有巨大的偏差:开发人员对任务的实际需求存在理解上有巨大的偏差,导致任务的完成时间超出预期或者功能不符合实际需求。

在软件工程中,开发团队要有效的理解帕金森定律的意义,采取有针对性的关键策略,避免让项目陷入被动的局面,造成不能及时和高质量交付的情况。

写在最后

在软件工程中,帕金森定律是一个比较常见的现象,容易让开发人员忽略任务需求,而过度关注可用时间。

这会导致项目失败或交付系统质量低下,因此,工程师们需要认识到这个问题的存在,并采取适当的措施来避免出现此类误区。

工程师应该要充分理解任务需求,并根据需求合理分解任务,监控进度,及时解决问题。同时,工程师应该避免过分依赖可用时间,采取高效的时间管理方法,避免加班等低效的做法。

通过认识帕金森定律,并采取有效的措施,工程师门可以更好地管理自己的时间和任务,提高项目交付的成功率和质量。


阅读,思考,练习,分享,日日不断之功。

嗯,写完了。

新的一天,加油哦 (ง •̀_•́)ง

项目管理/PMP/PMBOK第六版/新考纲敏捷开发/关键链法 CCM/缓冲时间/帕金森定律/墨菲定律/路径汇聚风险/资源平衡/资源平滑/工期压缩技术/赶工/快速跟进

生活中没有弱者,仅有不愿努力的人。 🐮

在这里插入图片描述

系列文章目录

  1. 一篇文章看懂PMP的2021新考纲重点(建议收藏)
  2. 项目发展史/项目定义/项目集/项目组合/十五至尊图
  3. 商业论证/效益管理计划/项目运行环境/组织过程资产/环境事业因素/组织系统
  4. 敏捷型/Stacey矩阵/vuca/敏捷宣言/冲刺/产品负责人/敏捷团队/敏捷教练/待办事项列表/迭代任务列表/可交付产品增量
  5. Sprint冲刺/冲刺计划会/每日站立会/冲刺评审会/冲刺回顾会
  6. 项目经理/角色/项目经理的能力/项目经理的领导力/领导和管理/职位权力/个人权力/领导生命周期理论/仆人式领导
  7. 进度管理!单代号网络图关键路径法/三点估算法/正态分布/四种依赖关系
  8. 挣值计算 EVM(PV/EV/AC/SV/CV/SPI/SPI)/三点估算法

在这里插入图片描述

敏捷开发下的进度管理 6.5.2.8

首先,敏捷开发下是没有项目经理这个角色的!

其次,敏捷开发流程中的很多名词和含义和瀑布模型中虽然意思会很接近,但是绝对不一样的!!

在这里插入图片描述

关键链法 CCM

关键链法是在关键路径的基础上,通过木桶理论的约束,得到的判断影响项目进度的技术。

安全时间

  • 安全时间50%概率会被浪费掉
  • 非关键路径上的活动开工时间是最晚开工时间
    在这里插入图片描述

缓冲时间

  • 多出来的时间作为缓冲时间使用
  • 非关键路径上叫接驳缓冲
  • 关键路径上叫项目缓冲

帕金森定律

  • 任务总在最后一天完成
  • 工作安排会占满所有时间

墨菲定律

如果要发生,就一定会发生。

路径汇聚风险

路径汇聚点,概率会变小。

计算公式是概率做乘法。

资源平衡

对资源冲突的两项或多项活动的开始日期和结束日期进行调整以消除或缓解资源冲突的一种技术。资源平衡往往导致关键路径改变,通常是延迟。

简单说就是路径上的人干的活儿作为当事人根本排不开,需要做人道主义调整。

资源平滑

非关键路径上的资源或者时间调整。

资源平滑处理不会影响项目的总工期。

工期压缩技术

工期压缩是通过减少项目的活动时间和压缩工期,使项目在最短时间内完成的措施。

增加直接费用,降低间接费用。

赶工

通过增加资源,以最小的成本代价来压缩进度工期的一种技术。

增加费用,减少关键路径的时间。

快速跟进

并行处理任务,但是不增加费用,有概率返工适得其反。

总结

这里需要我们记住各种对于进度管理的方法,这些方法各有利弊,在实际工作中,我们要根据具体需要使用对应的技术,最终达到目的。

在这里插入图片描述

以上是关于软件工程:帕金森定律,项目工期的那点事儿的主要内容,如果未能解决你的问题,请参考以下文章

项目管理/PMP/PMBOK第六版/新考纲敏捷开发/关键链法 CCM/缓冲时间/帕金森定律/墨菲定律/路径汇聚风险/资源平衡/资源平滑/工期压缩技术/赶工/快速跟进

关于代码质量的那点事儿

Maven 项目打包需要注意到的那点事儿

importnew:Map大家族的那点事儿

IMU的那点事儿

关于SSL/TLS的那点事儿