软件项目管理的目标是在给定的时间内,用合理的花费生产出满足用户需求的软件产品,如何在软件项目管理中更好达到这一目标是所有软件企业面临的一个问题。小型软件项目受到资金、人员配备、机构设置等方面因素的限制,要达到这一目标就需要在项目管理方面有自己行之有效的管理方法。小组软件过程(TSP)是一个针对软件项目组开发的软件开发过程规范,由美国Carnegie-Mellon大学软件工程研究所提出的一个软件过程。本文通过分析小型软件项目特点和小组软件过程(TSP),结合作者的实际项目管理经验介绍如何在实际的项目管理中借鉴小组软件过程。 一、小型软件项目特点和常见问题 小型软件项目是指规模比较小的软件开发项目,这些项目大多由一些中小软件企业负责开发。小型软件项目的主要特点有:投资少、规模小、时间短、用户需求变更较大、项目计划不足。 由于小型软件项目的人员、资金和时间的紧张,需求变更和项目计划方面的原因,导致很多小型软件项目在开发过程中出现这样或那样的问题,这些问题主要有: 1、难以估计项目进度 在项目开始之间缺乏充分的分析和论证,对要开发的项目没有足够的认识和了解,无法准确估计项目开发所需要的时间,每个阶段需要的时间,整个项目的规模等重要的项目数据。这样也就无法制订出有效可以的日程表,即使制订一个日程表也无法起到指导和控制项目进度的作用。项目管理者很难估计出项目的进度和完成时间。 2、 项目日常管理问题 小型软件项目的日常管理问题主要表现在以下几个方面:第一,项目组成员职责划分不够清楚。由于项目的规模小,参与开发的项目组成员较少,所有的项目组成员都把主要精力放在编码上。而项目开发中许多其它工作没有专人负责,经常被忽略。这些工作包括:开发环境的选择、相关工具的选择和有效应用、版本控制、变更管理和缺陷管理等方面。这些工作对软件项目开发产生较大的影响。第二,由于没有一个明确的软件开发过程,在开发过程中许多工作产生扯皮现象。例如测试中发现了缺陷,在分析缺陷时都指责别人的问题造成了缺陷的产生。又如软件开发过程中各个模块的接口存在问题等等。第三,管理者无法及时了解项目组的工作情况。由于缺少必要的项目管理规范,项目中存在的很多问题不能及时被发现,影响了项目的进度。 3、项目需求分析不充分 对软件的需求分析不够重视,无法理清用户的重要需求和和新需求。在没有充分的需求分析的情况下,就开始设计和编码。导致在开发过程中不断有新的用户需求出现,用户经常改变原来的需求内容。项目开发举步维艰,甚至用户不认可开发出的软件产品。 4、缺陷无法控制 项目开发中的缺陷包括项目分析、设计和编码等各个阶段引入的缺陷。由于小型软件项目规模小、开发人员少,对各个阶段缺乏必要的测试、复查和审查工作,导致每个阶段都有相当多的缺陷引入。编码完成后,发现大量的缺陷。在缺陷修改过程中不断引入新的缺陷,导致缺陷很难收敛,产品很难集成,浪费了大量的时间。 这些问题延长了项目工期,增加了项目的资金投入,引起用户的强烈不满,甚至导致软件项目开发失败。为了解决这些问题我们对小组软件过程进行了分析。 二、 TSP分析 小组软件过程的对象是一个项目组,它定义了项目组成员的角色,要完成的工作,项目组成员之间如何协调,完成的产品是什么。小组软件过程的主要内容有:1、在项目之初,定义产品的目标和目标的度量。2、建立项目小组,为每个小组成员分配角色。小组软件过程中定义的小组成员角色有八个:用户界面管理者、设计管理者、实现管理者、计划管理者、过程管理者、质量管理者、支持管理者和测试管理者。每个角色承担相应部分的小组管理工作。3、小组软件过程使用循环过程开发模型。每个项目的开发包括多个循环周期,每个周期中包括多个阶段,每个阶段包括多个活动。项目的每个开发周期执行一次小组软件过程。4、每个阶段之初有一个开始活动。开始活动包括建立或调整小组、确定或修改产品目标,制定本周期的周期计划以及本阶段的阶段计划。5、小组软件过程的脚本中定义的活动步骤,哪个角色发起这个活动,有哪些角色参加,完成活动得到的产品是什么。6、在每个阶段和每个周期的末尾有一个总结活动,对这个阶段或周期的执行计划和完成目标情况进行分析,根据分析结果采取相应的措施来改进小组软件过程。 小组软件过程的结构图如图1所示,它包括四个阶段:需求阶段、高层设计阶段、实现阶段和测试阶段。每个阶段又包括多个活动,图中每个活动用一个图符表示。 三、 主要借鉴方面 在软件项目组中实施小组软件过程对项目的过程能力和项目组成员的过程能力要求较高。通过对小型软件项目管理中存在的问题以及小组软件过程进行分析可以看出,在小型软件项目管理方面可以借鉴小组软件过程的部分思想,例如:项目计划和跟踪、项目组例会制度、角色职责划分、需求管理、产品测试和集成、软件开发过程的定义。 1、项目的计划和跟踪 在项目开始之初,需要对项目的工作、项目的规模、开发项目需要的时间进行估计。根据这些估计把项目工作划分成比较小的任务,对任务的完成次序进行排列,估计任务的完成时间,根据这些估计制订项目计划。 在项目进行过程中,对项目实际的开发时间的规模进行跟踪记录。在项目结束后,对这些计划和跟踪数据进行分析,找出计划数据与实际数据出现偏差的原因,为以后制订更加准确的项目计划做准备。 [本文共有 2 页,当前是第 1 页] <<上一页 下一页>>
|
|
|
|
|
|
|