项目管理软件论文合集12篇

时间:2023-03-17 18:15:06

项目管理软件论文

项目管理软件论文篇1

需求管理对软件项目能否最终实现产生至关重要的影响。任何的软件项目都必须进行合理的、细致的、一致的需求管理,只有这样才能制定正确合理的软件开发计划,软件项目才能顺利地开发完成。

2、沟通与协作

软件项目管理中的沟通与协作是指信息的交流,是使信息发挥积极作用和达到目标的手段;协作是指和谐地在一起工作的活动。沟通技术可分分四类:(1)正式书面沟通,包括项目文档和备忘录、项目里程碑和交货时间表、需求变更和错误跟踪规程、数据字典、系统分析模型(用例图等);(2)正式口头沟通,包括状态审查会、需求评审会、设计评审会、代码评审会、用户测试,项目定期例会等;(3)非正式口头沟通,包括小组碰头会、同行讨论、与直属业务领导讨论等;(4)电子沟通,包括电子邮件、内部BBS等。协作技术包括资源合理配置、开发步骤有序化、工作目标一致化、提高关心程度、信息共享等。

3、风险管理

软件项目风险管理是指对在软件开发过程中所遇到的预算和进度等方面的问题进行分析,寻求风险应对方法,做好风险管理计划。

针对软件项目中的风险管理问题,不少专家、组织提出了自己的风险管理模型。常见的主要风险管理模型如下。

1.SEI的连续风险管理模型(CRM)。SEICRM模型的风险管理原则是不断地评估可能造成恶劣后果的因素;决定最迫切需要处理的风险;实现控制风险的策略;评测并确保风险策略实施的有效性。CRM模型要求在项目生命期的所有阶段都关注风险识别和管理,它将风险管理划分为五个步骤:风险识别、分析、计划、跟踪、控制。

2.BarryBoehm模型。Boehm模型的思想核心是:10大风险因素列表。针对每个风险因素,都给出了一系列的风险管理策略。在实际操作时,Boehm以10大风险列表为依据,总结当前项目具体的风险因素,评估后进行计划和实施,在下一次定期召开的会议上再对这10大风险因素的解决情况进行总结,产生新的10大风险因素表,依此类推。Boehm模型的基本形式可描述为:RE=P(UO)3L(UO),其中RE表示风险或者风险所造成的影响;P(UO)表示令人不满意的结果所发生的概率;L(UO)表示糟糕的结果会产生的破坏性的程度。

3.软件工程风险模型(SERIM).SERIM模型要求从技术和商业两个角度对软件风险管理进行剖析,考虑的问题涉及开销、进度、技术性能等。它还提供了一些指标和模型来估量和预测风险,由于这些数据来源于大量的实际经验,因此具有很强的说服力。

五、软件项目管理技术

1.CMM。CMM是美国卡纳基梅隆大学软件工程研究所(CMU/SEI)提出的软件研发项目管理的一系列方法,它基于组织对关键过程域的支持,定义了软件过程成熟度的五个级别。级别1(初始级)描述了不成熟,或者说是未定义过程的组织。级别2(可重复级),级别3(已定义级),级别4(已管理级)和级别5(优化级)分别描述了软件过程成熟度级别递增的组织。和这些级别相关的KPA是:级别2:需求管理,软件项目计划,软件项目跟踪和监控,软件子合同管理,软件质量保证,软件配置管理。级别3:组织级过程焦点,组织级过程定义,培训大纲,集成软件管理,软件产品工程,组间协调,同行评审。级别4:定量过程管理,软件质量管理。级别5:缺陷预防,技术更新管理,过程更改管理。

2.CMMI。CMMI被看作是把各种CMM集成为一个系列的模型中。CMMI的基础源模型包括:软件CMM2.0版(草稿C),EIA-731系统工程,以及IPDCMM(IPD)0.98a版。CMMI也描述了5个不同的成熟度级别:级别1(初始级)代表了以不可预测结果为特征的过程成熟度。过程包括了一些特别的方法、符号、工作和反应管理,成功主要取决于团队的技能。级别2(已管理级)代表了以可重复项目执行为特征的过程成熟度。组织使用基本纪律进行需求管理、项目计划、项目监督和控制、供应商协议管理、产品和过程质量保证、配置管理、以及度量和分析。

3.PSP。PSP(PersonalSoftwareProcess,个体软件过程)是由CMU/SEI开发出来的,它的推出在软件工程界引起了极大的轰动,可以说是由定向软件工程走向定量软件工程的一个标志。PSP为基于个体和小型群组软件过程的优化提供了具体而有效的途径,例如如何制订计划,如何控制质量,如何与其他人相互协作等等。在软件设计阶段,PSP的着眼点在于软件缺陷的预防,其具体办法是强化设计约束准则,而不是设计方法的选择。因此,PSP保障软件产品质量的一个重要途径是提高设计质量。

4、小结

本文分析研究了软件项目管理中的需求管理、员工之间的沟通与协作、软件项目风险管理。最后结合实践,提出并分析了软件项目管理技术。我们相信随着软件工程的发展和进一步成熟,软件项目管理技术的发展会取得更大的进步。在实际项目中,我们要坚持改善软件工程的管理,并在实践中总结适合自身的经验,这样才有利于管理技术的进步和软件项目的顺利完成,创造出更高的品质、更大的效益。

参考文献:

[1]PhpMetzger,JohnBoddie.软件项目管理-过程控制与人员管理[M].北京:电子工业出版社,2002.

[2]RajeevTShandilya.王克仁译.软件项目管理[M].北京:科学技术出版社,2002.

[3]杨根兴,金荣得,宗宇伟.软件需求的不确定性与解决途径.计算机应用与软件.

项目管理软件论文篇2

目前,风险管理被认为是IT软件项目中减少失败的一种重要手段。当不能很确定地预测将来事情的时候,可以采用结构化风险管理来发现计划中的缺陷,并且采取行动来减少潜在问题发生的可能性和影响。风险管理意味着危机还没有发生之前就对它进行处理。这就提高了项目成功的机会和减少了不可避免风险所产生的后果。

2什么是风险

所谓“风险”,归纳起来主要有两种意见,主观说认为,风险是损失的不确定性;客观学认为,风险是给定情况下一定时期可能发生的各种结果间的差异。它的两个基本特征是不确定性和损失。IT行业中的软件项目开发是一项可能损失的活动,不管开发过程如何进行都有可能超出预算或时间延迟。项目开发的方式很少能保证开发工作一定成功,都要冒一定的风险,也就需要进行项目风险分析。在进行项目风险分析时,重要的是要量化不确定的程度和每个风险相当的损失程度,为实现这一点就必须要考虑以下问题:

要考虑未来,什么样的风险会导致软件项目失败?

要考虑变化,在用户需求、开发技术、目标、机制及其它与项目有关的因素的改变将会对按时交付和系统成功产生什么影响?

必须解决选择问题,应采用什么方法和工具,应配备多少人力,在质量上强调到什么程度才满足要求?

要考虑风险类型,是属于项目风险、技术风险、商业风险、管理风险还是预算风险等?

这些潜在的问题可能会对软件项目的计划、成本、技术、产品的质量及团队的士气都有负面的影响。风险管理就是在这些潜在的问题对项目造成破坏之前识别、处理和排除。

3风险管理

项目风险管理实际上就是贯穿在项目开发过程中的一系列管理步骤,其中包括风险识别、风险估计、风险管理策略、风险解决和风险监控。它能让风险管理者主动“攻击”风险,进行有效的风险管理。

在项目管理中,建立风险管理策略和在项目的生命周期中不断控制风险是非常重要的,风险管理包括四个相关阶段:

风险识别识别风险的方法常用的有风险识别问询法(座谈法、专家法)、财务报表法、流程图法、现场观察法、相关部门配合法和环境分析法等。

风险评估对已识别的风险要进行估计和评价,风险估计的主要任务是确定风险发生的概率与后果,风险评价则是确定该风险的经济意义及处理的费/效分析,常用的方法有:概率分布、外推法、多目标分析法等。

风险处理一般而言,风险处理有三种方法,①风险控制法,即主动采取措施避免风险,消灭风险,中和风险或采用紧急方案降低风险。②风险自留,当风险量不大时可以余留风险。③风险转移。

风险监控包括对风险发生的监督和对风险管理的监督,前者是对已识别的风险源进行监视和控制,后者是在项目实施过程中监督人们认真执行风险管理的组织和技术措施。

在IT软件项目管理中,应该任命一名风险管理者,该管理者的主要职责是在制订与评估规划时,从风险管理的角度对项目规划或计划进行审核并发表意见,不断寻找可能出现的任何意外情况,试着指出各个风险的管理策略及常用的管理方法,以随时处理出现的风险,风险管理者最好是由项目主管以外的人担任。

险识别

风险识别就是企图采用系统化的方法,识别某特定项目已知的和可预测的风险。常用方法是建立“风险条目检查表”,利用一组提问来帮助项目风险管理者了解在项目和技术方面有些风险。在“风险条目检查表”中,列出了所有可能的与每一个风险因素有关的提问,使得风险管理者集中来识别常见的、已知的和可预测的风险,如产品规模风险、依赖性风险、需求风险、管理风险及技术风险等。“风险条目检查表”可以以不同的方式组织,通过判定分析或假设分析,给出这些提问确定的回答,就可以帮助管理或计划人员估算风险的影响。软件项目一般有如下五类风险:

4.1产品规模风险

有经验的项目经理都知道:项目的风险是直接与产品的规模成正比的。与软件规模相关的常见风险因素有:

估算产品的规模的方法(LOC或代码行,FP或功能点,程序或文件的数目)。

产品规模估算的信任度

产品规模与以前产品规模平均值的偏差

产品的用户数

复用的软件有多少

产品的需求改变多少

4.2需求风险

很多项目在确定需求时都面临着一些不确定性和混乱。当在项目早期容忍了这些不确定性,并且在项目进展过程当中得不到解决,这些问题就会对项目的成功造成很大威胁。如果不控制与需求相关的风险因素,那么就很有可能产生错误的产品或者拙劣地建造正确的产品。每一种情况都会导致使人不愉快。

与客户相关的风险因素有:

对产品缺少清晰的认识

对产品需求缺少认同

在做需求中客户参与不够

没有优先需求

由于不确定的需要导致新的市场

不断变化需求

缺少有效的需求变化管理过程

对需求的变化缺少相关分析

4.3相关性风险

许多风险都是因为项目的外部环境或因素的相关性产生的。经常我们不能很好地控制外部的相关性,因此缓解策略应该包括可能性计划,以便从第二资源或协同工作资源中取得必要的组成部分,并且觉察潜在的问题。与外部环境相关的因素有:

客户供应条目或信息

内部或外部转包商的关系

交互成员或交互团体依赖性

经验丰富人员的可得性

项目的复用性

4.4管理风险

尽管管理问题制约了很多项目的成功,但是不要因为风险管理计划中没有包括所有管理活动而感到惊奇。在大部分项目里,项目经理经常是写项目风险管理计划的人,并且大部分人都不希望在公共场合暴露自己的弱点。然而,像这些问题可能会使项目的成功变得更加困难。如果不正视这些棘手的问题,它们就很有可能在项目进行的某个阶段影响项目。当我们定义了项目追踪过程并且明晰项目角色和责任,就能处理这些风险因素:

计划和任务定义不够充分

实际项目状态

项目所有者和决策者分不清

不切实际的承诺

