项目中“延迟”分析 deadline项目管理delay
程序员文章站
2022-07-12 22:09:10
...
在企业项目当中,项目周期主要分为两种,即:deadline开发以及估时开发。而在项目管理当中,最重要的四点包括:时间,质量,成本以及工程师成长。所以在不同类型的项目当中,对于项目管理都具有不同的要求。
而在国内IT行业当中,项目延期推迟交付却是时常发生。在互联网行业当中,小步快跑,提前推出高质量产品以及持续更新产品却是保证商业成功的最重要因素之一。本文将从目前国内项目中经常出现的情况进行分析。
deadline项目:
很多国内的开发都会认为根据deadline去反推安排整个项目进度,是一件很不靠谱的事情。原因很多,主要的是由产品部门自己YY的交付时间完全无法保证质量的完成要求。
但是,实际上,在公司内,能够让Boss拍板同意给定时间提交产品的项目,却是做起来很舒服的项目。首先,这类项目优先级较高,所以肯定可以保证项目资源。是拿着上方宝剑的项目,剑之所指,必定能够满足。
同时,当你作为项目经理,遇到这样的项目,砍需求保证可以砍到自己都手软。因为deadline的原因,项目经理本着对于项目质量的控制,必然是需要对需求进行控制,保证所做的需求都是最重要,最迫切的需求。
所以换个角度看待问题,可以更加的轻松。
估时项目:
估时项目存在的最常见情况,是对于已有产品的改进型需求。在这类需求当中,通常需要产品参与各方对需求进行评估,参与方一般会包括:产品经理、前端、交互、项目经理、开发工程师。
但是在这类需求当中,确实会因为某些原因,导致项目无法按照约定交付产品。首先我们来讨论一下工程师在评估项目时的参考依据:
1. 项目的逻辑复杂度以及熟悉程度
2. 功能数量及技术难度
3. 项目技术目标的设置
4. 产品需要推出的目标时间
5. 个人状态
基于上面五点,开发工程师依照自己的经验(所以新人估值时总是无法非常准确),但是在真实的开发环境当中,会因为各种原因,导致开发进度的delay。具体原因可能有:
1. 项目难度估计不足,导致开发进度缓慢
2. 未考虑日常工作,例如:例会,部门周会
3. 沟通成本,由于开发流程当中,设计不同开发,不同部门,甚至会是不同企业之间协作沟通成本,在项目开发的过程中,由于沟通协作的原因,造成项目的delay。
4. 相关人员的delay,由于项目评估时,不同部门,如前端和后台基本属于分开各自评估开发时间,导致关联人员由于评估不足,导致的delay,从而连锁反应。
5. 业务逻辑理解不足,比如开发团队当中有新人存在的时候,这样的情况就更加容易产生。由于合作的默契性,需求方会根据情况,适当的缩减自己对于需求的描述,但是这样的情况,却会使新人无法明确需求,导致开发时间增加。
6. 直接需求变更,由于产品经理对于需求的不确定性,导致在项目后期影响整个项目进度。
7. 间接需求变更-交互方式变更。在很多项目当中,前后台数据交互是很重要的部分,但是会产生在确定交互并给与开发工程师评估开发工时之后,对于交互方式进行变更。导致前后端交互方式改变,造成间接需求变更。
同时,最关心项目进度的,除了本身开发团队之外,应该最关键的是产品经理,而产品经理对于项目的渴望,或者说是G点其实非常的简单:
1. 开发周期越短越好,质量越高越好。对于产品经理来说,最好的情况是“刚想好产品价值,定义完产品特性”,开发就能完成。
2. 给与开发评估的机会,在评估之后,能够至少按照约定交付符合质量的项目,尽量不要出现由于非需求原因造成的延期。
那项目经理,在项目发生delay之前,可以做的预防工作有哪些呢?根据我的经验,通常有经验的项目经理在项目的初期,就会有相应的措施。具体的措施如下:
1. 预留buffer。很多经验的丰富的项目经理在开发做项目评估的时候,都会让其预留很多开发的buffer时间,为的就是解决由于间接需求变更以及日常工作造成的delay。
2. 统一估时。现有很多公司,都是将交互,前端,开发都是分开评估。但是,由于后期开发的协作,所以很多有经验的的项目经理,会将项目所有参与人员统一,进行项目的评估。同时增加成员之间的沟通。
3. Checklist。按照需求点列举checklist,同时将每个checklist按照需求概述,参与人,预计完成时间,以及完成状态进行控制。可以及时发现项目的进度。
4. 需求变更流程控制。很大一部分原因是由于需求变更造成,所以,在成熟的公司,对于需求变更的控制,都有自己严格的流程。从而保证项目的按约交付。
而在项目的delay已经成为事实之后,很多工程师会有一个疑问,我们应该怎么处理这样的问题呢,如果将问题抛出,会不会影响自己在主管心中的能力,或许我加一下班就可以把delay的问题解决,都是因为产品经理不断改需求,所以才会导致我的delay。
其实在公司当中,发生了delay,对于主管,对于产品经理,希望的都是能够尽早获得这样的事实,所以一般会鼓励开发发生这样的情况进行及时的汇报。解决方案也很简单:
需求与时间关系
1. 交付时间延期。对时间要求并没有很强的项目,由于开发评估的不准确,造成的延期,延期交付将是一个好的解决方案。其实,如果开发能够准确的预估开发时间,最终的结果也是在延期之后的时间点进行交付,毕竟开发能力也就是那个时间点。
2. 删减需求。对时间要求非常强的项目,当开发无法在规定的时间完成需求,能够做的唯一的事情,就是删减需求,在开发团队能力能够满足的情况下,尽量完成需求。
在项目管理过程中会有各种不同情况发生,项目经理也是一个需要经验积累的岗位。希望可以不断总结,提升自己的能力。
而在国内IT行业当中,项目延期推迟交付却是时常发生。在互联网行业当中,小步快跑,提前推出高质量产品以及持续更新产品却是保证商业成功的最重要因素之一。本文将从目前国内项目中经常出现的情况进行分析。
deadline项目:
很多国内的开发都会认为根据deadline去反推安排整个项目进度,是一件很不靠谱的事情。原因很多,主要的是由产品部门自己YY的交付时间完全无法保证质量的完成要求。
但是,实际上,在公司内,能够让Boss拍板同意给定时间提交产品的项目,却是做起来很舒服的项目。首先,这类项目优先级较高,所以肯定可以保证项目资源。是拿着上方宝剑的项目,剑之所指,必定能够满足。
同时,当你作为项目经理,遇到这样的项目,砍需求保证可以砍到自己都手软。因为deadline的原因,项目经理本着对于项目质量的控制,必然是需要对需求进行控制,保证所做的需求都是最重要,最迫切的需求。
所以换个角度看待问题,可以更加的轻松。
估时项目:
估时项目存在的最常见情况,是对于已有产品的改进型需求。在这类需求当中,通常需要产品参与各方对需求进行评估,参与方一般会包括:产品经理、前端、交互、项目经理、开发工程师。
但是在这类需求当中,确实会因为某些原因,导致项目无法按照约定交付产品。首先我们来讨论一下工程师在评估项目时的参考依据:
1. 项目的逻辑复杂度以及熟悉程度
2. 功能数量及技术难度
3. 项目技术目标的设置
4. 产品需要推出的目标时间
5. 个人状态
基于上面五点,开发工程师依照自己的经验(所以新人估值时总是无法非常准确),但是在真实的开发环境当中,会因为各种原因,导致开发进度的delay。具体原因可能有:
1. 项目难度估计不足,导致开发进度缓慢
2. 未考虑日常工作,例如:例会,部门周会
3. 沟通成本,由于开发流程当中,设计不同开发,不同部门,甚至会是不同企业之间协作沟通成本,在项目开发的过程中,由于沟通协作的原因,造成项目的delay。
4. 相关人员的delay,由于项目评估时,不同部门,如前端和后台基本属于分开各自评估开发时间,导致关联人员由于评估不足,导致的delay,从而连锁反应。
5. 业务逻辑理解不足,比如开发团队当中有新人存在的时候,这样的情况就更加容易产生。由于合作的默契性,需求方会根据情况,适当的缩减自己对于需求的描述,但是这样的情况,却会使新人无法明确需求,导致开发时间增加。
6. 直接需求变更,由于产品经理对于需求的不确定性,导致在项目后期影响整个项目进度。
7. 间接需求变更-交互方式变更。在很多项目当中,前后台数据交互是很重要的部分,但是会产生在确定交互并给与开发工程师评估开发工时之后,对于交互方式进行变更。导致前后端交互方式改变,造成间接需求变更。
同时,最关心项目进度的,除了本身开发团队之外,应该最关键的是产品经理,而产品经理对于项目的渴望,或者说是G点其实非常的简单:
1. 开发周期越短越好,质量越高越好。对于产品经理来说,最好的情况是“刚想好产品价值,定义完产品特性”,开发就能完成。
2. 给与开发评估的机会,在评估之后,能够至少按照约定交付符合质量的项目,尽量不要出现由于非需求原因造成的延期。
那项目经理,在项目发生delay之前,可以做的预防工作有哪些呢?根据我的经验,通常有经验的项目经理在项目的初期,就会有相应的措施。具体的措施如下:
1. 预留buffer。很多经验的丰富的项目经理在开发做项目评估的时候,都会让其预留很多开发的buffer时间,为的就是解决由于间接需求变更以及日常工作造成的delay。
2. 统一估时。现有很多公司,都是将交互,前端,开发都是分开评估。但是,由于后期开发的协作,所以很多有经验的的项目经理,会将项目所有参与人员统一,进行项目的评估。同时增加成员之间的沟通。
3. Checklist。按照需求点列举checklist,同时将每个checklist按照需求概述,参与人,预计完成时间,以及完成状态进行控制。可以及时发现项目的进度。
4. 需求变更流程控制。很大一部分原因是由于需求变更造成,所以,在成熟的公司,对于需求变更的控制,都有自己严格的流程。从而保证项目的按约交付。
而在项目的delay已经成为事实之后,很多工程师会有一个疑问,我们应该怎么处理这样的问题呢,如果将问题抛出,会不会影响自己在主管心中的能力,或许我加一下班就可以把delay的问题解决,都是因为产品经理不断改需求,所以才会导致我的delay。
其实在公司当中,发生了delay,对于主管,对于产品经理,希望的都是能够尽早获得这样的事实,所以一般会鼓励开发发生这样的情况进行及时的汇报。解决方案也很简单:
需求与时间关系
1. 交付时间延期。对时间要求并没有很强的项目,由于开发评估的不准确,造成的延期,延期交付将是一个好的解决方案。其实,如果开发能够准确的预估开发时间,最终的结果也是在延期之后的时间点进行交付,毕竟开发能力也就是那个时间点。
2. 删减需求。对时间要求非常强的项目,当开发无法在规定的时间完成需求,能够做的唯一的事情,就是删减需求,在开发团队能力能够满足的情况下,尽量完成需求。
在项目管理过程中会有各种不同情况发生,项目经理也是一个需要经验积累的岗位。希望可以不断总结,提升自己的能力。
上一篇: underscore的Function之delay
下一篇: liunx下通讯协议监控