运筹优化学习22:新项目研发项目进度制定与优化研究(一)

简介: 运筹优化学习22:新项目研发项目进度制定与优化研究

1 内容概览与理论基础

1.1 内容概览


存在的问题:缺乏科学的进度计划制定与控制方法

研究方法:

项目进度计划制定方法:工作结构分解法[WBS]、关键路径法[CPM]、计划评审技术[PERT]  

项目进度计划控制方法:项目进度监测、进度偏差分析、进度方案调整

最终方法:采用关键链理论中的缓冲区设置及监控方法对项目研发进度进行优化控制

应用效果:解决了研发计划不科学、不合理的问题;解决了学生综合征、帕金森定律等人为延期问题;确保项目按期或提前完成

研究意义:为其他企业改善自身项目进度管理、加速研发具有重要意义


20200404133800120.png


1.2 项目进度管理相关理论

1.2.1 国内外研究现状


国外现状:工期与费用优化、项目任务时间估计、网络规划技术

甘特图:简单、明了、直观、易于编制;无法体现活动间逻辑关系,无法定量分析

关键路径法:杜邦公司的xx高额投资项目

计划评审技术:美国海军北极星导弹核潜艇项目

关键链法:Goldratt基于约束理论,提供资源平衡方法进行有限资源调整;

缓冲区设置方法:50%估计法,根方差法、排队模型、蒙特卡洛方法

国内现状:

统筹学:20c50s,华罗庚整合关键路径法、计划评审技术提出

网络技术方法:1992年颁布的《工程网络计划规程》

关键链及缓冲区方法的改进


1.2.2 项目进度管理理论


项目是为创造独特的产品、服务或成果而进行的临时性工作;临时性”是指该项目有明确的起点和终点

项目管理指将科学的管理方法应用在一个项目中,使项目能够在一定的约束下达到预期目标的过程。

包含启动、规划、执行、监控和收尾5大类,47个子进程

是一个复杂的综合管理活动;有专门的的项目组织机构;设置项目负责人

项目进度管理是指为使项目能在规定时间内完成而对项目开展前的计划、开展中各任务的完成情况和完工时间来进行的管理

包含7个活动:规划进度管理、定义活动、估算活动资源、估算活动持续时间、活动排序、制定进度计划、控制进度

工作分解结构(Work Breakdown Structure, WBS):不宜过多、逻辑明确、单人负责、同层可比

关键路径方法(Critical  Path  Method, CPM)

在不考虑任何资源限制的情况下,通过项目中各任务的逻辑关系来估算项目进度灵活性的大小和项目的最短工期

关键路径是项目中最长的一条活动顺序,决定着项目最短的工期

在任意一条任务路径上,各任务在不影响项目总工期的情况下,可以拖延的总时间被称为“总浮动时间”;这个浮动时间就是进度的灵活性,正常情况下,关键路径的总浮动时间为零,非关键路径上的活动如果延期,不一定会导致整个项目的延期。而关键路径上的活动一旦延期就一定会导致整个项目的延期

分析步骤:


20200404141256195.png


计划评审技术(Program Evaluation and Review Technique, PERT)

该技术是指在用网络图表示项目各任务的进度和他们的逻辑关系的基础上,进行时间的估计和网络分析

项目中各任务的完成时间和总工期服从某种概率分布,我们可以利用项目网络图和各任务完成时间的加权合计,计算出项目总工期的数学期望即为项目工期

先根据三时间估算法算出项目的期望时间和方差;然后由正态概率分布知识计算出要求完工日期之前的完工概率

甘特图(Gantt chart)

通过条状图显示项目的进度,各项目任务中的关系及项目随着时间进展的情况

甘特图以时间作为横轴,竖轴代表项目活动,图内的线条表示项目任务的规划时间以及某个时间点的完工情况

不能表示出项目中各任务之间的逻辑关系,也不能区分项目中的重要部分,所以甘特图不太适合于较复杂的项目

在以前需要人们手工画图,现在已经有很多软件可以来做甘特图,常用的是 Office Project 软件。


1.2.3 项目进度控制理论


在项目实施过程中,必须要监控项目的动态,确认项目是否在按计划进行并记录实际的进度情况。同时要将实际进度与计划进度进行对比分析,必要时应采取有效的措施,使项目能够按计划顺利完成,避免了工期的拖延


遵循的原理:


动态控制原理:发生偏差,及时修正;再偏差、再修正...

系统原理:项目本身是一个大系统,其各组件也可被认为是一个子系统,应考虑系统论方法

封闭循环原理:项目进度控制从编制或更新计划、执行计划、动态监测、对比分析到修改计划或继续执行构成了一个封闭的循环系统

信息原理:信息的利用和传递射到项目进度控制和管理的方方面面

弹性原理:计划制定要留有余地,设置缓冲区就是一个好办法

网络技术原理

常用的方法工具:


在项目进度监测阶段,可以通过实际进度前锋线法、图上记录法、编写项目进展报告等方法来监测项目实际进度。