员工之间的冲突

4.5技术风险

软件技术的飞速发展和经历丰富员工的缺乏,意味着项目团队可能会因为技巧的原因影响项目的成功。在早期,识别风险从而采取合适的预防措施是解决风险领域问题的关键,比如:培训、雇佣顾问以及为项目团队招聘合适的人才等。主要有下面这些风险因素:

缺乏培训

对方法、工具和技术理解的不够

应用领域的经验不够

新的技术和开发方法

不能正确工作的方法

5风险估计

风险估计,又称风险预测,常采用两种方法估价每种风险。一种是估计风险发生的可能性或概率,另一种是估计如果风险发生时所产生的后果。一般来讲,风险管理者要与项目计划人员、技术人员及其他管理人员一起执行四种风险活动:

(1)建立一个标准(尺度),以反映风险发生的可能性。

(2)描述风险的后果。

(3)估计风险对项目和产品的影响。

(4)确定风险的精确度,以免产生误解。

另外,要对每个风险的表现、范围、时间做出尽量准确的判断。对不同类型的风险采取不同的分析办法。

1.确定型风险估计

(a)盈亏平衡分析

盈亏平衡分析(Break-EvenAnalysis)通常又称为量本利分析或损益平衡分析。它是根据软件项目在正常生产年份的产品产量或销售量、成本费用、产品销售单价和销售税金等数据,计算和分析产量、成本和盈利这三者之间的关系,从中找出它们的规律,并确定项目成本和收益相等时的盈亏平衡点的一种分析方法。在盈亏平衡点上,软件项目既无盈利,也无亏损。通过盈亏平衡分析可以看出软件项目对市场需求变化的适应能力。

(b)敏感性分析

敏感性分析(SensitivityAnalysis)的目的,是考察与软件项目有关的一个或多个主要因素发生变化时对该项目投资价值指标的影响程度。通过敏感性分析,使我们可以了解和掌握在软件项目经济分析中由于某些参数估算的错误或是使用的数据不太可靠而可能造成的对投资价值指标的影响程度,有助于我们确定在项目投资决策过程中需要重点调查研究和分析测算的因素。

(c)概率分析

它是运用概率论及数理统计方法,来预测和研究各种不确定因素对软件项目投资价值指标影响的一种定量分析。通过概率分析可以对项目的风险情况做出比较准确的判断。主要包括解析法和模拟法(蒙特卡罗MonteCarlo技术)两种。

2.不确定型风险估计

主要有小中取大原则、大中取小原则、遗憾原则、最大数学期望原则、最大可能原则。

3.随机型风险估计

主要有最大可能原则、最大数学期望原则、最大效用数学期望原则、贝叶斯后验概率法等。

5.1建立风险清单

风险清单是关键的风险预测管理工具,清单上列出了在任何时候碰到的风险名称、类别、概率及该风险所产生的影响。其中整体影响值可对四个风险因素(性能、支持、成本及进度)的影响类别求平均值(有时也采用加权平均值)。

一旦完成了风险表的内容,就可以根据概率及影响来进行综合考虑,风险影响和出现概率从风险管理的角度来看,它们各自起着不同的作用(见图1)。一个具有高影响但低概率的风险因素不应当占用太多的风险管理时间,而具有中到高概率、高影响的风险和具有高概率及低影响的风险,就应该进行风险分析。

5.2风险评估

在风险分析过程中,我们对风险进行评估时可以建立一个如下的四元数组:

[ri,li,xi,yi]

其中,ri是风险,li为风险出现的概率,xi则表示风险损失大小,yi则表示期望风险。

一种对风险评估的常用技术是定义风险的参照水准,对绝大多数软件项目来讲,风险因素——成本、性能、支持和进度就是典型的风险参照系。也就是说对成本超支、性能下降、支持困难、进度延迟都有一个导致项目终止的水平值。如果风险的组合所产生的问题超出了一个或多个参照水平值时,就终止该项目的工作,在项目分析中,风险水平参考值是由一系列的点构成的,每一个单独的点常称为参照点或临界点。如果某风险落在临界点上,可以利用性能分析、成本分析、质量分析等来判断该项目是否继续工作。图2表示了这种情况。

但在实际工作中,参照点很少能构成一条光滑的曲线,大多数情况下,它是一个区域,而且是个易变的区域。因而在做风险评估时,尽量按以下步骤执行:

(1)定义项目的水平参照值

(2)找出每组[ri,li,xi,yi]与每个水平参照值间的关系

(3)估计一组临界点以定义项目的终止区域

(4)估计风险组合将如何影响风险水平参照值

5.3估计损失的大小

表1是风险分析表的一个例子,可以建立一个用风险、损失概率、损失大小和期望风险这样的风险评估表。

在表1所示的风险估价的例子中,一个理论项目已经识别了从1到20周期间的潜在的几个风险,风险发生的概率范围在5%到50%之间。在现实的项目中,可能会识别出比此表要多得多的风险。

损失的大小常常比概率更容易受到控制。在以上的例子中,可以很精确地估计出完全支持自动从主机更新数据的时间是20个月。根据管理层将在何时讨论项目建议书,可以知道项目不是在2月1日就是3月1日会被批准。如果假定会在2月1日批准,项目被批准的风险大小会比期望的长一些,也就是1个月时间。

如果损失的大小不容易直接估计出来,可以将损失分解为更小的部分,再对其进行评估,然后将各部分评估结果累加,形成一个合计评估值。例如,如果使用3种新编程工具,可以单独评估每种工具未达到预期效果的损失,然后再把损失加到一起,这要比总体评估容易多了。

5.4评估损失的概率

评估损失的概率要比评估损失大小更具有主观性。这里有许多实践方法可以提高主观评估的准确度。有以下方法:

由最熟悉系统的人评估每个风险的发生概率,然后保留一份风险评估审核文件。

使用Delphi法或少数服从多数的方法。使用Delphi法,必须要求每个人对每个风险进行独立地评估,然后讨论(口头或纸上)每个评估的合理性,特别是最高和最低的那个。一轮轮讨论,直到达成共识。?使用“形容词标准”。首先让每个人用表示可能性的形容词短语选择风险的级别,如非常可能、很可能、可能、或许、不太可能、不可能、和根本不可能。然后把可能性的评估转换为数量化的评估(Boehm1989)。

5.5整个项目超限和缓冲

实际上,表1中表示的期望风险的计算数值来源于一个被称为“期望值”的统计术语。设计欠佳引起的风险如果真正发生将花费15周的时间。既然它不是100%地会发生,当然不能预计损失15周时间。但它也不是没有可能发生,所以也不应指望不会发生损失。统计学认为,预计损失的数量是概率乘以损失大小,即15%乘以15周。因此,在这个例子中,预计的是损失2.25周。由于只是谈论计划风险,可以累加所有的风险暴露量来得到项目的全部可预料超标值。这个项目可预料的超标值是12.8到13.2周,这就是如果不做任何风险管理的话有可能超过计划的周数。

超出预期值的大小为整个项目风险控制级别的确定提供了依据。如果例子中的项目是个25周的项目,超出预期值的12.8到13.2周就很明显需要进行风险管理了。

6风险管理策略

风险管理策略就是辅助项目组建立处理项目风险的策略。项目开发是一个高风险的活动,如果项目采取积极的风险管理策略,就可以避免或降低许多风险,反之,就有可能使项目处于瘫痪状态。一般来讲,一个较好的风险管理策略应满足以下要求:

(1)在项目开发中规划风险管理,尽量避免风险

(2)指定风险管理者,监控风险因素

(3)建立风险清单及风险管理计划

(4)建立风险反馈渠道

7风险驾驭和监控

风险的驾驭与监控主要靠管理者的经验来实施,它是利用项目管理方法及其它某些技术,如原型法、软件心理学、可靠性等来设法避免或转移风险。风险的驾驭和监控活动可用图3来表示。

7.1建立风险驾驭与监控计划

从图3中可以看出,风险的驾驭与监控活动要写入RMMP(RiskMonitoringandManagementPlan风险驾驭与监控计划)。RMMP记述了风险分析的全部工作,并且作为整个项目计划的一部分为项目管理人员所使用。

风险管理策略可以包含在软件项目计划中,也可以组织成一个独立的风险缓解、监控和管理计划(RMMP计划)。RMMP计划将所有风险分析工作文档化,并由项目管理者作为整个项目计划中的一部分来使用。一旦建立了RMMP计划,且项目开始启动,则风险缓解及驾驭及监控步骤也开始了。正如前面讨论的,风险缓解是一种问题避免活动。风险驾驭及监控则是一种项目跟踪活动,它有三个主要目标:?判断一个预测的风险是否事实、是否发生。

进行风险再估计,确保针对某个风险而制定的风险消除活动正在使用。

收集可用于将来进行风险分析的信息。

风险驾驭及监控的策略如下:

与在职人员协商,确定人员流动原因。

在项目开始前,把缓解这些流动原因的工作列入风险驾驭计划。

项目开始时,要作好人员流动的思想准备,并采取一些措施确保人员一旦离开时,项目仍能继续。

制定文档标准,并建立一种机制,保证文档及时产生。

对所有工作进行细微详审,使更多人能够按计划进度完成自己的工作。

对每个关键性技术人员培养后备人员。

在考虑风险成本之后,决定是否采用上述策略。

7.2软件项目风险追踪工具

项目管理软件论文篇3

论文关键词:软件项目软件项目管理计划管理

在解决软件危机的过程中,越来越多的软件开发公司意识到在软件项目开发过程中有效的管理所起到的重要作用。而在软件项目管理过程中,软件项目的计划管理则是决定项目能否顺利实施的关键内容。本文将在下面具体阐述软件项目的计划管理。

1软件项目计划概述

软件项目计划是指为软件工程的运作和软件项目活动的管理提供一个合理的基础和可行的工作计划的过程。其目的是为执行软件工程和管理软件项目制定合理的计划。具体来讲,就是:(1)使软件项目的开发建立在可靠的基础之上,并将计划文档化,由开发人员遵循,并据此跟踪检查计划的执行。(2)确定软件项目开发的活动的承诺,使软件开发工作有序而协调的开展,以便根据软件计划的资源、约束和能力逐步向客户履行承诺。(3)明确与软件项目相关的组织和个人的承诺,将责任落实到组和个人,从组织管理上保证项目开发的成功。

2制定计划应遵循的原则

2.1重视对项目信息的了解

制定软件项目计划,不仅仅需要经验,更需要全面了解项目的相关信息。必须掌握的信息包括:关于所在组织的信息,包括组织结构图,各部门的职能,各关键部门的经理和部分成员(并尽可能认识这些人);关于市场的信息,包括本行业新产品和新技术的,竞争对手的情况,竞争对手的主要客户群信息,关于历史项目的信息,尤其需要注意以往项目实施过程中出现的问题记录和解决方法,关于客户的信息,与客户的沟通是相当重要的,特别要理解清楚客户对时间、进度和效果上的要求。只有在了解足够信息的基础上制定计划,才能增强指导性和针对性。

2.2重视项目计划的层次性

软件项目计划的层次通常分为高级计划、阶段计划和低级计划。高级计划是项目的早期计划,主要进行项目的阶段划分,主要包括人、财、物3个要素。大的阶段交替之

