项目管理软件论文项目管理软件在实战中的应用学号:考核号:姓名:教师:作者:杨磊吉林工程师范技术学院吉林省长春市摘要:项目管理软件的实质就是软件项目计划的编制和软件项目计划的跟踪控制,这里计划是项目成功实施的指南和跟踪控制依据,而跟踪控制又保证项目计划的成功执行。本文以实力具体分析在软件开发过程中如何进行软件项目管理。关键词:软件项目管理前言随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。在软件项目中有两条非常重要的线索,一条是软件项目开发过程,另外一条是软件项目管理过程。通常,人们容易注意软件项目开发过程,而忽略软件项目管理过程的线索。事实上,后者很重要,有时其重要性甚至超过项目开发过程。项目管理可以让一个项目获得高额的盈利也可以让一个项目损失惨重,而编码的影响力则相对小一些、。现实中由于出色的项目管理,将已经亏损很严重的项目又重新扭亏为盈的例子并不少见。项目管理在生活中的例子很多。例如进行一次商品采购,你会在一张纸上记录所有需要购买的东西(即采购清单),这个采购清单帮助你不要遗漏采购项,你可以采用“完成一个采购项,在采购清单上打一个勾”的方法协助你完成采购。与此类似,软件项目管理也是如何管理好软件项目的内容、花费的时间(进度)以及花费的代价(规模成本)。为此需要制定一个好的项目计划,然后控制好这个计划。编制软件项目计划、跟踪控制软件项目计划这就是软件项目管理的实质。其中,计划是项目成功实施的指南和跟踪控制的依据,而跟踪控制是项目计划成功执行的保证。一、确定软件项目开发的策略项目经理的首要任务是编制项目计划。项目计划有三大核心目标:确定项目范围、项目预算、项目进度,即明确项目做什么、花多少钱、需要多长时间。为了制定一个合理有效的计划,项目经理需要从项目需求开始确定项目范围,然后将项目的需求进行分解,以便于估算、安排资源和合理的进度等。这样就形成了三个核心计划:范围计划、成本计划和进度计划。此外,作为完整的项目计划,质量计划、风险计划、沟通计划等同样也必不可少。没有质量管理的项目是失败的项目,没有风险管理的项目会时时处于风险之中,没有沟通的项目是很难完成的。项目规划从合同阶段就开始了,其实任何一个合同的主要内容也是确定项目的范围、时间和成本。软件项目最终的的结果是根据用户的需求提交一个用户满意的产品,这是一个从无到有的过程。因此计划首先应该确定项目开发的策略,即项目的生存期模型。瀑布、V、原型、螺旋、渐进式阶段提交等模型是集中常见的生存期模型,渐进式阶段提交模型体现了软件项目渐进性的特点,同时,分阶段提交项目结果,也有利于软件项目开发。RUP(Rational的同一过程)提及的软件项目生存期模型就是一种渐进式阶段的提交模型。如果项目周期不是很长,可以不分阶段提交结果,而只是分阶段开发,这样渐进式阶段提交模型就演化为增量模型。尽管分阶段实施项目是比较理想的项目管理模型。假如项目不大,就没有必要分阶段提交一个执行系统,因此,可以采用增量的模型。生存期模型中可以定义软件开发中采用的过程、程序,如果过程定义得很明确,或者过程定义的操作性很强,那么作为工厂化的软件开发就会很顺利,项目管理的过程也会很顺利,所以在软件项目中的这两条线索也是相辅相成的。二、制定项目核心计划项目的核心核心计划是范围、时间、成本的确定,这三方面并不是截然分开的,而在项目计划的制定过程中相互交织。确定项目范围要从需求入手,将一个项目分解为更多的工作项目或者子项目,使项目变得更小、更易管理、更易操作。目的是为了提高估算(成本、时间和资源)的准确性,使工作便的更易操作,责任分工更加明确。任务分解的结果是WBS(WorkBreakdownStructure)。只有在WBS中的工作才属于该项目的工作范围。任务分解之后,可以根据分解的结果,估算任务的规模、成本,同时可以根据分解的结果进一步分解详细的项目活动,以便安排任务之间关联关系,估算每个任务的工期,然后进一步估算项目总的工期。项目的规模和进度估算有一定的关系。进度的估算是从时间的角度对项目进行规划,而成本估算则是从费用的角度对项目进行规划。类比估算法、参数模型估算法、自下而上估算法等都是规模成本估算的方法,而经验导出模型、工程评价技术(PERT,ProgramEvaluationandReviewTechnique)、关键路径法(CPM,,CriticalPathMethod)等都是进度估算的方法。在项目的进行过程中,可能要不断重复进行估算,以减少估算的误差。在项目的不同阶段可以采用不同的估算方法,开始可能很粗糙,随着项目的进展会逐步精确。在安排项目进度的时候,可以根据WBS的分解情况,继续分解相应的活动(任务),分析确定各个活动之间的顺序关系,画出任务的网络图(例如PDM网络图或者ADM网络图)。图中的每一项任务必须有一个前驱和后继,除了项目中的第一项和最后一项任务。确定关键路径在哪里、哪些任务还有变化,然后结合资源、成本等情况,再不断进行资源调整优化以及工期、活动关系的调整等。计划调整的过程虽然很费时费力,但也是一个关键的过程,要经过多次调整、修改、评审讨论等,最后才能确定一个计划,将此计划存为基准计划。这个基准计划可以存入项目管理系统中,例如MSProject。通过这个基准计划可以确定项目的范围即项目所有的任务,还可以确定项目的时间进度表,这个计划也确定了各个任务的资源(人力资源、物力资源等),当然项目的成本就可确定下来。以《沈阳师范大学校级学生组织信息管理系统》为例,根据项目WBS的分解情况,急需分解相应的活动(任务),然后确定各个活动之间的关系,系统的功能采用增量方式实现,实施阶段分6个增量,对各个任务(活动)分配相应的资源,经过多次的活动调整以缩短工期,多次的资源调配以解决资源冲突和减少成本,最终形成了基准计划。三、制定辅助计划1.质量保证计划质量保证的主要活动包括过程评审和产品审计。过程评审和产品审计的目的是为了确保在项目进展过程的各个阶段和各个方面采取各项措施来保证和提高产品质量。产品审计产品审计由质量保证人员来进行,检查项目产品是否达到质量目标。质量保证人员对项目生存期中创建的工作产品可以有选择性的进行审计,以验证是否符合适当的标准,是否进行了质量检查。过程评审过程评审时检查项目是否严格按照组织定义的软件过程进行开发,过程评审的具体依据可以参照企业的过程规范,以保证项目中的所有过程活动都在实施范围内。在每次评审之后,要对评审结果做出明确地决策并形成评审记录。评审可采取文件传阅、评审会等形式。这里质量保证人员负责对项目过程进行监督,发现的问题和解决情况在每周的例会上通报,对没有解决的问题进行讨论,对不能解决的问题提交高级管理者处理。项目的质量活动包括质量保证和质量控制,质量保证是一种管理职能、质量控制是一种检查职能,质量保证是确定项目完成的是否正确,质量控制是确定项目是否正确地进行。有时将质量控制归类到开发活动中,质量控制活动更多由开发人员完成。2.配置管理计划软件配置管理贯穿于软件生存期的全过程,目的是用于建立和维护软件产品的完整性和可追溯性。软件配置管理是一组追踪和控制活动,软件配置管理可以管理好项目进行的中间产品以及它们之间的关系。配置管理计划中包括很多的内容,例如配置管理工具、配置项计划、基线计划、配置管理规程等。3.沟通计划为了保证项目开发过程的顺利进行和信息的有效沟通,从而使一些重要的项目信息实时、最新、及时获取,做到实时同步,就必须有一个灵活而且容易使用的沟通方法和沟通计划。4.风险管理计划任何项目都有一定的不确定性,如果没有很好的风险管理,项目就可能遇到麻烦。所以,软件项目管理过程中,风险计划同样必不可少。风险管理中常用的工具是TOP10风险清单,它是通过一系列的风险识别、风险评估、风险规划得到的。四、项目计划的跟踪控制如同采购时,你通过采购单(在其上打勾)保证采购的顺利进行;在聚会演出时,你通过节目清单(你的计划)来控制节目的顺利进行等。同样,软件项目管理业需要跟踪控制,跟踪控制就是为了保证项目能够按照预先制定的计划进行,使项目不要偏离预定的发展进程。跟踪控制的对象就是项目计划。在项目进展过程中,项目经理根据项目计划来及时跟踪项目实际的执行情况,关注项目的范围、成本、进度、质量、风险等情况,记录实际的进展情况,对照计划与实际的情况,发现问题并及时解决。进行项目跟踪控制的基本步骤如下:(1)建立标准,即建立项目正确完成应该达到的目标;(2)建立项目监控和报告体系,确定控制项目必要的数据;(3)测量和分析结果,将项目的实际结果与计划进行比较;(4)采取必要措施,如果实际的结果同计划有误差时,采取必要的纠正措施,必要时修改项目计划;(5)控制反馈,如果修正计划,应该通知有关人员和部门。软件项目经理要确定如何获取项目的时间、成本、范围的进展信息等(例如计划中可以规定跟踪频率和步骤,设置专门人员负责收集项目数据或者项目人员按照规定的度量标准统计上报项目数据)。然后将项目的实际结果与计划进行比较,采用一定的方法分析项目的进展情况,如偏差分析和挣值分析等。项目跟踪分析应该根据计划的要求实时进行,要随时了解项目的进展情况,以便做出正确的决定。另外,还要跟踪其他计划的执行情况,特别要关注风险管理计划,项目经理应该定期回顾和维护风险计划,及时更新风险清单,对风险进行重新排序,并更新风险的解决情况,这些活动应该包含在项目计划中,以防遗忘。只有这样才能使项目经理们经常思考这些风险,居安思危,对风险的严重程度保持警惕。项目管理一个非常重要的手段是进行项目评审。项目评审的主要目的是根据项目计划对项目的执行活动进行检查,及时进行沟通,发现问题,研究解决对策,纠正偏差,保证项目的顺利实施。评审可以针对产品的评审,例如设计评审,或者针对质量的评审,例如质量过程评审,但过多的是针对管理的评审,例如定期的周例会等,以及针对突发事情的评审等。项目的最后一项是进行项目总结,这是一项必要的工作。就如同我们聚会活动结束之后,要核算或者说总结,节目单的活动执行的如何?费用如何?时间如何?同样,作为项目管理的最后一件事情也是总结,即最后评审,总结经验教训,编写项目总结报告等,为以后的项目提供参考。以上仅为笔者在一年多的软件开发学习过程中所学到的和摸索的个人见解,如有偏差之处,恳请斧正。参考文献1.软件项目管理作者:MIKE机械工业出版社2.实用软件项目管理作者:AndrewStellmanJenniferGreene东南大学出版社3.软件项目管理实践作者:PankajJalote清华大学出版社4软件项目管理实用指南-以体系结构为中心作者:(美)DanielJ.Paulish机械工业出版社