在进度偏差分析阶段,可以使用挣值分析法、甘特图或网络图比较法、实际进度前锋线比较法、S 型曲线比较法、缓冲区的监测等来对比分析实际进度与计划进度的偏差。

在进度计划调整阶段,可以通过关键路径法、资源优化技术等对计划进行调整。在这个阶段,我们往往还要根据实际情况采取一些措施,比如可以通过快速跟进或赶工的方法压缩进度,进度问题严重时甚至需要重新制定进度计划。


1.2.4 关键链理论

理论起源:


1997年以色列专家高德拉特提出关键链(Critical Chain Method, CCM)

主要理论依据:约束理论(Theory of Constraints, TOC),调整瓶颈,实现项目提速

主要思想依据

局部的最优并不能保证整体的最优

学生综合征:在完成某个任务时,直到接近任务要求期限的时候才开始行动

帕金森定律:如果完成一个工作的时间宽裕,那么人就会放慢工作节奏,直到用掉所有的时间,所以任务总是要拖到最后一天才能完成

完工不报告假定是指在项目实施过程中,即使某个任务提前完成也不会上报,主要是因为提前完成可能会导致以后的同类型任务计划时间越来越紧,也得不到任何奖励

引入缓冲区

项目缓冲(Project Buffer,PB):放置在项目关键链的末尾,主要作用是对关键链上各任务可能出现的延误进行缓冲

接驳缓冲(Feeding Buffer,FB):该缓冲放置在非关键链进入关键链的连接处,用于吸收非关键链任务带来的延误,避免其影响关键链;关键链法提倡非关键链的任务尽量晚开始,保证关键链上的任务吃到足够资源

资源缓冲(Resource Buffer, RB):一般放在可能会发生资源冲突的任务之前,主要用于留出分配资源的时间

20200404143216859.png

方法优势:

关键链法考虑了资源的约束情况,在制定网络图时合理分配了资源,避免了工期因资源冲突而延期的情况;

其次,在估计工期时消除了大量的安全时间并插入了缓冲区,这样做可以有效避免“学生综合症”、“帕金森定律”等问题,由于工期的大幅缩短,紧张感可以使项目成员提前进入状态,从而提高效率

第三,在控制进度时,关键链法只需要监控缓冲区,而使用关键路径法等传统方法对进度进行控制时会由于某一任务的延误而经常修改计划,容易导致重心偏离,计划系统紊乱

通常关键链法会比关键路径法至少提前 1/4 的时间完成项目


相关文章
|
人工智能 网络协议 算法
5 分钟搞懂 ECN
5 分钟搞懂 ECN
4654 0
|
机器学习/深度学习 算法 搜索推荐
14 机器学习 - CF协同过滤推荐算法原理
14 机器学习 - CF协同过滤推荐算法原理
1232 0
|
算法 前端开发 Java
在字节当了几个月的牛马,醒悟了。
以前也分享过不少实习体验,比如去年就分享了一位师弟的美团实习体验:美团实习三个月,我受益良多,今天来分享一下一位学习圈中学弟的字节实习体验。
740 0
|
3月前
|
缓存 运维 BI
Quick BI使用案例32:“一键复制Skill配置”及“Skill调用授权”不显示解决方案
本文针对独立部署中“一键复制Skill配置”缺失及“Skill调用授权”不显示问题,指出系超管后台“open_skills”功能裁剪项未开启所致,并提供排查与配置方案。
|
3月前
|
运维 安全 API
用云新范式:Qoder Cloud Agents × Alibaba Cloud Skills
Cloud Use——让“用云”不再必须有人在场。一次派活,云上闭环:让 Agent 以机器身份,安全、完整地把云用起来。
|
存储 数据库 开发者
Python SQLite模块:轻量级数据库的实战指南
本文深入讲解Python内置sqlite3模块的实战应用,涵盖数据库连接、CRUD操作、事务管理、性能优化及高级特性,结合完整案例,助你快速掌握SQLite在小型项目中的高效使用,是Python开发者必备的轻量级数据库指南。
1004 0
|
项目管理 iOS开发 UED
Mac用户必备的任务管理软件!三款高效工具推荐
本文介绍了Mac系统在项目管理和任务管理方面的独特优势,包括用户体验、系统生态整合和隐私安全等方面。针对Mac用户的需求,推荐了三款高效任务管理软件:板栗看板、OmniFocus和Things 3。板栗看板适合团队协作,OmniFocus适合高需求的个人用户,Things 3则以简洁美观的界面和易用性著称。文章详细分析了每款软件的特点和适用场景,帮助用户选择最合适的工具。
1223 6
|
敏捷开发 安全 测试技术
PingCode
【10月更文挑战第19天】PingCode
2418 62
|
缓存 NoSQL Redis
[Nestjs] 使用redis的基础配置,以及基本使用的介绍
要在 NestJS 中使用 Redis,需要安装依赖npm install --save redis fastify-redis
995 0
|
消息中间件 SQL 监控
ETL的灵魂:调度系统
ETL的灵魂:调度系统
3368 1

热门文章

最新文章