前,我们要做好下一阶段的详细计划,称之为阶段计划。阶段计划要确定各项任务的负责人、开始和结束时间、设备资源、任务之间的依赖关系、小的事件点(即里程碑)。开发人员的个人计划是低级计划,由开发人员根据自己的任务自行制定。通常,软件项目计划至多有4级,较小的软件项目有2级计划(高级计划与低级计划)也是可行的。

2.3重视历史数据的运用和积累

要充分利用以往类似软件项目的历史数据。不光成功项目的数据具有参照价值,失败项目的数据也具有借鉴作用。可以根据它们来制定和改进计划。此外也要注意积累历史数据,以便于为我所用,这些是可复用的资源。最好是通过文档化的过程形成模板,将以往的成功经验高效继承。.

2。4重视用过程化的思想指导开发

我们知道软件能力成熟度模型CMM,描述了五个级别的软件过程成熟度:初始级,可重复级,已定义级,已定量管理级,优化级。在可重复级即CMM2这个等级上,该过程具备了对软件项目基本的管理控制、方针和规程,并强调文档化的过程,一个项目成功了,就可以认为下一个项日也可以成功。

在项目的实施过程中,通常需要根据项目的进展情况及变更对项目计划进行修改,在策划和重新策划中涉及的内容,都包含在cMM2过程中。运用软件过程化CMM2的思想指导计划的编制与实施,可以提高软件项目的可控程度。尽管当前大多数企业都难以达到CMM2级及以上的等级能力水平,但至少要具备过程化的思想。

3计划的技术方法

在制定软件项目的计划时,以下是常用的技术。

3.1PERT

PERT(计划评审技术,ProgramEvaluationBEReviewTechnique)是5O年代末美国海军部在研制北极星潜艇系统时为协调3000多个承包商和研究机构而开发的,其理论基础是:假设软件项目持续时间以及整个项目完成时间是随机的,且服从某种概率分布。EPRT可以估计整个项目在某个时间内完成的概率。

构造PERT图,需要明确三个概念:事件、活动和关键路线。事件(Events)表示主要.活动结束的那一点;活动(Activities)表示从一个事件到另一个事件之间的过程;关键路线(CriticalPath)是PERT网络中花费时间最长的事件和活动的序列。开发一个PERT网络要求管理者确定完成项目所194科技创新导报ScienceandTechnologyInnovationHerald需的所有关键活动,按照活动之间的依赖关系排列它们之间的先后次序,以及完成每项活动的时间。

3.2CPM

CPM(关键路径法)是一项用于确定软件项目的起始时间和完工时间的方法。该方法的结果是指出一条关键路径,或指出从项目开始到结束由各项活动组成的不间断活动链。任何关键路径上的活动开始时间的延迟都会导致项目完工时间的延迟正因为它们对项目完工的重要性,关键活动在资源管理上享有最高的优先权。

在图l中,字母A、B、C、D、E、F、G、H、I、J代表了项目中需要进行的子项目或工作包,连线箭头则表明了工作包之间的关系,节点数字l、2、3、4、5、6、7、8N表明的是一种状况,从l开始到8结束,中间的数字则表明上一工作包的结束和下一工作包的开始。

A=1,表示A工作包的持续时间为1夭。

由图中可反映出该项目的路径共有4条。它们的历时长度分别为:

A+D+H+J=l+4+6+3=14(天)

B+E+H+J:2+5+6+3=16(天)

B+F+J:9(天)C+G+I+J=l4(天)

项目管理软件论文篇4

的,以项目经理个人负责制为基础和以项目为独立实体进行经济核算,并按照项目内在的逻辑规律进行有效的计划、组织、协调、控制的系统管理活动。

2、为什么要有项目管理?

没有项目管理,项目也有可能成功。但没有管理的项目,很难保证项目

的利润空间,对公司来说,亏损的风险就大。所以我们要有项目管理,以保证公司在总体上是盈利的,注意不是每一个项目都要盈利。

另外,有了项目管理,就有了管理改进的基础,无论刚开始的项目管理多么糟糕,只要有管理,就有了改进的可能性,至于能不能得到改提供进,以及改进的快慢,则取决于两个因素:一个是人,特别是各级管理者;另一个是利益。关键是“利益”,准确的说是“利益的分配”,在权责利明确的前提下,人才能充分的发挥作用。还需要指出的是“利益”是多元的,这里的多元不仅指利益的具体形式,而且指利益的受众是多元的,包括客户方相关人员个人的利益。

3、项目管理的发展与现状。

今天,项目管理作为一种现代化管理方式在国际上已获得了广泛的应用,从最初的国防、航天、建设工程领域,迅速发展到电子、通信、计算机、软件开发、金融等行业以及政府机关的项目管理工作。随着计算机、网络系统的迅速发展,项目管理技术的不断进步,项目管理软件产品层出不穷,其功能、特点、应用对象也各不相同。当前,越来越多的企业和组织在内部推广项目管理的理论方法及管理模式,如果都采用项目管理软件进行管理,效果就更加明显,可以节省大量的资源和财富。国外90%以上的项目管理都采用软件进行,但我国在这方面的应用还不到10%。新世纪项目管理在中国的迅速兴起,给软件企业的发展带来了前所未有的发展机遇。

项目管理在软件开发中的应用的成因

随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发提供能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。同时,随着软件开发规模及开发队伍的逐渐增大,软件开发不再是向过去那样一二个开发人员即可解决的事情。迫切需要一种开发规范来规范每个开发人员、测试人员与支持人员的工作,每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理,专业分工也可以降低对开发人员的要求,从而降低产品研发成本。

软件开发是一项复杂的系统工程,牵涉到各方面的因素,实际工作中,经常会出现各种各样的问题,甚至面临失败。如何总结、分析失败的原因,得出有益的教训,对一个公司来说,是在今后的项目中取得成功的关键。

早在20世纪60年代中期,人们就发现软件的生产出现了“问题”,主要表现在生产过程不规范,缺乏管理。后来,人们在软件工程方法学中引入了工程的概念、原理、技术和方法,这种思想在一定程度上解决了软件生产过程中遇到的问题。但是直至80年代还是没有提出一套管理软件开发的通用原则,软件管理不善的问题依旧在大范围内存在。

目前的软件开发正逐步趋向于复杂化、多元化,大多数开发团队中都会出现同时开发多个版本、开发/维护工作并存、多地点同时开发等情况,给软件开发管理带来了前所未有的困难。如果管理不善,必将造成版本混乱,提供

各个开发人员的工作相互交叉、干扰,整个开发团队的工作在一种无秩序的不良状况下运行,严重影响软件产品开发的进度和质量。

因此,随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软提供件开发过程中,应用开发的项目管理日益受到重视。而项目管理技术的发展与计算机技术的发展是密不可分的,随着计算机性能的迅速提高,大量的项目管理软件涌现出来。它们可以用于各种商业活动,提供便于操作的图形界面,帮助用户制定任务、管理资源、进行成本预算、跟踪项目进度等。

软件项目管理常见问题及解决方案

对于软件开发项目|中,经常出现两种极端情况,一种是创造了新的生产率和质量的纪录;一种则完全是一场灾难,不是被取消就是拖延很长时间。前者如在很短的时间内,为了赶进度,在几乎不可能的时间内开发出一套软件产品,创造了软件开发的记录,满足了上级所要求的上机日期,由于开发时间太短,过于仓促,上机时,问题百出,试运行时间长达几个月或一年半载的,而且程序一改再改,维护工作量大。

后者,如某套系统未弄清楚需求,或因设计问题,开发失败。通过提炼这些成功和失败的例子,软件项目成功或失败的根本原因可能会更清晰一些。

目前我国大部分软件公司,无论是产品型公司还是项目型公司,都没有形成适合自己公司特点的软件开发管理模式,虽然有些公司根据软件工程理论建立了一些软件开发管理规范,但并没有从根本上解决软件开发的质量控制问题。这样导致软件产品质量提供不稳定,软件后期的维护、升级出现麻烦,同时最终也会损害用户的利益。

分析目前项目管理需要改进的问题可以从几种相关角色的角度去考虑:项目经理、项目组成员、公司管理人员、市场人员、客户等。

问题一:缺乏项目管理系统培训(相关对象:项目经理、管理人员)

项目经理在项目管理方面的培训较少或不够系统。项目经理或管理人员不了解项目管理的知识体系和一些常用工具和方法,所以在实际工作中没有项目管理知识的指导,完全依靠个人现有的知识技能,管理工作的随意性、盲目性比较大。在软件企业中,以前几乎没有专门招收项目管理专业的人员来担任项目经理(甚至很少是管理专业的),被任命的项目经理主要是因为他们能够在技术上独当一面,而管理方面特别是项目管理方面的知识比较缺乏。

解决方案:项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。应实行项目经理知识技能资格考核制度,让项目经理自觉补充学习项目管理的知识和一些常用工具和方法。

问题二:项目计划意识问题(相关对象:项目经理)

项目经理对总体计划、阶段计划的作用认识不足。项目经理认为计划不如变化快,项目中也有很多不确定的因素,做计划是走过场,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划与控制管理脱节,无法进行有效的进度控制管理。没有计划或者是随意的不负责任的计划的项目是一种无法控制的项目。

解决方案:在高技术行业,日新月异是主要特点,因此计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关各种知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。

问题三、管理意识问题(相关对象:项目经理)

部分项目经理没有意识到自己项目经理的角色,从总体上去把握管理整个项目,而是埋头于具体的技术工作,造成项目组成员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。在软件企业中,项目经理大多是技术骨干,技术方面的知识比较深厚,但无论是项目管理知识,还是项目管理必备的技能、项目管理必备的素质都有待补充和提高,项目管理经验也有待丰富。有些项目经理对于一些不服管理的技术人员,没有较好的管理方法,工作不好安排的工作只好自己做。另外由于工作分解结构设计的合理性,项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。

解决方案:加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前提供,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。

问题四:沟通意识问题(相关人员:项目经理、项目组成员)

在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有每天定时收邮件的习惯,以至于无法及时接收最新的信息。

解决方案:制定有效的沟通制度和沟通机制,对由于缺乏沟通而造成的事件进行通报作为教训提醒,以提高沟通意识;沟通方式应根据内容而多样化,讲究有效率的沟通;通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于特别重要的内容要采用多种方式进行有效沟通以确保传达到位,例如除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。

问题五:风险管理意识问题(相关人员:项目经理)

项目经理没有充分分析可能的风险,对付风险的策略考虑比较简单。项目经理在做项目规划时常常没有做专门的风险管理计划文档,而是合并在项目计划书中。有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对于后面的风险防范起不到什么指导作用。

解决方案:通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法掌握项目风险管理所必备的知识。通过加强对项目规划本论文提供>由整理提供中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。

问题六:不重视项目经验的总结(相关人员:项目经理、管理人员)

项目经理在项目结束时有些是因为自身对写文档工作的兴趣或意识,或

者是因为紧接着要参加下一个项目,总体对项目总结的重视程度不够。有些是项目总结报告一再拖延,有些是交上来的报告质量较低,敷衍了事。

解决方案:在制度上鼓励和加强项目经验总结工作,使得项目总结及时并且具有指导意义而不是走过场。

问题七:项目干系人相关问题(相关人员:项目经理、项目成员、客户)

在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、

工作职责等没有足够了解以致于无法得到完整需求或最终经权威用户代表确认的需求。由于项目经理的工作问题,客户参与程度部不高,客户方相关责任人不明确或对范围和要求责任心不强,提出的要求具有随意性,项目前期对需求的确认不够积极;或者是多个用户代表各说各话、昨是今非但同时又要求项目尽早交付;项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。

