软件开发中项目管理五项基本原则
一、面向利益相关者的项目策划
软件项目策划的目的主要在于明晰定义项目的价值和项目目标,它是软件项目正式启动的基础是明确项目需求的基础,也 是控制项目范围的基础。据统计,超过 50%的软件项目都遭受过不充分的需求管理的问题,平均有25%的软件项目需求会发生变化。对有缺陷的需求、设计、代码进行返工的花费占整个项目费用的 40%—50%。项目策划的要点包含以下四个方面。
1.识别和定义项目的利益相关者
现代项目管理的核心理念是项目必须让其利益相关 者满意,要理解和定义项目的价值,进而在此基础上定义项目的目标,必须从识别项目的利益相关者入手。然而, 实践表明,识别清楚软件项目的利益相关者并不是一件容易的事。有时一个项目进行了很长时间,但项目组未必知道项目的真正客户是谁,最常犯的错误是仅将项目 成果的使用者作为客户。
2.促成利益相关者的参与
不仅是在策划活动中,在整个软件项目的生命周期内都必须强调项目利益相关者的参与,必 须要与利益相关者一起启动项目。由于软件项目的成果将改变人们的生活 或工作方式。因此,客户必须在项目策划阶段就了解项目成果对其生活或工作方式的影响,他们必须开发相应的政策、流程等以准备接受项目成果。目前众多的 ERP项目之所以失败,重要的一个原因是人们误认为ERP项目仅是一个信息系统项目,该项目带来的仅仅是一个信息产品。其实,ERP项目带来的是一新的运 营方式,如果企业在没有做相应调整的情况下强行引入ERP,将会使企业运行的混乱速度加快而不是更好。
3.培育/运用行业专家
软件 项目的价值是为了实现某些商业目的,它们一般是由行业专家而不是由软件开发人员挖掘出来的。许多软件企业被投标价格所困扰,其原因有来自市场竞争方面 的,更多的则是软件企业没有能够挖掘项目的价值所致。目前,许多软件企业的弱点在于缺乏行业专家,它们没有意识到行业专家也是专业人员,而只是将软件开发 人员作为专业人员对待。
4.不可忽视项目的验收标准
对项目目标一致性重视程度不够,是项目启动过程中普遍存在的一个问题。很多项目 管理者低估了达成项目目标一致性的难度,在这方面投入的精力不够,往往简单 地认为目标已经达成一致。很多项目其实是在目标没有定义清楚的情况下匆忙启动的。因此,软件项目策划的结果必须使利益相关者对项目目标的理解达成一致。要 做到这一点,最有效的办法是设定项目的验收标准。
二、基于统计数据的项目计划
软件项目计划过程面临的最大挑战就是计划的准确性差。据 统计,在对软件项目进度与成本估算时,开发者的估算比现实要乐观,大约低20%到30%;大多数项 目实际完成时间超过估算进度的25%到100%,少数的进度估算精确度达到了10%,能控制在5%之内的项目十分罕见。要提高软件项目计划的准确性,需要 把握以下三点:
1.加强基础数据的统计与分析
软件项目都是具有独特性的,不能照搬其他项目的经验作为制定本项目计划的依 据。因此,在企业范围内加强对项目基础数据的统计分析以得出规律是十分必要的。项目管理既是科学又是艺术,由于文化的差异,西方发达国家强调的是管理中的 科学性,而我国的绝大多数企业强调的是管理中的艺术性。由于不重视基础数据的收集和统计,软件项目的计划常常是凭经验或"拍脑袋"而定的,企业并没有足够 的统计数据来支持计划的制定。科学管理尽管是在上个世纪初,对制造业和体力工人提出的,但其中提出的"不能度量就不能控制"的理念依然值得软件企业在管理 项目时采纳。
2.以面向学习和改善系统的评价原则促进数据统计
评价方式将决定人们的行为,要想改变人们的习惯,仅靠讲道理是难以见效 的,还必须辅之以相应的评价体系。软件企业在项目管理评价进程的一个误区是将评价的 重点放在人的方面,而忽视了很多项目问题在于管理系统本身这个事实。据统计,人员的敬业精神和能力不够只占项目失败原因的10%左右,在大约90%的原因 来自于项目管理系统的架构与流程等方面。
3.谨防里程碑陷阱
众所周知,里程碑是项目计划与控制中的一个极为重要的概念, 也正因为如此,人们也易于过于依赖里程碑,反而使项目计划落空。里程碑陷阱表现在以下几个方面:首先,人们在软件项目的里程碑被设定以后,认为"目标管理 是只问结果,不计过程",从而忽视对过程的监控而导致项目里程碑不能按期达到。大多数软件企业的从业人员属于知识工作者,他们对授权的要求较强烈,这方面 的误区更易发生。第二,对里程碑控制不严。因为大部分里程碑毕竟只是一些项目的中间结果,在项目过程中人们易于放松对里程碑变更的控制,易于出现里程碑大 多按期完成而项目却难以按期完成的现象。项目活动彼此是有关联的,一个里程碑的延迟会导致连锁反应,甚至可能导致项目工期的失控。第三,里程碑的设置仅仅 由项目组根据项目本身的特点而定,忽视了与利益相关者的沟通并得到他们的承诺。
三、基于专业分工的项目资源动态调度
在软件项目失败的原因中,项目组织和人员的问题占到40%以上。因此,对项目资源的有效组织和调度是十分重要的。对于软件企业来说,最重要的资源莫过于人力资源,要在项目中充分组织和调度人力资源,需要做好以下两点:
1.实现人力资源的"分类分级"管理
由 于没有对人力资源做到专业分工基础上的动态调度,大量企业的人力成本难以降低,项目组织运行的效果也难以保证。由于软件行业竞争的加剧,降低项目成本成 了当务之急,而降低项目所占用的人力资源成本更是重中之重。目前,许多软件企业对项目人力资源的使用可以用"5个人干3个人的活,拿5个人的钱"来概括。 要想改变这一点,做到"3个人干5个人的活,拿4个人的钱"这种理想状态,有效的办法是实现人力资源的"分类分级"管理。中创软件采取的"分类分级"是指 将企业员工划分为需求分析员、系统分析员、设计人员、编码人员、测试人员和QA等,并界定其不同的等级,能够做到可以测量出不同类型、不同层次的人员的小 时价格。这种价格是制定项目人力资源预算和成本控制的基础。目前,很多企业强调"复合型人才",这容易产生一个误区。在许多软件企业的项目中,有相当多的 人既做设计又做编码还做测试,这不仅使项目的运行效率低、出错率高,也使项目的人力成本提高、人员还不满意。合理的方式是在专业分工、"分类分级"的基础 上,通过有效的项目团队组织机制将各类人员集成起来。
2.实现人力资源的动态调度
众所周知,有多种项目的组织方式。只有既能聚集于 项目目标的实现,又能充分、有效调度企业资源的项目组织方式才是合理的。项目组织是一种临时性的、动态的 组织,由于它不应该有冗余人员,因此,资源调度的有效性基于资源调度的动态性,理想的状态是"需要的时候,需要的人能来;不需要的时候,不需要的人能 走"。企业能做到这一点,必须要有两个条件:人员已经"分类分级",以及企业的各职能部门成为"资源库"。实践表明,"分类分级"和动态调度将能使软件企 业在项目实施过程中提高效率、降低人力资源的结构性成本和提高员工的整体满意度。
四、基于可视化工具的项目监控
项目管理的指导思想在 于不仅关注项目的成果,还要关注项目的过程。调查表明,在75%的软件企业处于开发流程的混乱状态,超过50%的软件企业需要改进其 配置管理,大约有60%的软件企业遭受着不同程度的质量保障体系的困扰。对项目过程控制的忽视,将导致项目范围的蔓延等项目风险的增加。要做好对项目过程 的有效监控,需要做好以下两点:
1.项目过程的监控要做到可视化
项目管理是一种典型的系统管理,也是一种典型的变化管理。项目过程控制的目标在于对项目成果(包括中间成果)的可预见、项目资源的可调度、项目问题的可追溯、项目组绩效的可评价等几个方面。
2.要形成企业范围的数字神经系统
要 做到项目过程控制的可视化,必须借助于项目管理的工具。有很多项目管理的方法和工具,如WBS、网络图、甘特图等方法以及Microsoft Project等工具有助于可视化。然而,这些方法和工具大多为单个项目服务的,要在整个企业范围内做到这一点,需要开发专门的可视化项目管理数据平台。
五、着眼于提高企业项目管理整体能力的知识管理
与国际先进的软件企业相比,我国软件企业普遍不重视对知识的管理,企业项目的成功度过多地依赖于项目经理,项目管理的水准是项目经理的水准,而不是企业的 水准。软件企业属于知识型企业,其无形资产能够占到总资产的70%以上,管理无形资产的能力将成为软件企业的重要竞争力。企业的无形资产包括两大部分:一 部分是企业形象,另一部分是企业能力。软件企业形象的树立靠的是成功的案例(项目),而企业能力包括属于企业的知识和属于员工的才干两方面。对于企业能力 的管理是要尽可能将员工的才干转化为企业的知识,并提高这种知识水平。