做项目的时候,要制定项目计划。制定项目计划就需要对工作任务进行预估,可能需要花多长时间完成这项任务?我们今天就聊一下这个话题,在预估任务时的一些陷阱,以及如何避免这些陷阱。
先来看一个经常出现的例子,项目经理给程序员布置了一项开发任务,任务看起来比较简单,项目经理和程序员都觉得两天就能完成了。实际去做的时候,发现竟然用了半天时间把数据库导入成功了,又花了半天时间把程序跑通了,结果只剩下一天时间开发,开发过程中还遇到了一点小问题,开发时间用了两天半,测试人员稍微一测,发现好几个bug,程序员再改改bug,这么一算,一周时间过去了……本来预估的两天,变成了一周,这只是一个小任务,如果放到项目的整体任务中,这样的估算和执行情况,项目不能按期交付,看样子是理所当然了。
为什么出现这种情况呢?主要原因是陷入了任务估算的“陷阱”中。最主要的陷阱是只估算了主要任务,没有估算次要任务,忽略了细节。一项开发任务,如果只估算实际编码的时间,忽略了与之关联的数据库部署、原有代码调试等次要任务,估算过于乐观是在所难免的了。而且在估算时,还要考虑到一些细节,比如还要准备一些数据,同样也是需要花时间的。
想起来,有不只一个客户问过我这样的问题:这个功能挺简单的,用不了多少时间吧?
我的回复是(基本上,永远是):看起来是很简单,但软件的开发是有流程的,也有很多基础工作要做,比如开发人员需要打开开发工具、需要准备一些数据、需要理解一下需求、需要简单考虑下这个功能和其他功能有没有冲突,光这些前奏工作,1个小时能不能做完?好像不行。那就2个小时?好像也够呛。那就是半天了。半天处理起来,稍微遇到点问题,就得一天时间了。也就是基础工作,都可能花个1、2天时间。真正写代码的时候,还可能遇到各种各样的问题,所以,这么一个简单的工作,看似简单的工作,我还需要与具体的开发人员一块讨论、评估一下,然后给您回复大约多长时间做完。看似简单的任务,如果没有考虑清楚,将导致评估的时间与实际的执行时间,相差较大。尤其陷入只关注到主要工作这个陷阱的时候。
要想避免陷阱,需要对项目进行分解,分解的步骤可以总结为3步。
1.明确主要任务的产出。即明确项目中主要任务(比如里程碑任务)的产出物都是什么,拿一个软件开发类项目来说,主要任务包括需求调研、需求分析、系统设计、系统开发、系统测试等等,那么主要任务的产出,都是什么呢?调研报告、需求分析说明书、概要设计说明书、详细设计说明书、测试用例、测试报告等。这样保证了一点,就是项目的交付成果,都全了,该有的都有了,从大面上,不至于出现大的疏漏了。
2.确认关键行动。确定主要任务中的关键行动。例如在需求分析阶段,关键行动包括用户原始需求梳理、需求分析文档编写、页面原型设计。这些关键行动是保障需求分析进行的主干线。将这些关键行动明确了,评估时,不会遗漏掉核心内容。
3.确认辅助行动,关键行动的前后还有哪些内容。辅助行动往往容易被忽视,这是容易导致项目评估不正确的地方。拿设计页面原型来说,其辅助行动有哪些呢?可能包括:安装原型设计工具软件、学习软件的基本操作(尤其是没有使用过的话)、理解业务流程、交互逻辑、熟悉用户原始表单、文档等、页面原型讨论与评审等内容。不是简单的画一下原型图就行了,没那么容易,新手的话,可能都不知道用什么画原型,也不知道画什么,等项目经理本来以为都画完了的时候,结果发现,新手才刚刚开始画,这能按照评估的时间完成任务吗?项目经理和团队成员如果在预估项目任务时间的时候,多考虑一下与主要任务相关的辅助工作,那么,估算的时间将会更加准确了。不妨一试哦。
本文经授权发布,不代表增长黑客立场,如若转载,请注明出处:https://www.growthhk.cn/quan/48509.html