解决方案:项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。

问题八:项目团队内分工协作问题(相关人员:项目经理、项目成员)

项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任

分工不够清晰而造成工作互相推诿、责任互相推卸的现象,有时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰但是各项目成员只顾完成自己那部分任务、不愿意与他人协作。这些现象或多或少地造成了项目团队内部资源的损耗,从而影响了项目的进展。

解决方案:项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。

以上对软件开发项目管理中出现的问题的分析还不够深入,也无法列举所有遇到或将遇到的问题,解决方案也要根据实际情况进行调整,希望引起对这些问题更多的思考和改进。

结束语:项目管理虽然没有非常高深的理论,但要真正实施起来,也绝非易事。对于软件开发企业而言,这不是一个小的改变,而是一种变革,企业需要为此付出艰苦的努力,宣传并树立公司范围内的项目管理文化十分重要。从而在实践中锻炼提高,解决各种各样的问题,使项目管理工作越做越好。

参考文献:

吴照云《管理学原理》经济管理出版社

StanleyE.Portny(宁俊等译)《如何做好项目管理》新经济工商实务丛书

NealWhitten(孙艳春等译)《管理软件开发项目》(第二版)软件项目管理系列丛书

项目管理软件论文篇5

人类社会经历了三次经济革命从农业革命、工业革命到目前正在经历的信息革命。信息化正在日益改变人们的思维方式和生活习惯。在推动信息化过程中,计算机及其软件产品发挥着至关重要的功能。对于软件项目的管理成为项目管理领域一个令人兴奋的课题。本文将结合项目管理中的控制方法分析软件项目管理控制的相关新问题.以期提高软件项目的开发效率。

1、有关软件项目管理

1.1项目和项目管理

项目是一个旨在完成一个或一些独特产品或服务的过程.它有着一系列被具体描述的属性。由于项目的独特性和一次性特征,引伸出它的其他特征.如目标的确定性.成果的不可挽回性组织的临时性和开发性等。基于项flI的这些特征.项目运作更加注重项目决策前的计划以及对实施过程的控制,以减少项目运作的风险。项目管理是2O世纪50年代后期发展起来的一种计划管理方法,它运用先进科学的管理方式.有效解决大型组织的效率低下和小型企业面临的风险增加新问题以组织的机动灵活.面向客户和资源利用率高而被广泛应用。在工程设计.施工软件项目的开发、实麓中经常会碰到进度拖延.费用超支、质量不达要求等新问题除去极少数是因为技术原因造成,绝大部分是源于僵化的管理和不当的管理方式。

1.2软件项目管理

各软件企业都在积极将软件项目管理引入开发活动中.对开发实行有效的管理。从概念上讲.软件项目管理是为了使软件项目能够按照预定的成本.进度、质量顺利完成.而对成本、人员、进度、质量、风险等进行分析和管理的活动。同时,随着软件开发规模及开发队伍的逐渐增大,软件开发不再是向过去那样一二个开发人员即可解决的事情。迫切需要一种开发规范来规范每个开发人员、测试人员和支持人员的工作每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理.专业分工也可以降低对开发人员的要求,从而降低产品研发成本。

2、软件项目控制

2.1软件项目控制

软件项目跟踪和监控包括对照已文档化的估计、约定和计划评审和跟踪软件完成情况和结果。基于实际的完成情况和结果调整这些计划。软件项目的已文档化的计划(即软件开发计划,正如在软件项目计划关键过程区域中所描述的)用作跟踪软件活动传送状态和修订计划的基础管理者监控软件活动.主要通过在所选出的软件工作产品完成时和在所选择的里程碑处,将实际的软件规模工作量成本和时间表和计划相比较,来确定进展情况。当确定未实现软件项目计划时,采取纠正办法。这些办法可以包括修订软件开发计划以反映实际的完成情况和重新计划遗留的工作或者采取改进性能的办法。

2.2软件项目控制的内容

软件项目控制的目的是为软件项目的过程提供足够的能见度,从而可以在执行过程中发生对计划的严重偏离时能够采取适当的更正行为。软件项目控制包括:a。追踪软件项目的进展于表现从而和所作的估计、承诺和计划做出对比:b。追踪软件项目的风险;C。在发生对计划的严重偏离时采取适当的更正行为。

2.3软件项目控制步骤

由于软件开发是处在一个开放的动态系统中,开发环境的不断变化要求不断修改项目计划,以适应新的变化。此外项目经理及其组织在完成任务的过程中不可避免的要碰到这样或那样的新问题.解决这些新的矛盾和新问题均属项目控制的范畴项目的预算和进度计划只能为项目经理提供决策的依据.假如在项目实施过程中控制不住.很难在限定的时间和预算要求下实现项目管理工作的目标。因此软件项目控制的过程包括以下四个步骤:a、猜测什么会发生——要做出开发计划并建立工作标准b、查明什么正在发生——用建立的工作标准检查当前的工作;c、正在(或已经)发生的实事同猜测的结果进行比较——分析误差产生的原因:d及时采取补救办法.以满足项目目标,预算和进度的要求。

3、软件项目控制具体操作

3.1软件项目进度控制

为了确保软件开发中的各项工作能按照计划预定的日程顺利完成.对项目的进度要进行控制。进度控制的过程是.在项目实施过程中,不断地进行实际进度值和计划值的比较、发现偏差、检查分析其产生的原因,并采取相应的办法加以解决。

3.1.1进度控制流程

(1)进度控制的输入

进度计划。项目进度基准是项目测量和报告的基础和标准。

实施报告。实施报告提供了有关项目进度发展实情。报告未来可能发生的进度新问题。

变更要求。项目变更要有严格的申请和审批手续。

进度管理的技术和工具。

(2)进度管理的技术和工具

进度控制变更系统。为有效实现进度管理和控制.进度控制系统应设立实现重新计划的全部功能。包括:文件设立.跟踪即实施报告.变更评估等。

实施情况测量。项目进度控制系统中的一个重要组成部分是决定对迟发生的进度偏差是否采取纠偏办法。而实施情况报告提供了决策的主要信息。如变更分析.趋向分析.已实现价值分析等。

纠偏计划。很少有项目能完全按计划进度进行为实现项目进度或总进度要求,在项目实施过程中.需要不断对原计划进行调整或增加新的工作内容。为此.需要不断对实施的项目进行活动时间猜测。修改活动过程.替代进度方案分析。

项目管理软件。它的功能是跟踪项目按计划日期展开实际工作的情况.对照进度计划分析进度目前状况,找出进度的偏差.分析进度偏差对项目的影响.猜测未来走势

(3)项目进度控制的输出

进度更新。包括对项目管理中任何进度信息的修改。进度调整是其中的一种.师队员进度计划中活动开始和结束时间的改变。纠偏行动。通过改变资源投入将实际进度拉回到计划的行动过程。

从中获得的教训。有关进度偏差产生的原因。纠偏方案的评估和选择以及其他方面的感受和教训都应纪录在案成为日后有用的历史资料。

3.1.2进度控制方法

一般项目进度控制采用因果分析.分析用四步完成:

(1)明确新问题。实际完成情况和项目里程碑相对照.确定是否超期.超期的部分是在哪里。

(2)查找产生该新问题的原因。位从系统角度充分熟悉各方原因.应组织具有代表性任务人员并采用头脑风暴法进行。项目主管要通过他领导的办公室或小组,以及在各职能部门的人共同分析新问题产生原因。

(3)确定个原因对新问题产生的影响程度。对影响程度的评估可以采用专家小组打分的方法,事先确定权数.而后打分得出分析结果。

(4)画出带箭头的鱼刺图。分析出原因后各部门各就其职针对新问题提出解决方案.并实施。

3.1.3软件项目进度控制具体办法

在实施进度计划过程中,会有种种故障:客户的需求进行了补充或修改;工作量估算不准,造成进度不平衡或是有人不遵从开发规范.导致产品出现缺陷;或是技术环节出现故障,这些新问题往往是在进度计划外出现的.一旦出现这些新问题,项目进度不得不进行调整。开发过程中为了有效控制类似新问题,可以采用以下辅助办法,控制进度按计划执行:

(1)政策性办法。对于不遵从开发规范,人员不按时履行职责的.给予经济或是职务上的处罚.这种办法应是建立在分配任务之前;

(2)人员布置。在各子项目接口处适当布置机动人员和机动时间。这一办法有赖于项目组织的机构设置能动性好。此处比较难解决的是人员业绩评估.奖励新问题。

(3)技术办法,要想很好地执行进度计划,需要事先有统一的规范例如开发语言的统一,文档的归类。这样便于下一阶段人员理解上一阶段人员意图,交流更加轻易。

(4)信息流办法。该办法要求建立一个信息流系统.准时汇报项目进度.便于主控人员调整进度,并且保证信息流通顺畅。避免开发期压到最后造成严重拖工。

(5)资金办法。财务部门可以定期检查各部门财务情况.控制资金流出时间.进而控制项目进度。这和后面要讲到的三者权衡有密切关系。

3.2软件项目费用控制

费用控制就是要保证各项工作要在他们各自的预算范围内进行。其基础是实现就对项目进行费用预算。整个项目费用应包括项目范围规划阶段。软件需求分析阶段.原型设计阶段开发阶段.测试阶段和项目投入使用后的使用阶段所消耗费用的总和。软件开发项目承担公司为了完成项目目标和获得更多的利润.在实施项目过程中就要控制成本.在控制过程中,首先要拟定一个标准.即计划值.然后进行实际至于计划值的比较,确定实际值和计划标准的偏差大小.以便在此基础上采取各种办法纠正偏差.常用的分析工具是偏差分析。

偏差是指实际成本对相应计划的偏离,成本偏差的数学公式为:

CV=BCWP-ACWP(负数CV表明出现超支;反之,则节资)(3—1)

其中:CV为成本偏差,BCWP为计划工作预算,ACWP为完成工作实际成本。

在进行成本偏离计划程度分析时,常用计划偏差率反应时给予计划的偏离程度。

CVP=CV/BCWP(3-2)

其中CVP为成本偏差率。

偏差值是控制分析中的一个关键参数,因而应向各级组织汇报。对于不同的项目或同一项目不同阶段或不同管理层次,对偏差的控制程度不一样,制定偏差答应值的方法也不同。由于随着时间的推移风险减少了,因而偏差答应也可降低。超级秘书网

3.3软件项目质量控制

项目管理软件论文篇6

2模型具体步骤划分

通过对模型进行深入分析和研究,并结合软件项目特征,能够确定责任范围,对整个项目进行结构分解,得到WBS集;软件项目的开发需要将用户需求作为核心,进而通过模型进行分解,获得PBS集;最后,要制定与项目开发相关的部署,确保每一个环节都能够顺利进行,保证项目进度,为工作提供依据,通过这种方式,不仅能够确保工作有条不紊进行,还能够有效提高工作质量和效率,从而促进软件开发工作进一步发展。

3模型主要应用流程

WBSR模型在软件项目管理中的应用主要涉及对项目的分解、工作目标的确认及更新。首先,建立工作小组,工作人员作为软件项目管理的核心,其成员综合素质直接影响工作能否顺利进行,基于此,小组成员一般选择项目经济、技术人员等,还可以增加用户代表等,以此来确保软件开发的合理、科学性;其次,工作、产品等结构分解,工作分解作为模式应用的基础,应结合实际情况进行合理分解,切勿盲目性,还需要结合成员经验等因素,为工作顺利开展提供支持;软件产品作为参与市场竞争的关键,分解产品开发,能够深度挖掘员工潜力,提高产品适应力,与客户达成共识;最后,还需要结合实际情况对项目范围进行及时调整,如果范围发生变化,相对应的工作流程也需要进行调整,实现统一、系统发展目标。

