软件项目管理实例分析.docx

上传人:b****5 文档编号:6599862 上传时间:2023-01-08 格式:DOCX 页数:14 大小:135.23KB
下载 相关 举报
软件项目管理实例分析.docx_第1页
第1页 / 共14页
软件项目管理实例分析.docx_第2页
第2页 / 共14页
软件项目管理实例分析.docx_第3页
第3页 / 共14页
软件项目管理实例分析.docx_第4页
第4页 / 共14页
软件项目管理实例分析.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

软件项目管理实例分析.docx

《软件项目管理实例分析.docx》由会员分享,可在线阅读,更多相关《软件项目管理实例分析.docx(14页珍藏版)》请在冰豆网上搜索。

软件项目管理实例分析.docx

软件项目管理实例分析

软件项目管理实例分析

1引言

随着信息技术产业的迅速发展,软件越来越受到了人们的关注与重视,越来越多的人把目光投到了充满风险与利益的软件行业。

但据资料载,软件业的发展却存在如下的关键性问题:

[1]

①大的系统,一般常滞后于计划;

②只有10%的软件能按时完成并交付使用;

③需求比较高的软件有25%无法完成。

仅英国,这些原因造成的损失约有20亿英镑之多。

实际上,这些问题的出现在很大程度上足由于没有有效地进行软件项目的管理造成的。

如果把软件项目的实施简单的认为是把工作分发给每个人员,然后幻想他们将会取得一个预期的结果的话,许多本可能成功的项目也会走向失败!

但如果重视项目管理、有效的实施项目管理,即使更复杂的项目也可能成功。

早在70年代,“阿波罗”登月计划就采纳并应用了有效的项目管理方法,结果取得了巨大的成功[2]。

软件项目管理是传统意义上项目管理的一个应用领域。

美国著名杂志《Fortune》(即《财富》)预测,项目管理将是后工业时代的首选职业。

这对软件业来说更是如此了[4]。

但目前,软件行业的项耳管理方法还欠规范且专业化程度不高。

本文将探讨如何有效运用传统项目管理的科学方法进行软件项目管理,并将给出一个作者亲历的实例。

2项目管理与软件项目管理

软件的项目管理在一定程度上借鉴了传统意义上项目管理科学,但又在一定程度上不同于后者。

本部分将介绍这方面的理论。

2.1项目管理

2.1.1项目

什么是项目?

我们知道,社会的各种工作可分为两大类:

一是重复性、持续性的工作,可称为运作,譬如火车的往返运行,在运作中存在若大量的常规性劳动;二是独特性、一次性的工作,可称为项目,譬如高速铁路的研制和建设,每条高速铁路都会有自己独特的地理位置和技术创新,并日只需研制和建造一次,在项目中则存在较多的创新性劳动。

由此可知,项目就是以一套独特而相互联系的任务为前提,有效的利用资源,为实现一个特定的目标所作的工作[3]。

由于项目的独特性和一次性特征,引伸出它的其他特点,如目标的确定性、过程的渐进性、成果的不可挽回性、组织的临时性和开放性等。

一个项目的成功实现通常受4个因素的制约:

技术范围、成本、进度控制、客户满意度。

对此的可视化说明见图1。

人们也通常称其中的时间、费用和范围因素为项目三角形,如图2示。

图1项目如何走向成功

 

图2时间、费用和范围构成的项目三角形

 

项目作为工作的有序集合,也是一种“生命体”,即有它孕育、萌生、成长和死亡的历程。

图3所示为项目的生命周期。

项目的管理过程是受限于项日的4个因素并依附于项目生命周期的(详见下文)。

 

 

2.1.2项目管理

项目管理是20世纪50年代后期发展起来的一种计划管理方法,它一出世就引起举世瞩目。

项目管理运用先进科学的管理方式,能有效解决大型组织的效率低下和小型企业面临的风险增加问题,以组织的机动灵活、面向客户和资源利用率高而被广泛应用。

1957年美国的杜邦公司把这种方法应用于设备维修,把维修停工时间由125锐减为78小时;1958年美国人在北极星导弹设计中,应用项目管理技术,竟把设计完成时间缩减了2年。

项目管理是指在有限资源和预定时间限定下,拿出满足要求并能令顾客满意的产品的过程。

而项目管理的职责就是确保项目目标的实现和确保工作范围在预算内高质量地按时完成,并得到客户的认可。

