软件开发项目时间,是大家非常看重的一个因素。
老板交代一个开发需求,目标范围确认后,接下来保准要问的就是,要多久?
看着老板急切的眼神,你可能给了一个非常乐观的时间,接下来可能就难过了,各种加班赶工。
软件开发项目进度管理该如何做好呢?
项目进度管理流程
和普通项目一样,软件开发项目进度管理一般采用如下步骤。
定义活动
首先根据确认的项目范围,将项目进行拆解,将项目可交付成果按照逻辑关系拆解成一个个可控制的活动。排列活动顺序
然后按照各个活动逻辑先后关系,将所有活动排序,做好关联。有些活动需要等待前一个活动结束后才能开始,有些可能需要同时开始,有些可能需要同时结束,有些需要一定的等待时间等,都需要考虑到。估算活动资源
顺序排好后,接下来估算每个活动需要的资源,可能是具体人员,也可能是某一个设备。估算活动持续时间
考虑到每一个资源自身的能力及使用情况,估算活动需要持续的时间。比如需要安排一个程序员开发,预计需要8小时时间,可是该程序员最近每天只能投入4小时,那持续时间就得安排2天。制定项目进度计划
每个活动都安排好了人员及时间,并对资源的做了平衡与优化后,且经各项目干系人确认后,就可以将项目进度计划提交给项目发起人审批了。接下来大家就可以按照审批通过后的进度计划执行了。控制项目进度计划
执行过程中,需要实时监控完成进度,如果发现实际完成进度与计划偏离超出预定范围。项目经理需要及时采取措施,视情况决定是否需要安排赶工,申请延期或申请变更范围。
软件开发项目的特别之处
与一般项目相比,软件开发项目由于工作难以量化,涉及人的因素更多,项目进度更加难以控制。具体如下。
开发活动时间难以预估
软件开发活动属于高智力活动,实际开发过程中可能遇到意想不到的问题。开发时间与开发人员关系特别大
同样一个程序,不同人员所需开发时间相差巨大,有人可能一天搞定,有人可能需要一周。
所以预估软件开发活动的时间时,一是要与实际开发人员充分沟通,二是要充分预留时间以应对意外情况发生。
加班赶工的坏处
做软件开发的人员也许都有这个感受,就是加班多,一碰到项目延期,第一想到的也许就是加班赶工。实际上这个方法只是适用于轻微延期的情况,如果延期严重,赶工将面临质量下降的风险,长期加班员工工作积极性下降,甚至会进一步恶化项目进度。
遇到一定要压缩进度怎么办
回到文章前面,如果老板很急切想要看到成果,非要压缩开发时间怎么办。我的经验是可以采用如下方法。
- 首先将工作拆解,具体说明每项任务所需的时间。
- 接下来向老板争取是否可以分期交互,优先交付老板最看重的功能。
- 安排更多的人员比如外包人员参与。