4模型应用情况

将软件项目管理与WBSR模式结合,将各个工作进行细致划分,能够为软件计划、预估等工作提供依据,确保工作顺利开展,在一定程度上推动了软件项目进一步发展,与此同时,在项目开展过程中,负责人加大对实际工作的监督和控制力度,能够及时发现不足之处,并采取有针对性措施,确保软件产品开发质量,该模式的应用,能够直观的反映组内成员的实际表现,为日后进行绩效考核奠定了基础,从而有效提高管理水平,促进企业可持续、健康发展。

5模式性能评价

通过对WBSR模式在软件项目管理中应用情况调查可知,模式对工作过程及产品开发从不同角度进行合理分解,提高了项目范围的精准性及有效性,避免工作失误情况的发生,并且将工作细化至每一个人受众,形成良性循环,促使员工能够认真、负责完成工作,起到了积极地促进作用。因此,面对社会发展新形势下,企业软件项目管理可以大力推广和普及WBSR模式,提高产品适应力及质量,从而实现企业经济效益最大化目标。

项目管理软件论文篇7

1.项目前期以及项目准备

在进行任何一项较大的项目时,首先要进行项目的可行性分析和研究,因为这些项目中的问题并不都有明显的解决办法,这样就很难在预定的时间、费用之内解决这些问题,如果这些问题没有可以行得通的解决办法,贸然开始这些项目,就可能导致项目的失败,造成巨大的损失。

1.1可行性分析

软件项目可行性研究的目的是用最小的代价和时间,确定该项目是否能够开发值得开发,其实质是要进行一次简化的、抽象的需求分析和设计过程,主要应从以下几个方面进行分析。

1.1.1技术可行性

对要开发项目的功能,性能和限制条件进行分析,确定在现有的资源条件下技术风险有多大,项目是否能够实现,现有的资源包括硬件、软件资源,现有的技术人员和技术水平,已经有的工作基础等,判断技术上是否可行,主要需要考虑以下几个问题:

(1)开发的风险即在给定条件下能否实现目标的功能和性能;

(2)资源的有效性;

(3)技术的发展性;

由于需求未经过详细的调研,存在模糊性和可能的变化,开发人员进行技术可行性评估时,存在比较大的风险,一旦出现估计的错误,将可能导致灾难性的后果。

1.1.2经济可行性

进行软件开发项目的成本估算以及了解取得的效益估算,确定该项目是否值得开发,对于大多数项目,衡量经济可行性,应考虑一个“底线”,同时应考虑公司的长期经营策略,潜在市场前景等因素。

1.1.3社会可行性

应考虑项目是否存在任何侵权、责任等问题,考虑在现有的制度、法规下是否行得通,包括合同、责任、法律等多种因素。

1.2需求调研

在项目前期工作中,需求调研是其中最重要的一个环节,今后的许多工作都依赖于需求调研的结果,需求调研的过程是渐进的,在可行性分析阶段,主要关注的是项目规模、范围和重点的功能,在项目进入正是开发流程以后,我们需要更加全面、准确地了解系统的需求不重视需求过程的项目队伍将自食其果,需求工程中的缺陷将给项目成功带来极大风险。如:无足够用户参与导致产品无法被接受;用户需求的增加带来过度的耗费和降低产品的质量;模棱两可的需求说明可能导致时间的浪费和返工;用户增加一些不必要的特性和开发人员画蛇添足;过分简略的需求说明以致遗漏某些关键需求;忽略某类用户的需求将导致众多客户的不满;不完善的需求说明使得项目计划和跟踪无法准确进行。

1.3项目团队的组织

建立项目团队是项目开发过程的开始,一切工作都是由项目团队的成员完成的在整个项目的运行过程中,需要很多不同的角色参与到项目中,完成不同阶段的任务。所以在建立项目团队的过程中要把握好人员角色的划分、特别人员管理与激励、监督等。整个人员的管理是项目管理的关键,因为人是活的,而项目是死的,只要人员管理妥当,项目开发一般是不会出什么问题的。

1.4项目开发计划

软件项目的特征之一就是需求的不确定性和开发过程中存在的技术风险,按照通常的方法,制定一个项目的计划应该是先根据项目的需求,进行详细的任务分解找出实现的方法,估计出项目的工作量,再根据项目资源的状况,制定出项目的计划。

但是,再现实的工作中,项目的时间表往往是事先确定的,给开发留出的时间也是事先定好的。而我们能够利用的资源,主要是开发的人力资源,也被事先基本确定了,在被确定的这2个前提条件下,我们如何根据项目的需求,合理地安排人力和时间,完成项目的开发,这是现实中项目经理经常遇到的问题如果事先确定的时间表是相对比较合理的,至少应该是我们够的到的。我们制定的开发计划才是有意义的,否则,按照这个时间表制定出来的计划只能失败的在这种情况下,项目经理唯一可以做的是对用户的需求进行剪裁,去掉某些耗时长而且不太重要的功能,或是在开发中适当降低质量要求,或许可以完成项目的进度。当然这必须最终要得到用户的认可。778论文在线

2.项目开发过程管理

2.1详细设计

在详细设计阶段,由于任务已经详细地分解,总体地解决方案和技术框架已经确立,详细设计地目的就主要是针对某个特定地模块或对象,根据需求,技术框架地要求和模块间接口,描述出我们实现功能的方法,主要内容包括:

(1)内部算法描述;

(2)内部数据组织;

(3)相关接口详细设计;

2.2设计评审

在设计完成后,必须安排设计评审以保证设计的质量,通常设计评审以小组内部的评审会的方式进行,参与人有项目小组内部的人员及其负责人,由开发者介绍其设计思路,其他人了解并对其设计质量进行评审。评审的内容主要包括:

(1)关键算法的可行性;

(2)接口是否符合概要设计的要求;

(3)技术清晰度是否符合设计标准;

(4)文档的完备性;

评审通过的设计,才能够开始编码工作,评审的结果应记录到开发文档当中。

2.3编码

在编码阶段,主要需要在编码工作结束后,进行代码审核,这项工作非常重要主要应该由项目小组的技术负责人完成,审核的目的并不是为了检验代码的正确性而是需要对编码是否按照规范进行审核。主要内容包括:

(1)变量、包、方法等的命名是否符合规则;

(2)注释是否填写完整,是否符合规范;

(3)代码的可读性,编写风格是否符合规范;

(4)是否有明显的造成系统运行低效率的处理方法;

(5)公共变量的定义和使用;

2.4调试

编码工作完成以后,通常需要开发人员自己进行单元测试,有些部分需要编写相应的测试程序。应该避免发生这类的情况,有些开发人员任务自己不应该进行测试工作,在编写完代码以后,只要编译成功,就直接提交成果,将测试工作完全交给测试人员去做,这样做不仅仅给测试人员增加了许多的工作量,同时增加了许多因为交流产生的时间,造成进度的延迟,管理人员应该杜绝程序员的这样的思想,同时在管理中予以考虑,可以将提交成果产生的bug数量作为考核程序员业绩的标准之一。

3.项目后期管理

3.1项目的验收

项目验收,是整个项目生命周期中最后一个环节。一般来说,软件项目的验收一般来说有2个阶段,第一个阶段是验收测试,当验收测试成功结束后,一般会有一个阶段的试运行阶段,只有当2个阶段全部结束后,整个项目才算真正结束,可以收回全部的工程款,该软件也进入其运行维护期。验收测试应按照软件的需求,质量要求进行测试验收,需要甲乙双方共同建立验收小组,或请第三方测试机构进行验收测试,在验收测试之前,开发方应提供一系列的开发设计文档供验收测试使用。

3.2软件维护

编程大师曾说“哪怕程序只有三行长,总有一天你也不得不对它维护。”,很

多软件产品不是一次性的买卖,比如在电信、金融等领域,有些软件系统要用十几年,对软件进行维护是必不可少的,软件公司的经理们没有哪一个喜欢被维护的费用吓一跳,但软件维护的代价通常是高昂的。对软件而言“维护”是个不太直观的术语,因为软件产品在重复使用时不会被磨损,并不需要进行像对车辆或电器那样的维护,软件维护是人们对既丰富多彩又会令人心酸的活动的统称,其中丰富多彩的活动是指那些反映客观世界变化,能使软件系统更加完善的修改和扩充工作,令人心酸的活动是指那些永无休止,并且改了旧错却引起新错让人欲哭无泪的工作。

参考文献:

1.邱菀华沈建明杨爱华等编著现代项目管理导论机械工业出版社

2002年10月

2.美理查德怀特黑德著领导软件开发团队电子工业出版社2002年5月

3.尼尔怀特著管理软件开发项目-通向成功的最佳实践电子工

业出版社2002年4月

4.刘积仁康晓东饶友玲主编软件开发项目管理人民邮电出版社

2002年2月

项目管理软件论文篇8

2项目管理在软件开发中的应用现状

在二十世纪六十年代中期,人们发现了在开发软件过程中存在着很多问题,具体的问题表现在以下两个方面:一方面,不规范的生产过程;另一方面,不重视管理工作。为了能够有效解决软件开发过程中存在的问题,人们开始尝试利用过程管理方法。但是到了二十世纪八十年代,还是没有制定管理软件开发过程相关标准。近几年来,在信息技术快速发展的背景下,人们采取项目管理来控制软件开发的质量、软件开发的成本等,以此确保软件开发的质量和成本等因素,符合当时的既定标准。在软件开发过程中,每一个项目组的不同成员都应该承担不同的任务,并且企业管理者应该要求他们要在规定的时间内完成自身的任务,这种明确分工制度,有助于提高员工的工作效率。

3项目管理在软件开发中的应用

每一个软件开发项目都要经过以下几个阶段:提出问题、研究可行性、分析需求、测试等。因此项目管理工作应该贯穿于软件开发的整个过程。

3.1可行性研究

无法开发哪一个项目,都需要进行可行性分析与研究。通过利用项目管理来研究软件开发项目可行性的目的在于:在最短的时间内确定软件开发项目是否具有开发的价值。其中可行性研究的内容包括:

1)、研究技术的可行性。其主要是指:要合理地分析开发项目的功能与性能,分析其中所隐藏的技术风险。

2)、研究经济的可行性。其主要是指:估计所开发的项目给企业带来的经济效益,然后依据所估算的经济效益,确定该项目是否具有投资的价值。

3)、研究社会的可行性。其主要是指:分析此项目的运行方式是否正确,分析当前的人员技术水平以及管理制度是否具有可行性。

3.2软件项目估算

在软件开发过程中,首先要规划软件开发项目,如此便于项目管理人员制定切合实际的估算方案。规划软件开发项目的内容主要包括:明确软件开发的目标、明确软件开发过程中需要用到的各种资源、明确软件开发的进度等。在软件开发过程中,估算起着非常重要的作用。通过估算可以保证软件项目在规定的时间内完成,也可以确保软件项目的成本未超出预算。在估算资源、成本以及进度的时候,要依据自身丰富的经验以及相关的数据。但是当前所使用的估算方法较为单一,此种估算方法容易增加估算风险。对此,研究人员应该努力研究出更多科学、有效的估算方法。