形象的所说,项目经理就如同一场音乐演唱会的指挥师。

项目管理工作大多数都涉及一些相同的活动,其中包括将项目分割成便于管理的多个任务、排定任务的日程、在工作组中交流信息以及跟踪任务的工作进展。

所有的项目管理实施都包括以下三个主要的阶段:

1.     创建计划

2.     跟踪和管理项目

3.     结束项目

这三个阶段进行得越成功,成功完成这个项目的可能性就越大

对于项目管理的过程将在软件项目管理中进一步介绍。

2.2软件项目管理

软件项目管理是对传统项目管理进行鲜明软件工程化的一种扩展与拓延。

2.2.1软件项目管理的自身特点

软件项目管理一方面它建立在软件工程技术之上,要求管理者有较高的软件工程背景知识;另一方面,它的实施依赖于一群有创造性、高智力者所组成的团队。

相对于其他行业来说,软件领域的工程化是一个艰辛而漫长的过程,或者说至今实践上仍不成熟,存在理论和实践脱节的地方。

主要表现如下:

l.开发领域中的分工体制不完善每个人都成了全能型健将;

2.文档的规范作用多被忽视,代码和设计文档严重脱节;

3.软件工程师的软件工程意识薄弱,个人英雄主义色彩严重;

4.开发人员重代码轻设计,交流往往只限在代码一级。

但随着软件规模越来越大,功能也越来越复杂,软件开发走向工程化将是必然趋势。

而对应的进行软件产品的项目管理工作也将对一个产品的成功起到越来越重要的作用。

2.2.2软件项目管理内容

一般而言,软件项目管理的基本范围包括:

过程管理和人员管理两部分。

这一系列的管理活动体现为:

A建立项目的过程框架

B建立有效的、可跟踪的项目进度计划

C建立项目的质量保证体系

D建立项日的配置管理体系和准则

E项目变更管理

F跟踪、监控和控制项目的进展

G风险管理

H团队建设

一个通用的项目过程活动框架如图4。

图4项目过程活动框架

 

从软件项目管理的角度来说,第一阶段主要是做计划;第二个阶段主要是执行计划;第三个阶段主要是项目的总结。

伴随其中的则是项目的团队建设。

1.如何进行项目计划

项目计划是为实现某一个目标丽对任务进行系统的安排。

而通俗的讲,计划决定着做什么、谁去做、花多长时间去做、消耗多少费用。

项目管理的首要目标是制定一个构思良好的项目计划,以确定项目的范围、进度和费用。

在整个项目寿命周期中,最基本、也可以说最重要的功能之一就是项目计划,特别是在作出影响项目整个过程的主要决策的初始阶段。

计划之所以成为项目管理的最重要的功能,是因为它指出了项目组织未来努力的方向和奋斗目标,是经过仔细分析后综合成的对未来的构思,又是当前行动的准则。

一个完善的计划可以使失败的概率降至最低,以最大限度地保证在预期的期限内取得预期的效果。

但从另一方面来说,如前所述,由于项目管理是一个带有创造性的过程,项目早期的不确定性很大,所以项目计划又不可能在项目一开始就全部一次完成,而必须逐步展开和不断修正。

这又取决于能适当地对计划的执行情况作出反馈和控制以及不间断地交流信息。

从这里也可看出项目进行过程中控制的重要性。

制定一个综合的项目基准计划(BaselinePlan),一般按如下步骤进行:

①清晰地定义项目目标(Objective)。

②把项目按项目范围详细分解为工作包(WorkPackages),形成WBS(WorkBreakdownStructure)。

③界定对应每个工作包必须执行的各项活动(Activity)。

④以甘特图(GanttChart)或网络图的形式图示出活动。

⑤估算出项目的进度计划和成本预算。

2.项目的执行与控制

在建立了项目基准计划之后,项目工作就可以开始进行了,即进入项目的执行过程。

在这个过程,进行过程的监控,以确保一切按计划行事是必要的。

项目控制过程包括定期收集项目绩效的资料,把实际的绩效与计划绩效相比较;如果实际比计划差,则应当采取纠正措施。

这里有一个原则:

坏消息必须尽快传递[5]。

图5说明了项目控制过程的主要活动。

图5项目控制过程

 

3.项目总结

