二、基于统计数据的项目计划
软件项目计划过程面临的最大挑战就是计划的准确性差。据统计,在对软件项目进度与成本估算时,开发者的估算比现实要乐观,大约低20%到30%;大多数项目实际完成时间超过估算进度的25%到100%,少数的进度估算精确度达到了10%,能控制在5%之内的项目十分罕见。要提高软件项目计划的准确性,需要把握以下三点:
1.加强基础数据的统计与分析
软件项目都是具有独特性的,不能照搬其他项目的经验作为制定本项目计划的依据。因此,在企业范围内加强对项目基础数据的统计分析以得出规律是十分必要的。项目管理既是科学又是艺术,由于文化的差异,西方发达国家强调的是管理中的科学性,而我国的绝大多数企业强调的是管理中的艺术性。由于不重视基础数据的收集和统计,软件项目的计划常常是凭经验或“拍脑袋”而定的,企业并没有足够的统计数据来支持计划的制定。科学管理尽管是在上个世纪初,对制造业和体力工人提出的,但其中提出的“不能度量就不能控制”的理念依然值得软件企业在管理项目时采纳。
2.以面向学习和改善系统的评价原则促进数据统计
评价方式将决定人们的行为,要想改变人们的习惯,仅靠讲道理是难以见效的,还必须辅之以相应的评价体系。软件企业在项目管理评价进程的一个误区是将评价的重点放在人的方面,而忽视了很多项目问题在于管理系统本身这个事实。据统计,人员的敬业精神和能力不够只占项目失败原因的10%左右,在大约90%的原因来自于项目管理系统的架构与流程等方面。
3.谨防里程碑陷阱
众所周知,里程碑是项目计划与控制中的一个极为重要的概念,也正因为如此,人们也易于过于依赖里程碑,反而使项目计划落空。里程碑陷阱表现在以下几个方面:首先,人们在软件项目的里程碑被设定以后,认为“目标管理是只问结果,不计过程”,从而忽视对过程的监控而导致项目里程碑不能按期达到。大多数软件企业的从业人员属于知识工作者,他们对授权的要求较强烈,这方面的误区更易发生。第二,对里程碑控制不严。因为大部分里程碑毕竟只是一些项目的中间结果,在项目过程中人们易于放松对里程碑变更的控制,易于出现里程碑大多按期完成而项目却难以按期完成的现象。项目活动彼此是有关联的,一个里程碑的延迟会导致连锁反应,甚至可能导致项目工期的失控。第三,里程碑的设置仅仅由项目组根据项目本身的特点而定,忽视了与利益相关者的沟通并得到他们的承诺。
三、基于专业分工的项目资源动态调度
在软件项目失败的原因中,项目组织和人员的问题占到40%以上。因此,对项目资源的有效组织和调度是十分重要的。对于软件企业来说,最重要的资源莫过于人力资源,要在项目中充分组织和调度人力资源,需要做好以下两点:
1. 实现人力资源的“分类分级”管理
由于没有对人力资源做到专业分工基础上的动态调度,大量企业的人力成本难以降低,项目组织运行的效果也难以保证。由于软件行业竞争的加剧,降低项目成本成了当务之急,而降低项目所占用的人力资源成本更是重中之重。目前,许多软件企业对项目人力资源的使用可以用“5个人干3个人的活,拿5个人的钱”来概括。要想改变这一点,做到“3个人干5个人的活,拿4个人的钱”这种理想状态,有效的办法是实现人力资源的“分类分级”管理。中创软件采取的“分类分级”是指将企业员工划分为需求分析员、系统分析员、设计人员、编码人员、测试人员和QA等,并界定其不同的等级,能够做到可以测量出不同类型、不同层次的人员的小时价格。这种价格是制定项目人力资源预算和成本控制的基础。目前,很多企业强调“复合型人才”,这容易产生一个误区。在许多软件企业的项目中,有相当多的人既做设计又做编码还做测试,这不仅使项目的运行效率低、出错率高,也使项目的人力成本提高、人员还不满意。合理的方式是在专业分工、“分类分级”的基础上,通过有效的项目团队组织机制将各类人员集成起来。
2.实现人力资源的动态调度
众所周知,有多种项目的组织方式。只有既能聚集于项目目标的实现,又能充分、有效调度企业资源的项目组织方式才是合理的。项目组织是一种临时性的、动态的组织,由于它不应该有冗余人员,因此,资源调度的有效性基于资源调度的动态性,理想的状态是“需要的时候,需要的人能来;不需要的时候,不需要的人能走”。企业能做到这一点,必须要有两个条件:人员已经“分类分级”,以及企业的各职能部门成为“资源库”。实践表明,“分类分级”和动态调度将能使软件企业在项目实施过程中提高效率、降低人力资源的结构性成本和提高员工的整体满意度。