3.3软件项目开发人员的管理

在开展软件项目开发人员管理工作的时候,首先要合理安排人员。通常情况下,是由多个小组成员共同完成软件开发项目。在具体安排人员任务的时候,要依据每位人员的优势进行,并且要明确小组内每一位成员的工作任务以及工作目标。在软件开发过程中,要确定不同的责任人,比如:项目经理、开发经理,并且为每一个小组安排一名组长,如此有助于确保软件开发项目的顺利完成,同时保证所开发出来的软件属于高质量产品。

项目管理软件论文篇9

常熟边滩整治工程位于长江黄金水道下游段,工程拟新建围堤长度2489m,吹填区面积622509m2,约933.72亩。本工程范围:常熟市经济开发区长江干堤外侧、纵向围堤、A1A2分标线以下、东侧堤以上范围内的岸线整治工程,主要工程项目包括:围堤填筑、堤基处理、围堤护坡、抛石护脚、围堤吹填及龙口等。

1.2工程区施工条件

常熟边滩整治工程工程区所处河段位于长江口南支上段,金泾河与白茆河之间。工程区总长5km,徐六泾水文站位于工程区上游3.8km处,下距杨林潮位站26.2km。南支河段以七丫口为界,分为上、下两段。南支上段之徐六泾至七丫口,长35.5km,其中徐六泾至白茆河口为徐六泾节点段,长12.0km;白茆河口以下为白茆沙汊道段。南支下段自七丫口至吴淞口,全长35.9km。南支河段两岸为广阔的冲积平原,地势平坦,地面高程2~5m。两岸入江支流大小共有23条,入江口门处有涵闸控制。

1.3工程组织管理体系

常熟边滩整治工程组织管理体系中项目领导班子由项目经理部经理、副经理及项目总工程师组成,项目部其他人员由项目经理部聘任。项目经理部实行项目经理负责制,对工程的施工进度、质量和资金等全面负责。项目副经理分管各有关部门与施工工种,项目部工程师负责日常生产和技术管理。项目作业层人员服从项目经理及各职能部门的领导和安排,严格按照施工规范、操作规范进行作业,保质保量完成施工任务。

2P6软件中常熟边滩整治工程项目管理的编码设计

2.1企业级编码介绍

2.1.1企业项目结构EPS(EnterpriseProjectStructure)EPS即企业项目结构,是一种可以根据公司需要分解为不同的层次数的树状结构,它可以满足企业对项目执行情况的报告和工作协调的要求。EPS使组织能够评价资源在各项目上的使用情况。另外对于一些项目相对独立的企业,EPS还能够演绎出项目各阶段的情况。

2.1.2组织分解结构OBS(OrgannizationalBreakdownStructure)

OBS即企业组织分解结构,反映的是企业管理的结构的层次化排列。一个企业,它的管理是什么样的结构,就存在什么样的OBS。像EPS一样,OBS也是一种树形结构。该属性结构反应的是一种自上而下的管理,下级对上级负责,下级向上级汇报工作。OBS与EPS、WBS对应形成了严密的责任矩阵和权限控制体系。

2.1.3资源的编码过程RBS(ResourceBreakdownStructure)

在P6中,资源的建立过程称为RBS的编码过程。RBS即企业资源分解结构。RBS是树状层次结构,最大层次数是25层,它可以只有一个根节点也可以有多个根节点。但RBS只是企业内所有资源一种层次化排列的组合方式,而不是唯一方式。

2.1.4费用分解结构CBS(CostBreakdownStructure)

CBS即费用分解结构,是根据企业特定的财务流程或成本控制要求而设定的代码体系,它可以用来跟踪作业所发生费用。CBS是项目的费用管理的一种方式。因此,可以根据项目概算控制或企业财务上的要求来进行设置。根据费用的管理与控制在不同部门的统计口径与标准的不同,在P6的费用管理中,一般可以使用两种方式:一个是EPS/WBS层次;另一个是CBS层次。

2.2堤防工程项目管理的项目级编码设计

P6软件企业级编码是从企业全局的角度对企业的组织机构、资源、费用等方面进行编码设计,体现的是宏观性,而P6软件项目级的编码则主要从具体工程项目角度对工程的组织和分类情况进行编译。工作的分解结构,又称WBS,是一种按阶段逐步分解的层次化结构编码,它能够组织定义所有项目的工作范围。WBS也是在实施期间需要完成的最终细目作业,这些细目作业一同构成了整个项目的管理范围。

3P6软件在堤防工程项目管理的应用流程

常熟边滩整治工程的项目管理流程主要是对项目计划中涉及的进度、费用投入、资源等内容进行及时的追踪更新,采取动态调整的思路。

3.1制定目标计划

在堤防工程建设项目管理过程中,最优状态是进度按照原计划执行,这样的资金、进度、人员、物质等的安排是最优的。但是往往由于各种原因,并不能保证实际进展情况按计划执行,因此需要不断对当前计划进行调整,不断对比分析进度实际情况,及时纠正和控制产生的偏差,才能保证总的进度计划目标得以实现。在P6软件中,当完成项目计划的编制后,如果计划在时间、费用和资源分配等方面都符合合同的要求和工程实际,就可以将这一计划作为目标计划保存起来。目标计划就成为了当前项目计划的一个“快照”,是进行费用、资源控制、进度管理的基础。在P6中,可以为每个项目创建并保存任意多个目标项目;并且在同一时刻能将当前项目与一个项目目标计划和多个用户分配的目标项目进行比较。每个目标可以分配一种类型,在管理类别中进行定义。

3.2项目计划实施情况跟踪与记录

对于堤防工程,项目开始运行后及时地更新进度是非常重要的。因为在项目的实施过程中,可能发生工期变更的情况,项目初期所编制的计划已不能很好地指导现场进度安排和资源调配。所以必须及时对项目计划更新,通过与目标横道图对比,不断调整和优化计划,对项目进展情况进行评价,才能达到真正意义上的动态管理。

3.3项目执行状况分析

实施过程中对项目状况的评价与分析非常重要。将当前项目的进度、费用支出以及资源使用与原目标项目做对比分析,能够及时发现相关问题并合理适当地解决问题。

3.3.1项目进度分析

及时地将目标计划进展和项目实际进度进行对比,可以及早发现计划的完工节点或里程碑是否完成。P6软件中常用横道图比较法来进行进度目标的对比分析,提供了实际施工进度与目标计划进度之间的偏差,具有形象直观、容易掌握、应用方便的优点。

3.3.2项目费用产生分析

采取“作业使用直方图”对费用情况进行对比,可以得到当前实际的费用使用情况。若资金的使用与完成出现不合理的情况,可以就该问题进行分析,发现产生问题的原因,做出相应评价。

3.3.3项目资源分析

使用“资源直方图”来反映项目的资源利用情况,可以了解资源实际的投入情况和将来需要投入的情况。

3.4项目计划的动态调整

项目计划控制是一个动态过程。当产生偏差时,项目管理人员应当首先分析偏差原因,正确决策,及时采取措施,调整计划,使实际和计划重新在新的起点上重合。在新的因素干扰下,还可能产生新的偏差,这时又需要继续按上述方法进行调整,进度控制就是这样一个动态循环的过程。P6软件为项目的实际执行情况和目标计划提供了对比分析的方法,具体的调整措施还要根据工程实际情况具体分析。常熟边滩整治工程曾出现多次进度偏差,因此也进行过多次进度计划的调整。总的来讲,该工程的进度计划调整主要用到过两个方法:一个是改变相关作业间的逻辑关系;另一个是缩短一些作业的持续时间。事实证明,这两种方法均具有较好的调整效果。

4实施效果分析

P6软件在常熟边滩整治工程项目管理中应用,帮助管理人员合理地划分了项目管理层次,对项目的编制计划和进度更新流程进行了研究,对项目的企业级编码、项目级编码进行了明确,并利用P6软件也客观地编制了项目目标计划,以及根据实际情况做了及时地更新。此外,还对项目的进度、费用和资源等内容进行了分析归纳。总的来讲,P6软件在常熟边滩整治工程项目中的应用所取得的效果可概括如下:

1)基本实现了项目进度计划的实时更新和动态监控

项目施工实际进度的更新依赖于从下到上逐层反馈实际信息。在项目实施过程中,管理人员利用P6软件能够随时掌握施工详图、文件、进度以及资料等信息,以便于做出相关对策。此外当工程进度发现提前、偏差等问题时,能够马上产生相应信息,以供高层管理者决策,保证项目按原计划实施,除此之外,P6软件还可以准确地对项目整个费用进行预测。

项目管理软件论文篇10

软件行业在现在的众多行业里是一个极具挑战性和创造性的行业,体现了软件开发者的智慧和汗水,同时软件开发是一项复杂的系统工程。牵涉到许多方面的因素,在实际工作中,经常会出现各种各样的问题,甚至会面临失败。如何总结、分析失败的原因。得出有益的教训,对于项目开发人员来说,是在今后的项目中取得成功的关键。

一、软件开发中实行项目管理的意义

项目管理就是在项目活动中运用一系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求,实际上就是通过项目各方干系人的合作,把各种资源应用于项目,以实现项目的目标,满足项目干系人的需求,其本质就是对时间、质量和成本的管理。

随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,项目开发的管理日益受到重视。

二、目前在软件项目管理中存在的误区

现在大多数企业都认识到了在项目中进行管理的重要性,但是仍然有许多企业在实施项目管理的过程中存在着这样那样的误区,主要表现在:

1项目经理不够专业。在软件企业中,缺乏专业的项目管理人员来实施项目管理及担任项目经理,通常被任命的项目经理主要是因为他们能够在技术上独当一面,但是他们在管理方面特别是项目管理方面的知识比较缺乏。

2项目计划缺乏纲领性。项目经理对总体计划、阶段计划的作用认识不足,因此制定总体计划时比较随意,不少事情没有仔细考虑:阶段计划因工作忙等理由经常拖延,造成计划与控制管理脱节,无法进行有效的进度控制管理。

3缺乏有效的管理意识。部分项目经理不能从总体上把握整个项目,而是埋头于具体的技术工作,造成项目组成人员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。有些项目经理没有很好的管理方法,不好安排的工作只好自己做,使项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。

4缺乏有效的沟通制度和机制。在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术问题或成果等方面与相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失:有些人没有每天定时收邮件的习惯,以至于无法及时接收最新的信息。

5风险管理意识淡泊。有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的对策,对于后面的风险防范起不到什么指导作用。

6项目干系人的不确定性。在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、工作职责等没有足够了解以至于无法得到完整需求或最终经权威用户代表确认的需求:或者是多个用户代表各说各话、昨是今非,但同时又要求项目尽早交付:项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。

7缺乏项目团队的合理分工。项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任分工不够清晰而造成工作互相推诿、责任互相推卸的现象;有时各阶段不同角色或同阶段不同角色之间的责任分工比较清晰,但是各项目成员只顾完成自己那部分任务,不愿意与他人协作。这些现象都将造成项目组内部资源的损耗,从而影响项目进展。三、解决软件项目管理中存在的误区的有效策略

要想解决上面描述的误区,归根到底还是要从管理学的角度入手,即在软件项目的开发过程中加入过程管理的内容,这样我们可以在软件开发中对各个过程的质量加以控制,从而达到保证软件产品质量的目的。为了有效提高管理水平,我们应该努力做到:

1项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识与实践,再加上项目管理知识与实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。