项目的最后一个阶段是结束项目并进行总结。

它开始于项目工作完成之后,这个阶段的目的是从中学到经验,以便在未来的项目中改进工作绩效。

总结的一个重要方式是举行项目后评估会议。

项目经理应当讨论项目执行期间发生的事,并确定一些具体的改善建议。

一个会议讨论内容的模板如下表l。

表1项目评估会议的内容模板

(1)技术绩效

●工作范围

●质量

●管理变更

(2)成本绩效

(3)进度计划绩效

(4)项目计划与控制

(5)客户联系

(6)团队联系

(7)交流

(8)识别问题与解决问题

(9)对未来项目的建议

 

4.团队建设

人员是项目成功的关键。

软件不是科学,它只是一门技术,一项与人及组织有着密切联系的技术。

尽管软件工程师们是聪敏而才气的,但如果不把他们很好的凝聚到一起、不把它们的激情调动起米的话,项目要成功就难了;正如拿破仑所言,军队战斗力的四分之三是由士气组成的。

一支运转良好的团队通常可以产生远远超出单个成员的生产效率,而好的项目团队的标志是“2+2>4”。

如何组建一个和谐的团队是项目经理的职务所在。

这方面的进一步信息可参见文[3]、[6]和[7]。

3一个软件项目的管理实例

这里要分析的实例是作者兼职一家软件公司的项目经理时所做。

限于篇幅,仅讨论关键点

3.1项目背景简介

本项目是要在一家国有中型企业构建产品的远程智能诊断系统。

具体的软件体系结构如下流程图6所示:

图6远程智能诊断系统的结构

3.2项目计划

●项目目标

在80天的时间里,用15人的资源,开发出一种能实现x企业产品的远程智能诊断的系统:

要求把采集来的产品数据实时可视化和进行诊断,并把数据存于仓库中以进一步更新规则库。

●项目管理软件的选择

这里主要考虑软件的易用性、功能完备性及与其它系统的互操作性三个标准。

Project2000同其它微软类软件具有统一的界面,能够完成所需的绝大部分功能,更重要的是它与微软的其它软件具有无可比拟的兼容性,因此,本项目选取了Project2000作为项目管理软件。

●项目工作包分解

为了分发任务及进行项目的管理,把项目按项目范围详细分解为工作包是必要的步骤。

系统的WBS是信息沟通的共同基础同时是系统综合与控制的手段。

远程智能诊断系统的WBS如下图7所示。

图7远程智能诊断系统的WBS

 

●项目的进度计划

在制定出了系统的WBS之后,就可规划系统的进度安排了。

远程智能诊断系统的进度计划如表2。

表2远程智能诊断系统的进度计划

标识号

任务名称

工期

开始时间

完成时间

前置任务

1

项目范围规划

2.5工作日

2001年6月20日

2001年6月22日

 

2

确定项目范围

4工时

2001年6月20日

2001年6月20日

 

3

项目资源配备

2工作日

2001年6月20日

2001年6月22日

2

4

项目范围规划阶段结束

0工作日

2001年6月22日

2001年6月22日

3

5

软件需求分析

10.38工作日

2001年6月22日

2001年7月6日

 

6

行为需求分析

5工作日

2001年6月22日

2001年6月29日

4

7

制定软件规范

2工作日

2001年6月29日

2001年7月3日

6

8

制定成本预算

2工作日

2001年7月3日

2001年7月5日

7

9

确定进度计划

1工作日

2001年7月5日

2001年7月6目

8

10

风险分析

3工时

2001年7月6日

2001年7月6日

9

11

分析工作阶段结束

0工作日

2001年7月6日

2001年7月6日

10

12

原型设计

7.5工作日

2001年7月6日

2001年7月18日

 

13

制定功能规范

3工作日

2001年7月6日

2001年7月11日

11

14

根据功能规范开发原型

3.5工作日

2001年7月11日

2001年7月17日

13

15

根据反馈修改功能规范

1工作日

2001年7月17日

2001年7月18日

14

16

设计工作阶段结束

O工作日

2001年7月18日

2001年7月18日

15

17

开发

17工作日

2001年7月18日

2001年8月1O日

 

18

确定模块及接口

1.5工作日

2001年7月18日

2001年7月19日

16

19

分派任务

1工作日

2001年7月19日

2001年7月20日

18

20

编写代码

