论软件项目的计划管理.doc
论软件项目的计划管理 解决软件危机的过程中 ,越来越多的软件开发公司意识到在软件项目开发过程中有效的管理所起到的重要作用。而在软件项目管理过程中 ,软件项目的计划管理则是决定项目能否顺利实施的关键内容。 本文将在下面具体阐述软件项目的计划管理。 1、软件项目计划概述 软件项目计划是指为软件工程的运作和软件项目活动的管理提供一个合理的基础和可行的工作计划的过程。其目的是为执行软件工程和管理软件项目制定合理的计划。 具体来讲 ,就是 : (1)使软件项目的开发建立在可靠的基础之上 ,并将计划文档化 ,由开发人员遵循 ,并据此跟踪检查计划的执行。 (2)确定软件项目开发的活动的承诺 ,使软件开发工作有序而协调的开展 ,以便根据软件计划的资源、约束和能力逐步向客户履行承诺。 (3)明确与软件项目相关的组织和个人的承诺 ,将责任落实到组和个人 ,从组织管理上保证项目开发的成功。 2、制定计划应遵循的原则 2 . 1 重视对项目信息的了解 制定软件项目计划 ,不仅仅需要经验 ,更需要全面了解项目的相关信息。必须掌握的信息包括 :关于所在组织的信 息 ,包括组织结构图 ,各部门的职能 ,各关键部门的经理和部分成员 (并尽可能认识这些人 ); 关于市场的信息 ,包括本行业新产品和新技术的发布 ,竞争对手的情况 ,竞争对手的主要客户群信息 ;关于历史项目的信息 ,尤其需要注意以往项目实施过程中出现的问题记录和解决方法 ; 关于客户的信息 ,与客户的沟通是相当重要的 ,特别要理解清楚客户对时间、进度和效果上的要求。只有在了解足够信息的基础上制定计划 ,才能增强指导性和针对性。 2 . 2 重视项目计划的层次性 软件项目计划的层次通常分为高级计划、阶段计划和低级计划。高 级计划是项目的早期计划 ,主要进行项目的阶段划分 ,主要包括人、财、物 3 个要素。大的阶段交替之前 ,我们要做好下一阶段的详细计划 ,称之为阶段计划。 阶段计划要确定各项任务的负责人、开始和结束时间、设备资源、任务之间的依赖关系、小的事件点 (即里程碑 )。开发人员的个人计划是低级计划 ,由开发人员根据自己的任务自行制定。 通常 ,软件项目计划至多有 4 级 ,较小的软件项目有 2 级计划 (高级计划与低级计划 )也是可行的。 2 . 3 重视历史数据的运用和积累 要充分利用以往类似软件项目的历史数据。不光成功项目的数据具 有参照价值 ,失败项目的数据也具有借鉴作用。可以根据它们来制定和改进计划。此外也要注意积累历史数据 ,以便于为我所用 , 这些是可复用的资源。最好是通过文档化的过程形成模板 ,将以往的成功经验高效继承。 2 . 4 重视用过程化的思想指导开发 我们知道软件能力成熟度模型 CMM,描述了五个级别的软件过程成熟度 :初始级 ,可重复级 ,已定义级 ,已定量管理级 ,优化级。在可重复级即 CMM2 这个等级上 ,该过程具备了对软件项目基本的管理控制、方针和规程 , 并强调文档化的过程 ,一个项目成功了 ,就可以认为下一个项目也可 以成功。 在项目的实施过程中 ,通常需要根据项目的进展情况及变更对项目计划进行修改 ,在策划和重新策划中涉及的内容 ,都包含在 CMM2 过程中。运用软件过程化CMM2 的思想指导计划的编制与实施 , 可以提高软件项目的可控程度。尽管当前大多数企业都难以达到 CMM2 级及以上的等级能力水平 ,但至少要具备过程化的思想。 3、计划的技术方法 在制定软件项目的计划时 ,以下是常用的技术。 3.1 PERT PERT(计划评审技术 ,Program Evaluationan Review Technique)是 50 年代末美国海军部在研制北极星潜艇系统时为协调 3000 多个承包商和研究机构而开发的 ,其理论基础是 :假设软件项目持续时间以及整个项目完成时间是随机的 ,且服从某种概率分布。 EPRT 可以估计整个项目在某个时间内完成的概率。构造 PERT 图 ,需要明确三个概念 :事件、活动和关键路线。事件 (Events)表示主要 .活动结束的那一点 ;活动 (Activities)表示从一个事件到另一个事件之间的过程 ; 关键路 线 (Critical Path)是 PERT网络中花费时间最长的事件和活动的序列。开发一个 PERT 网络要求管理者确定完成项目所需的所有关键活动 ,按照活动之间的依赖关系排列它们之间的先后次序 ,以及完成每项活动的时间。 3.2 CPM CPM(关键路径法 )是一项用于确定软件项目的起始时间和完工时间的方法。该方法的结果是指出一条关键路径 ,或指出从项目开始到结束由各项活动组成的不间断活动链。任何关键路径上的活动开始时间的延迟都会导致项目完工时间的延迟。 正因为它们对项目完工的重要性 ,关键活动在资源管理上享 有最高的优先权。 4、结语 近年来 ,软件行业越发意识到对软件项目管理的好坏将直接决定所要开发的软件项目的命运。所以越来越多的公司加大了对软件项目计划管理的重视程度。但是科学的管理需要科学的方法支撑 , 本文从计划管理的概念、原则方面简要介绍了计划管理 ,并在此基础上提出了三种科学的、常用的技术方法。希望本文所提的方法能给实际的软件开发起到一个参考作用。