2计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。

3加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,特别是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。

4制定有效的沟通制度和沟通机制,提高沟通意识:采取多种沟通方式,提高沟通的有效性。通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于特别重要的内容要采用多种方式进行有效沟通以确保传达到位,例如:除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。

5通过学习项目管理知识掌握风险识别、量化、对策研究、反应控制的工具和方法,掌握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其对策作为风险管理计划中必要的风险内容,并切实评估相应对策的有效性和可行性。

项目管理软件论文篇11

 

项目管理是20世纪40年代以后迅速发展起来的一门科学, 是现代管理学中的一个重要分支。随着项目管理理论、方法的发展,其应用范畴和概念不断拓展, 从最初应用在国防、航天、建筑等领域迅速发展到电子、通讯、计算机、软件开发、金融等行业。软件工程学提出将项目管理运用于软件生产领域,软件开发成为有组织、工程化的行为。随着近年来软件行业的迅速发展,软件规模急速扩大,对专业化管理人员的需求越来越大。在智联招聘和51job上搜索软件项目管理职位,各有8千多个工作岗位,这说明软件项目管理岗位越来越受到重视,相关人才缺口较大。

 

华中师范大学计算机学院从2008年以来开设软件项目管理课程作为计算机科学与技术专业的专业选修课,每次选课都满班。于2009和2010 年开设软件工程与项目管理的全校通选课程,旨在为学校其他专业对软件开发感兴趣的同学提供平台,每次课虽然选课人数在30人左右,人数不多,但学生反响很好,特别是认为项目管理的知识不仅仅能用于专业领域,在生活中组织春游、安排班级比赛等都能用到,实用性非常强。计算机学院于2011年增设本科软件工程专业,一直把软件项目管理作为专业必修课。笔者从2008年开始讲授本门课程,对课程的教学和实践有一定体会。

 

2软件项目管理课程的课程实验设计

 

软件项目管理课程内容既有很强的理论知识,又有综合实践要求,是一门比较难学的课程。很多学生认为软件项目管理课程是一门理论为主的课程,不像程序设计语言课程那样重视实验和练习。但是该课程实际上理论与实践并重,固然有很多理论知识需要学习,但如果不在实践中体会,不会使用一些项目管理工具,也达不到学习效果。

 

另外项目管理的工具很多,多数不仅仅可以用于软件项目管理,也可以用于很多其它类型的项目管理,对于课堂实验来说,选择什么样的工具,如何验收实验都需要很好地设计。

 

2.1课堂实验工具的选择

 

因为软件项目管理涉及的知识范围很广,一种软件项目管理工具通常只能用于软件项目管理的一个或几个知识领域,教师需要选择哪些知识需要使用工具练习。通常软件项目管理的主要知识领域包括范围管理、时间管理、成本管理和质量管理,另外也可以考虑配置管理、沟通管理等方面的工具。

 

另一方面,软件项目管理工具有很多免费的,但是大型的主流的工具还是收费,而且很贵。现在多数学校实验经费非常紧张,主要用于硬件购置,教师需要尽量使用免费工具,对收费工具的选择要综合考虑其能否找到试用版本,试用条件如何、是否容易安装和配置等等问题。

 

笔者认为选择的项目管理工具应该具备以下几个基本功能。

 

2.1.1需求管理:项目的需求变更,跟踪,控制。

 

2.1.2资源管理:项目的可利用资源的管理,包括人力、物力、财力等资源。

 

2.1.3计划管理:包括成员管理和权限分配、日程排定、工作时间管理、里程碑设置等。

 

2.1.4进度管理:制定日历、工作流、项目路线图和Gantt图。

 

2.1.5文档管理:文档文件、存储文件、集成SVN代码管理。

 

2.1.6信息管理: 具有制定活动统计报表、项目报表的导入和导出、团队交流、信息筛选等功能。

 

笔者选择了几个满足以上功能、容易获得和使用、在业内比较通用的软件项目管理工具作为课堂实验内容。

 

Microsoft Project:软件具有制定工作计划、进度管理、资源管理、跟踪进度、管理预算和分析工作量等功能。该软件因为微软的成功推广,使用非常广泛,工具适用于所有项目的管理,据统计约有70%的项目使用该工具。作为微软Office办公软件中的一员,Project界面与微软其他产品很相似,非常容易使用,也很容易和Office中的其他办公软件整合。工具的获取和安装都很容易,有试用版本。

 

Project的缺点是它不是专门用于软件项目管理的工具,不支持软件项目中的立项与结项、需求管理、质量管理、软件配置管理等重要管理工作,也不能同时处理多个项目。

 

禅道:禅道项目管理软件是国产项目管理软件的代表,是一款开源的产品,可以在官网http://zentao.net免费下载。软件比较符合中国用户的习惯,在国内中小企业有较高的使用率。软件集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,功能比较完备,适合中小型项目。软件可以直接基于浏览器使用,不需要安装部署,界面简单,流程清楚,比较容易使用。软件有简单的需求管理功能,能在需求、任务、bug、用例和to do之间建立联系,能跟踪需求的实现情况。

 

但是软件的开源版本不提供甘特图、看板、工作日志等功能,需要购买专业版。软件的需求管理比较简单,不能和Word文档关联,不能从Word文档中直接读入需求。

 

Rational Doors:是IBM旗下非常著名的需求管理工具,能捕获、跟踪、分析和管理需求,功能非常强大,并能方便地与其他Rational工具集成,在很多大型软件公司使用[4]。Rational Doors能与Word同步,自动将Word文档中的需求抽取到Rational Doors的视图中。软件提供Web界面,方便团队交流,提高工作效率。软件还能与著名的配置管理工具Rational Clear Quest紧密集成,显示需求变更;与Rational Rose集成,将需求与UML模型关联,更准确地表达需求的定义。

 

但是它功能复杂、安装部署复杂,需要安装服务器端和客户端,还需要安装专门的数据库,使用也有难度。作为专业级开发工具它的价格比较贵,试用版只有3个月试用期。但是需求管理工具基本没有免费软件,有条件的学校可以选择该软件弥补其他项目管理软件中缺少需求管理功能的问题。

 

Visual Source Safe:简称VSS,是微软公司开发的一款版本和配置管理工具,并能提供安全保护、跟踪检查功能和版本比较的功能[5]。配置管理记录软件产品的演化过程,最终保证软件产品的完整性、一致性、追朔性、可控性[6],在项目管理中非常重要。配置管理的工具很多,常用的有开源工具Concurrent Version System、IBM的Rational Clear Quest等。VSS使用很广,是Visual Studio的套件之一,在Visual Studio中集成使用非常方便。工具具有微软产品的界面统一、安装方便、使用比较简单、获取容易的特点。

 

但是VSS只能在Windows系统下运行,不能跨平台运行。因为VSS是通过共享目录方式存储文件的,它只适合于局域网内的用户,不适合于通过Internet连接的用户,并且安全性不高。VSS的工作方式决定文件只不能由多个用户同时修改,工作效率比较低,只适合小团队开发。

 

2.2课堂实验设计

 

选定合适的工具后,在实验课程中要求每个学生选择自己熟悉的项目,运用几种工具分别完成工作分解、进度管理、配置管理、需求管理等工作, 具体实验内容见表1。

 

表1实验内容表

 

实验名称 实验目的 实验工具 学时

 

项目进度计划管理 合理地分解项目,制定项目计划并形成甘特图;分配和管理项目资源,跟踪资源使用情况;跟踪进度,监控项目成本。 Microsoft Project 4

 

项目计划、文档和沟通管理 合理地划分任务和制定计划;管理和监控项目文档;完成简单的需求跟踪;搭建项目沟通平台。 禅道 2

 

项目需求管理 需求文档分析和需求抽取;需求和团队沟通;需求变更管理。 Rational Doors 4

 

项目配置管理 合理地建立和使用配置项;跟踪版本变更;代码比较。 Visual Source Safe 2

 

学生能通过实验理解企业的项目管理流程,熟悉企业常用的项目管理工具,既能进一步理解项目管理的理论知识,也提高了实际应用能力。

 

3结语

 

项目管理软件论文篇12

中图分类号:G642 文献标识码:B

文章编号:1672-5913 (2007) 22-0090-04

1引言

未来5年,中国软件从业人员将从目前的90万人增加到250万人左右,有望推动我国IT产业的更加快速发展。然而,我国IT行业在迅速发展的同时,也面临着一些挑战。

1.1软件企业现状

随着计算软件规模和复制度的增加,我国的软件企业正在从“手工作坊式”向“软件工厂式”转变。许多中小型软件企业的管理模式十分退后,面临着很大的挑战,它们要么成功转型,要么在竞争中被淘汰。而转型成功的关键是能否形成一个合理的软件项目管理模式。根据文献[0]的论述,我国项目管理发展滞后的一个重要原因就是缺乏合格的项目管理人才。可以预见到,我国软件企业对项目管理人才的需求将会急剧增加。

1.2软件人才现状

在近几年内,尽管中国软件从业人员将会大大增加,但是中国软件人才目前仍然处于两头小、中间大的不合理人才梯队结构[0],即中端人才过剩,高端和低端人才缺乏。从目前国内的软件高端人才数量现状与软件业较先进的国家相比,未来五年,国内软件业高端人才至少缺口20万人[0]。而且目前国内的软件高端人才中却普遍存在着“重技术轻管理”和“管理缺乏规范性”等问题,执行软件项目管理的能力不强。这更加重了软件企业对项目管理人才的需求。

1.3软件项目管理人才培养的现状

在软件企业对项目管理人才的需求不断升温的情况下,社会上出现了许多软件项目管理的培训机构。虽然这类培训一般都是费用高、时间短,很难达到预期效果,但是因为项目管理人才供不应求,这类培训仍然很有市场。

然而这类“救火式”的培养只能算是临阵磨枪。因为培训时间短,学生除了完成一些案例分析之外,很少有实践的机会,换句话说,学生在培训过程中主要获得了项目管理的理论知识。随着时代的发展,项目管理的理论不能固定不变,况且项目管理课程的历史较短,其底层理论尚未定型。文献[0]详细论证后指出,项目管理底层理论已显得陈旧,需要更加广泛和强大的理论作为支持。可见,在这种情况下,软件项目管理的培训不应只以理论为主,而需要伴以更多的实践内容。

在我国软件企业对项目管理人才的需求不断升温的情况下,软件项目管理人才的培养不能依赖于社会上的培训机构,各高校应增加投入,承担起软件项目管理人才的培养,这样才能在数量和质量上都满足新形势下我国对软件人才的需求。

在各高校中开设“软件项目管理”课程至今已经五年多了,其教学模式一直在不断完善。软件项目管理课程与程序设计、算法分析、数据库设计等其他软件类课程的一个重大区别在于学生的实践机会很少。没有参与到一个软件项目中而去谈软件项目管理的实践,这显然是不现实的。然而,学生在工作之前很难有机会参与软件项目,要体验规范的软件项目管理就更加不可能。所以,为“软件项目管理”课程增置相应的课程实践是非常必要的。

1.4相关研究以及本方案的特点

文献[0]提出了一种较为完整的软件项目管理培养方案,内容包括了教学与实践,但是实践的比重偏低。文献[0]则提出了一种让学生在虚拟的项目中锻炼实践能力的新构想,并对实践效果做了简要分析,但是并没提及项目的来源和去向,以及项目的难度问题。本文延续了笔者在文献[0]中提出的“开源教学”思想,补充了文献[0]中未提及的内容,强调Learning by Doing的模式[0],提出了一种新的“软件项目管理”课程实践方案,包含了情景演练和项目实践这两大重要内容,可以与文献[0]的培养方案结合,形成一套更加完整的,符合我国新形势要求的“软件项目管理”培养方案。