14工作日

2001年7月20日

2001年8月9日

19

2l

开发人员初步测试

11工作日

2001年7月26日

2001年8月10日

20FS-75%

22

开发工作完成

O工作日

2001年8月1O日

2001年8月10日

21

23

测试

33工作日

2001年7月18日

2001年9月3日

 

24

制定单元测试计划

4工作日

2001年7月18日

2001年7月24日

16

25

单元测试

8工作日

2001年8月10日

2001年8月22日

 

26

单元测试环境构建

3工作日

2001年8月1O日

2001年8月15日

24,22

27

找出异常情况

2工作日

2001年8月15日

2001年8月17日

26

28

修改代码

3工作日

2001年8月17日

2001年8月22日

27

29

单元测试完成

O工作日

2001年8月22日

2001年8月22日

28

30

整体测试

8工作日

2001年8月22日

2001年9月3日

 

31

测试模块集成情况

3工作日

2001年8月22日

2001年8月27日

29

32

找出异常情况

2工作日

2001年8月27日

2001年8月29日

31

33

修改代码

3工作日

2001年8月29日

2001年9月3日

32

34

整体测试完成

0工作日

2001年9月3日

2001年9月3日

33

35

文档

20.5工作日

2001年7月18日

2001年8月15日

 

36

制定“帮助”规范

1工作日

2001年7月18日

2001年7月19日

16

37

开发“帮助”系统

1O工作日

2001年7月31日

2001年8月14日

20FS-50%,36

38

制定用户手册规范

2工作口

2001年7月18日

2001年7月20日

16

39

编写用户手册

9工作日

2001年7月31日

2001年8月13日

38,20FS-50%

40

审阅并修改用户文档

2工作日

2001年8月13日

2001年8月15日

39

4l

文档阶段结束

0工作日

2001年8月15日

2001年8月15日

40

42

项目总结

2.38工作日

2001年9月3日

2001年9月5日

 

43

经验教训归档

2工作日

2001年9月3日

2001年9月5日

34

44

建立软件维护小组

3工时

2001年9月5日

2001年9月5日

43

45

回顾完成

0工作日

2001年9月5日

2001年9月5日

44

 

●远程智能诊断系统的甘特图

甘特图(GanttChart)也叫做线条图或横道图,它是以横线来表示每项活动的起止时间。

甘特图的优点是简单、明了、直观,易于编制,因此到目前为止仍然是一些项目中常用的工具,它也是高级管理层了解全局、基层安排进度时有用的工具。

远程智能诊断系统的甘特图(GanttChart)如图8所示。

图8远程智能诊断系统的甘特图

 

●远程智能诊断系统的网络图

在甘特图上,可以看出各项活动的开始和终了时间。

在绘制各项活动的起止时间时,也考虑它们的先后顺序。

但各项活动上间的关系却没有表示出来,同时也没有指出影响项目寿命周期的关键所在。

因此,对于复杂的项目来说,甘特图就显得不足以适应,而网络图可弥补这方面的不足。

远程智能诊断系统的一部分网络图如下图9示。

图9远程智能诊断系统的部分网络图

 

3.3项目进度控制

在建立了项目基准计划之后,管理工作就是进行过程的监控,以确保一切按计划行事。

本项目控制过程包括每7天收集一次项目绩效的资料,之后把实际的绩效与计划绩效相比较:

如果实际比计划差,则采取纠正措施,同时要缩短监控的时间间隔。

如果实际进度滞后于基准计划,则要更改基准计划以确保计划是切实可行的、是最新的。

同时把更新的计划反映到图示中,如甘特图、网络图等中。

远程智能诊断系统的进度控制在此不再细述。

3.4项目总结

远程智能诊断系统的项目总结包括项目经理主持的评估会议、项目经理与部分项目成员的私人会议和确定技术培训事宜的活动三部分。

会议讨论的成果全部按表1备案,以资后用。

由于篇幅,远程智能诊断系统的项目总结报告此处略去。

4结束语

软件的项目管理是生长在传统项目管理上的新苗,同时它带来了自己的特色,正在形成自己的完备知识体系(PMBOK)[9]。

目下,软件项目管理愈来愈受到各大软件公司CEO、CIO的重视,有的己建立起相当完善的项目管理办公室(PMO),专门负责项目的管理工作[8]。

 

窗体底端

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1