IT项目管理(第2版)
上QQ阅读APP看书,第一时间看更新

1.3 软件项目管理

软件项目管理自然属于项目管理的范畴,项目管理的思想是相通的,一般来说,基本方法也是适用的,但不同之处在于具体方法和管理工具上。软件项目管理的独特之处是由软件及其生命周期的自身特征所决定的,而且受到软件技术快速发展的影响。

1.3.1 软件项目管理的特点

1. 软件项目是设计型项目

设计型项目所涉及的工作和任务不容易采用“泰勒式”管理方法或者其他预测方法,而且需要创造或创新,需要许多技术熟练、有能力完成任务的技术人员。开发者必须具备深厚和广博的知识,并且有能力在团队沟通和协作中完成任务。

2. 软件过程模型

在软件开发过程中,需要选用特定的软件过程模型,如瀑布模型、原型模型、迭代模型、螺旋模型等。针对不同的模型,软件开发过程有着不同的活动和操作方法,其结果会影响软件项目的管理。为此,在采用瀑布模型的软件开发过程中,对软件项目会采用严格的阶段性管理方法;而在迭代模型中,软件构建和验证并行进行,开发人员和测试人员的协作就显得非常重要,软件项目管理的重点是沟通管理、配置管理和变更管理。

3. 需求变化频繁

软件需求的不确定性或变化频繁,使软件项目计划的有效性降低,从而对软件项目计划的制订和实施都带来了很大的挑战。例如,人们采用极限编程的方法来应对需求的变化,以用户的需求为中心,采用短周期产品发布的方法来满足频繁变化的用户需求。

4. 工作量估算困难

目前仍然缺乏有效的软件工作量度量方法和手段。如果不能有效地度量软件的规模和复杂性,就很难准确估计软件项目的工作量。虽然有代码行、对象点、功能点等估算方法,但这些方法具有一定的局限性,而且应用困难。例如,对于基于代码行的估算方法,不仅因不同的编程语言有很大的差异,而且也没有标准来规范代码,代码的精练和优化程度对工作量影响很大。

5. 以人为本的管理

软件项目的成本主要是人力成本,包括薪资、福利、培训等费用。要使项目收益最大,就要充分调动每个人的积极性,发挥每个人的潜力。要达到这样的目标,不能靠严厉的监管,也不能靠纯粹的量化管理,而是靠良好的激励机制、工作环境和氛围,靠人性化的管理,即以人为本的管理思想。

1.3.2 项目管理的本质

项目管理的目标就是以最小的代价、最大程度地满足客户的需求和期望,即协调好质量、任务、成本、进度等要素相互之间的冲突,获取平衡。项目要求达到的目标一般可分为两类:必须满足的规定要求和附加获取的期望要求。规定要求包括项目的实施范围、质量要求、利润或成本目标、时间目标以及必须满足的法定要求等。期望要求常常对开辟市场、争取支持、减少阻力产生重要的影响。例如,一个软件产品除了基本功能与性能外,使用的简便性、界面的友好性等也应当列入项目的目标之内。在一个项目中,如果任务、时间和成本中某项是确定的,其他两项是可变的,人们就可以控制不变项,对可变项采取措施,保证项目达到预期的效果。例如,产品质量是不变的,需要有足够的时间和成本投入去保证产品的质量。如果时间受到严格的限制,就必须有足够的成本投入。如果成本也受到限制,就不得不减少功能,实现产品的主要功能。

项目完成了既定目标,满足了项目三要素,即时间进度、成本控制和质量要求,同时项目的成果被客户接受,就可以认为项目是基本成功的。项目成功的表现主要包括以下几个方面。

  • 在规定的时间内完成项目。
  • 项目成本控制在预算之内。
  • 产品功能特性达到规格说明书所要求的水平。
  • 项目通过客户的验收。
  • 项目范围变化最小或是可控的。
  • 没有干扰或严重影响整个开发组织的主要工作流程。
  • 没有改变企业文化或改进了企业的文化等。

1.3.3 IT项目中的常见问题分析

当今IT系统已经应用于许多领域,但IT项目的成功率并不高。项目失败的原因有很多种,其中普遍存在的与管理有关的问题如下。

1. 项目管理意识淡薄

项目开发和项目管理是两个不同性质的工作。项目经理的核心工作是“管理”而不是“实施”。在中、小型项目中,管理任务并不是很突出,项目经理可以兼任项目技术主管或业务咨询,但他必须要有将项目管理工作区分出来的意识和责任感。在IT企业中,项目经理通常由技术骨干兼任。因此,他们往往习惯于关注技术开发,而忽视项目管理工作,这就会造成疏忽项目计划的制订、各方面的沟通、专业资源的分配、项目组织的调整、成本控制、风险分析等。由于忽视项目管理工作,必然会出现项目失控的危险。

2. 项目成本基础不足

项目管理的核心任务是在范围、成本、进度、质量之间取得平衡。在国内,很多IT企业没有建立专业成本结构及运用控制体制,因而无法确立和实现项目成本指标、考核和控制,导致公司与项目经理之间的责任不清。有些项目经理没有成本控制的权利和责任,可以不计成本地申请资源,而公司处于两难的境地。满足请求,则造成投资过大;拒绝请求,则会面临项目失败的危险。

3. 项目管理制度欠缺

项目管理必须有项目管理制度这是不言而喻的,规范化而且切实可行的项目管理制度,必须因企业、因项目而异。而在一些企业或者无项目管理制度,仅凭个人经验实施项目管理;或者是照搬教条,无法实际操作。结果不仅实际的项目管理无所依循,而且也使项目的监控和支持难以落实。

4. 项目计划执行不力

项目管理的主要依据是计划。制订科学、合理的计划,并保证计划的执行是实现项目目标的根本。如果制订的计划不够严谨,随意性很大,可操作性差,在实施中无法遵循,就失去了计划的作用。另外,缺乏贯穿全程的详细项目计划,甚至采取每周制订下周工作计划的逐周制订项目计划的方式,这实质是使项目失控合法化的一种表现。对于项目进度检查和控制不足,也不能维护项目计划的严肃性。

5. 项目风险意识淡薄

任何项目都会或多或少地存在风险。市场竞争激烈和市场成熟度的不足,是导致IT项目的恶性竞争的主要风险。客户希望物美价廉的软件,而且经常会增加功能、压进度、压价格;IT企业为了能够获得合同,忽视必要的可行性分析和项目评估,对客户的所有要求给予承诺。这样往往是项目尚未启动就已经注定了其中的高风险。一个失败的项目,不但会造成承担项目的企业在经济和信誉上的损失,而且会给客户造成经济和业务发展上的损失。

综上所述,决定一个项目失败的因素很多。一个好的管理虽然还不一定能保证项目成功,但是,坏的管理或不适当的管理却一定会导致项目失败。随着项目规模的增大、复杂性的增加,项目管理在项目实施中发挥着越来越重要的作用。