2实践方案概述

2.1培养目标

作为软件项目管理课程的一部分,本实践方案的目标与整个课程的培养目标保持一致,即培养学生对项目管理和控制能力,而在实际培养过程中,则体现为培养学生的协同开发能力、学习能力、沟通能力、表达能力和领导能力,使其具有开阔视野,合作、创新的精神[0](如图1所示)。事实上,这五方面能力也必须在实践过程中才能得到真正的锻炼。

2.2培养模式

本实践方案强调Learning by Doing的模式。这种模式最早是由美国卡奈基・梅隆大学提出的,目的在于培养工科学生实践能力[0]。“Learning by Doing”的意思就是从在做的过程中学习。学生通过自己动手实践,获得对客观知识的最直接认识,再经过归纳和总结,形成自己的知识,从而完成整个学习过程。这种模式将彻底改变过去“填鸭式”的教学,让学生处于教学的中心地位。

文献[0]提出了将Learning by Doing的模式应用于软件项目管理的教学的一种方式。他们通过软件模拟了现实的软件项目管理的情景,为学生提供了方便易用、仿真度高的实践平台。学生可以通过类似于游戏的方式来体验软件项目管理,能够尝试各种不同的决策以验证自己的想法。事实证明,他们以这种方式成功地将Learning by Doing的模式应用于软件项目管理课程。

3课程实践内容

3.1情景演练

情景演练是设置于课程实践前期的实践内容,由老师或助教虚拟一个项目管理过程中的情景,将学生置身于情景之中,锻炼学生解决实际问题的能力。

情景的设计

这种虚拟情景并非纯属虚构,而是由任课老师或助教根据实际的软件项目管理案例而设计的。此外,还应向学生提供一个较为清晰的项目背景,以及情景的上下文,争取让学生“身临其境”。情景演练的内容则贯穿软件项目管理的五个过程组和九大知识领域,可以为学生提供软件项目管理中可能遇到的各种实际问题。

演练的方式

学生以小组为单位进行情景演练,每个组员扮演情景中的一个角色并完成其特殊的工作。必要情况下,需要老师或助教扮演辅助角色。演练的时间视具体情景而定,演练一个项目的收尾也许只要一两天,而演练一次项目计划的时间则至少数倍与前者。演练完成之后,学生将向上台报告演练结果,并听取老师的点评和同学的意见。

在多次情景演练中,学生可以扮演不同的角色,体验项目管理中的不同工作,能够更好的认识自己的长处和不足,确定下一步的学习重点。

情景演练可以让学生“身临其境”地体验到项目管理中所遇到的各种问题,仿真度高于案例分析,是下一步项目实践的必要基础。

3.2项目实践

相对于先前的情景演练,项目实践更加“真刀真枪”。在项目实践中,学生仍然以组为单位进行实践,通过团队协作完成一个软件项目。

实践的形式

在整个项目实践中,任课老师或助教扮演项目的甲方,而学生团队则为乙方,乙方按照甲方的需求完成一个实践项目。此外,任课老师或助教仍然会在适当的时候给予学生必要的指导。

当一个学生团队接选定一个项目之后,他们自发地选择其中一位成员作为项目经理,然后由项目经理主持完成系统分析员、开发人员、测试人员等职位的任命。任命的过程需要参考学生在情景演练中表现,争取让每个学生才能展现自己的特点。接下来,学生团队就可以在项目的五大过程中发挥他们所学的九大领域的知识,利用他们在案例分析和情景演练中积累的初步经验来解决项目实践中遇到的各种问题。

在实践过程中,学生依然可以更换角色。有的学生可能会在项目的不同阶段扮演不同的角色,承担不同的任务;有的重要角色(如,项目经理)可能会实行“轮岗”机制,让更多学生有机会体验该角色的工作。

项目收尾之后,老师将组织一个报告会,让每个团队介绍自己的工作情况,分享经验与教训,讨论项目管理中问题的解决办法。这个经验交流会使得整个项目实践得以升华,是学生的一次宝贵经历,即便是对于软件企业中的项目经理,这种经验交流也是十分难得的。

项目的来源与去向

项目的选题是项目实践中比较重要的问题。首先,所选项目必须贴近实战,这就要求不能凭空想象一个没有实际需求的项目,因为这会导致项目的范围难以界定。最好就是任课老师正在负责某个项目,可以将其中的子项目交给学生实践。但是这样做风险较大,项目经理不便由学生来担任,而且项目的时间、规模和难度也不一定适合。

笔者认为比较理想的项目来源是开源社区,上面有大量的开源项目,而且资料齐全,有足够大的选择空间,学生可以很容易地找到时间、规模和难度都适中的项目。

还有另一种情况则是学生本身有了很好的构想,希望开发某种软件,只是有待实现。这时也可以作为一个实践项目。最后如果实现了这种新的软件,何不将其开源,从而将好的构想发扬光大呢?笔者提倡从开源社区获得实践项目,并把项目实践的成果贡献给开源社区。

3.3开源教学

笔者在文献[0]中首次提出了“开源教学”的想法,而在本软件项目管理实践方案中,“开源教学”的思想可以得到较好的体现。

当前IT行业中有许多非常成功的软件都是由开源软件发展过来;有许多软件为了得到更好的发展,也都纷纷加入到开源社区之中,使得开源社区迅速成为一个巨大的免费软件项目宝库。在国外,开源社区的一大主力就是大学生。大批的学生本着学习和交流的目的在开源项目中工作,不仅自身能力得到了很好的锻炼,还可以为后人留下宝贵的软件财富。当前国外的开源社区不但带动了软件产业的发展,同时还培养了大量优秀的软件人才,可谓一举两得。然而国内的开源软件起步较晚,发展较慢,急需大量的高校学生投身开源事业。

本文软件项目管理实践方案的项目实践部分提倡从开源社区中选题的一个重要目的就是引导学生参加开源项目,加快我国开源事业的发展。

在软件项目管理课程实践引入“开源教学”的优势主要有:

(1) 开源社区为学生提供了极大的选题空间。国内外的开源社区中都有大量的软件项目,学生可以很容易地加入到开源项目中去,选择最合适的项目作为实践。

(2) 有齐全的技术资料和强大的技术支持。只要加入到开源项目,学生就可以获得详尽的项目文档,并且可以方便地与其他开发者交流,共同解决问题。

(3) 提供一个展示作品的平台。学生团队完成了自己得意佳作之后,完全可以将其贡献到开源社区,让更多人了解自己的作品,以可以让其他人共同参与完善这个作品。

(4) 壮大国内开源社区,带动软件产业发展,同时培养高素质的软件人才。

在课程实践效果分析中将会给出开源项目实践与一般项目实践的对比。

4课程实践的考核与评价

考核与评价是本软件项目管理实践方案的一个重要环节,它一方面能够起到督促作用,激励学生认真完成课程实践;但更重要的是考核与评价机制可以帮助学生认识自己的学习的效果,发现自己在软件项目管理中的长处与不足,对将来运用软件项目管理的知识或在软件项目管理领域深造都有重要的参考价值。

本课程实践的考核与评价并非在实践结束之后进行,而是贯穿整个软件项目管理的实践过程。从课程实践开始,老师就对学生的表现进行记录、考核和评价,直到学生完成所有的实践内容。整个考核与评价过程主要分为三个部分:情景演练的考核、项目实践过程的考核和项目实践结果的考核。三个部分的比例如图2所示。

1. 情景演练的考核

情景演练中考核学生在特定场景中对各种实际问题的处理能力。由于每个学生可以经历多种情景,对学生的能力的考核比较全面。这个阶段的评价占学生实践总成绩的25%,在下一阶段确定学生在项目实践中职务的时候,这个评价也起到关键作用。

2. 项目实践过程的考核

在项目实践过程中,学生的每一项活动都会被记录,作为考核和评价的依据。如果说情景演练侧重于在多个“点”上考核学生的能力,那么项目实践过程则是在多个活动主线上考核学生。相对于情景演练,这种考核更加全面和有参考价值,占学生实践总成绩的55%。

3. 项目实践结果的考核

在项目实践的最后有一个项目报告会,学生以团队为单位汇报项目实践的结果,并分享经验和教训。学生在报告会中的表现在一定程度上反映其在实践过程中收获,这部分考核占学生实践总成绩的20%。

5课程实践效果分析

我们在计算机专业本科的一个班中实验了这种软件项目管理课程实践方案,将学生分为三组,每组10人。其中A和B两组的实践项目来自开源社区,而C组则选择实验室中的实际项目作为对照。

在选题过程中,因为开源社区中项目资料丰富,A组和B组的学生表现出浓厚的兴趣;而C组只能在实验室范围内选题,可选范围比较小。

另外,C组实践的项目是真实项目的子项目,关系到整个项目的顺利进行,所以C组项目经理的决策需要经老师或助教的批准,受到较多的约束,锻炼机会较少。

而从项目的结果上看,C组的项目完成效果较好,A组和B组项目则是基本达标。课程实践结束后,三组的学生均表示希望在所做的项目中做更进一步的研究,但C组因为实验室项目的保密因素,不能在原基础上进行研究。而A组和B组则可能会将实践的成果重新贡献到开源社区,让更多人参与该项目。

总体来说,参加课程实践的学生都表现出较高的积极性,部分学生能够较恰当地运用软件项目管理课程中的知识。开源教学对于提高学生的积极性起到了重要作用,虽然选择开源项目的组实践结果稍差,但是在实践过程中更加自由,更能够锻炼学生的实践能力。

6结束语

软件项目管理人才的培养关系到我国新形势下的软件产业发展,各高校应该承担起培养高素质软件项目管理人才的责任。而培养关键在于理论和实践的结合,尤其实践能力的培养,高校应重视这个被长期忽视的问题。本文介绍的软件项目管理实践方案坚持Learning by Doing的教学模式,以开源教学为手段,是课程实践模式的一次新的探索。

参考文献

[1] 徐庆艳.我国项目管理滞后的原因及发展途径[J].集团经济研究,2005,(5).

[2] 中国软件中端人才过剩,高端人才缺口20万[EB]. 搜狐教育./20070709/n250962964.shtml 2007-07-09

[3] 泽琳,李红,杜卿. 软件产业人才需求与软件人才培养[J]. 计算机教育,2005,(8).

[4] 刘发贵,李育成. 论计算机专业学生软件项目管理能力的培养[J]. 计算机教育,2005,(8).

[5] 实战模拟的“软件项目管理”课程实践与考核[j]. 计算机教育,2007,(3).

[6] MVarcio de O. Barros, Alexandre R. Dantas, Gustavo O. Veronese, and Claudia M. L.Werner. Model-driven game development-experience and model enhancements in software project management education, Softw. Process Improve. Pract. 2006; 11: 411-421.

[7] Learning by Doing. west.cmu.edu

[8] Koskela, L. and Howell, G.. The Underlying Theory of Project Management is Obsolote. Proceedings of the PMI Research Conference, 2002:293-302.

作者简介

刘发贵,华南理工大学计算机学院计算机软件工程系系主任、计算机技术中心副主任。教授,硕士生导师。

地址:广州五山路381号华南理工大学510640