软件项目管理论文篇(1)
2、工程项目管理软件
2.1概念的界定
工程项目管理软件(以下简称为项目管理软件)是指以项目的施工环节为核心,以时间进度控制为出发点,利用计划技术,对施工过程中的进度、费用、资源等进行综合管理的一类应用软件。它包括五个主要功能模块:进度计划管理功能、资源管理功能、费用管理功能、报告生成与输出功能、辅助功能(主要指与其他软件的接口、二次开发、数据保密等)。这种概念源于对国外类似产品的概括,如P3(PrimaveraProjectPlanner)、MicrosoftProject、HarvardTotalProjectManagement、HarvardProjectManager.从广义上看,项目管理软件包括了与项目管理工作相关的各种应用软件,可以涉及进度、费用、资源、质量、风险、组织等各个方面,是项目管理相关软件的总称。
2.2发展概述
国内项目管理软件的研究开发始于20世纪70年代,至今经历了两次重大转变(见***1)。
第一次,90年代初,标志是研发主体由用户本身转变为专业化的软件。在70、80年代多是各用户单位自行研制的单项功能的初级产品,即自己提出需求、自己研究、自己开发、自己使用,是一种完全的小生产方式,在近二十年中发展缓慢。90年代初,市场带动出几十家专门从事建筑管理软件开发的高民营企业,软件开始走上化、专业化、商业化的快速发展道路。
90年代是国内建筑管理软件迅猛发展的十年,工程造价、工程量、钢筋配料、平面***制作、标书制作软件等新产品大量涌现,价格逐渐降低、功能不断完善,界面友好、操作方便,通用性、实用性增强。
第二次,90年代末,标志是产品由单机版转向系统集成。如将项目施工方案的设计、概预算、工程量计算、进度计划、资源计划、费用管理、事务性管理等综合起来形成一个有机的整体。运行环境由单机用户拓展到网络多用户,一定程度上实现了企业内部的数据共享。
进入2000年来,项目管理软件的研发出现了滞缓现象。究其原因是多方面的,既有市场因素又有技术因素,既有外部环境的又有自身条件的制约,如加入WTO的影响、用户需求的变化,网络技术、数据库技术、通讯技术的进步等。项目管理软件发展的方向在哪里?必然趋势如何?怎样应对?这些摆在众多业内人士面前。
3、国内项目管理软件的现状
3.1外部环境分析
3.1.1机遇
(1)积极的***策环境。2000年7月***了《鼓励软件产业和集成电路产业发展的若干***策》在投资融资、税收、产业技术、出口、收入分配、人才吸引与培养、知识产权保护等方面,给予优惠***策。建设部正在领导制定《建设企业管理信息系统软件通用标准》和《建设信息平台数据通用标准等通用标准,以规范建设领域信息市场行为。各省市地方的建委、定额站以及高新技术开发区,积极贯彻***和国家方针***策,制定一系列的优惠办法,培育扶植当地软件企业的发展。
(2)巨大的市场需求。项目管理软件作为一种行业专用软件,其发展与建筑行业自身的兴衰息息相关。据统计,我国现有各类施工企业10多万家,项目经理部几十万个,除此之外工程监理、审计、建行、甲方等单位也都是管理软件的用户,远期软件需要量应在100万套,但现在软件总的销量不足2万套。加入WTO以后,受各方面因素的影响,经济将呈现快速增长的态势,国内总体建设投资规模扩大,这将会为建筑业创造一个良好的发展机遇,也必将拉动行业软件市场需求的增长。
(3)信息技术在建筑业的广泛应用。20世纪90年代以后,我国建筑业应用信息技术取得了突飞猛进的发展,为项目管理软件的普及推广提供了必要的条件。主要表现在:1.网站建设从无到有,形成了***府网站、行业网站、企业网站三个层次。2.广泛应用计算软件和工具软件。3.在施工中推广应用以信息技术为特征的自动化控制技术,取得了较好的效果。
3.1.2挑战
(1)项目管理的基础工作薄弱。软件的应用要有一定的条件,目前我国项目管理中影响软件应用和开发的主要问题有:1.管理工作尚未标准化。例如各种报告、信息、数据及各种费用项目的划分,各种文本等的标准化程度不高。2.工作过程中的随意性,非程序化工作和干扰,使先进的计划、控制方法和程序难以使用,难以显示出它们的效果。3.整体管理水平低,各层次的管理人员尚不能掌握的管理手段和方法。管理的基础工作薄弱不仅限制了对软件应用的需求,而且进一步拉大了国内项目管理与国际水平的差距。
(2)国外竞争者的挑战。目前,打进中国建筑市场的国外软件有MS-Project、P3等。这些软件功能强大、专业性强、知名度高、营销方式灵活。如P3软件在国际上具有极高的知名度,逐渐成为工程项目管理行业的标准软件。世行也在大型项目上推荐使用P3软件。加入WTO后,外国软件企业将享受国民待遇,出口补贴***策、***府采购将受到限制,我国的产品市场不仅要开放,服务市场也相应开放,软件市场从而将完全开放,国内软件市场竞争日趋激烈。而且,加入WTO后,外资建设项目增多、建筑市场逐步放开,国外工程设计、承包、咨询单位的大量涌入会加大MS-Project、P3等的市场份额。
国产软件一般在功能设置和运行机制上更符合国内用户的需求和习惯,如有双代号网络***、前锋线功能等。但在用户界面、报告生成与输出、数据交换、二次开发等方面还存在着较大的差距,而且这些软件目前还不可能用于国际工程项目。
3.2内部条件分析
3.2.1优势
(1)技术成熟。国内项目管理软件经过近30年的发展,已经研制出适用于公司和项目两个层次的产品,而且部分软件的技术水平达到新的高度,令外国同行刮目相看,为发展适合国情的信息产品奠定了技术基础。如北京梦龙公司的智能管理系统Pert、大连同洲公司的项目计划管理系统TZ-Project.
(2)市场占有率高。初步估算,国产软件的市场占有率在三分之二以上。此外,用户购买软件后,需要经过培训,才能掌握运用。一旦熟练使用后,就倾向于继续购买后续产品,而不愿转购其他公司的同类产品。这一消费特征有利于率先占有市场的软件。多种原因造成国内软件企业已抢先一步占领市场,建立起销售渠道和用户对它们的信任。
(3)服务本土化。软件的价值归根结底表现在对传统行业的服务上,软件行业竞争的核心是服务的竞争。国内的软件企业经过十多年的市场开拓,已在全国的数十万用户中建立起较为完善的服务体系,深入到公路、港口、建筑、市***、铁路、水利、电力等各个领域,能够快速响户要求,提供全面的咨询培训维护服务,这是外国公司在短期内无法做到的。
(4)人才优势。国内软件开发人员的薪酬平均低于国际水平,是美国的1/30~1/20,可大大降低软件研发成本。此外,国内建筑市场运作不规范,用户需求差异大,而国内研发人员熟悉行情,与用户容易沟通,开发的产品更符合“国情”。
3.2.2劣势
(1)品牌与质量。国产项目管理软件数量不少,但没有一个能够像P3那样知名的品牌。几十家软件研发单位“各占一个山头”,国内市场呈现小而散、四分五裂的格局。在研发过程中普遍缺乏严格的测试环节,软件的改动和版本的升级频繁,造成成本的增加和维护上的难度,带给用户许多不必要的麻烦。而且,由于缺乏行之有效的软件开发管理体制,一个关键性设计人员的变动往往会严重软件产品的整个生产过程。在功能模块上,国产软件偏重进度计划管理,在资源管理、费用管理方面远远落后与国外软件。此外,国产软件都无法实现环境下异质数据库的互连、没有对用户开放二次开发的接口。
(2)规模小、开发资金不足。国内软件企业的资金来源主要以企业自主投资、风险投资和***府投资三种为主。大部分企业缺乏正常的融资手段,只是依靠经营利润的积累。企业规模小、缺乏“重量级”企业,、设计、开发和市场开拓能力有限。据统计,50人以下的企业占40%左右,50~100人的企业占50%左右,100~200人的企业仅2家,200人以上的为零。
(3)缺乏统筹规划。由于没有明确的行业标准和方向引导,软件开发只能根据客户要求,由软件技术人员,凭自己的理解和能力进行设计、编程,造成软件开发选题雷同,而且多属低水平重复开发。企业在技术、研究、开发等方面存在很大的盲目性,力量分散,造成大量资源浪费,也延误了发展的时机。
(4)人才流失。由于缺少合理的收入分配激励机制,大量软件开发人员流向高收入的电信、、商业领域,国内从事工程管理软件开发的人员不足千名,其中懂工程、懂机、懂管理的复合性高级人才更是少之又少。
4、国外项目管理软件的发展及启示
4.1发展概述
国外项目管理中的计算机应用可以追溯到50年代中后期网络计划技术的出现,到了60年代中后期网络程序已经十分成熟。整个70年研究的重点是完善和扩展网络模型分析软件的应用功能,如成本和资源的平衡优化;同时提出并研究了项目管理信息系统。进入80年代以后,PC机的普及和项目管理工作的化、标准化,使一般中小型企业、中小型项目也可用计算机进行管理,网络技术才真正普及。90年代后,项目管理软件发展迅速,不断有功能强大、使用方便的软件推出,在项目管理中发挥了重要作用,计算机的应用已经成为项目管理必不可少的一个组成部分。
项目管理软件的功能层次不断提高,对应着三个显著阶段:
第一层次,也称基本功能,如进度控制、质量管理、资源管理、费用控制、采购管理等,是对基层工作流程的模拟,在一定程度上实现数据共享,减轻了基层项目管理人员的工作强度。在80年代已基本完成这方面的功能开发并在基层项目管理中广泛应用。
第二功能层次有两个特点:一是分析和预测功能,包括工期变动分析、不可预见事件分析(如恶劣气候、汇率变动、市场物价变动、分包商情况变动等)。在分析基础上产生预测功能,主要包括进度预测、投资预测、资金需求预测等,并有相应的数学模型。二是计算机网络的使用和通讯功能,主要是局域网上的多用户操作和多项目管理,以及借助Internet、Intranet,邮件、电子信箱等先进的通讯工具和手段,减少项目管理班子的工作所受的地域限制。P3及MS-Project都是这一层次的产品。
第三层次是基于因特网的项目管理,使整个项目管理业务与因特网结合,具有跨平台兼容、交互性和实时性,项目成员可以协同工作,实现***文档管理、***讨论、视频会议等。到目前为止尚无完善的产品出现,但有两个软件Mesa/Vista,WebProject已初具雏形。
4.2发展启示
目前国内项目管理软件的发展还处在第一阶段。某些软件具备或正向第二功能层次发展,没有基于因特网的第三阶段软件。国外同类软件的发展历程可以得到启示:数据通讯、多项目管理、多用户环境、多系统兼容和与Web技术集成、增强用户自定义功能,这代表着项目管理软件的新发展。客户机(Client)/服务器(Server)模式向浏览器(Browser)/服务器(Server)模式转变将是必然趋势。
5、对策
5.1我国项目管理软件SWOT分析
基于上述分析,可归纳出我国项目管理软件SWOT矩阵。
5.2***府和行业协会
(1)规范项目管理,实现与国际接轨。推进《施工项目管理规程》、《工程网络计划技术规程》、《建设工程质量管理条例》、《建筑工程施工合同(示范文本)》等的制订和落实,严格按规程、规范和标准进行项目管理。在项目管理中推广使用WBS(项目结构分解)等,保证数据采集的完整与统一。加强信息技术标准研究,积极参与国际标准的制订,利用标准来占领市场。
(2)统筹规划,抓大放小,分类指导。制定建筑业信息化发展规划和技术***策,确定产业升级目标,合理选择主导产业、战略产业。对各省市地方的造价、钢筋、工程量等单机软件鼓励自由竞争,让市场来决定优胜劣汰,同时强化行业管理,维持公平、有序的竞争环境。对项目管理软件的研发加强扶植力度,增强国产软件自主发展的能力,重点扶植、推广一批具有自主知识产权的产品。
(3)发挥行业组织的作用。行业协会加强与***府和企业的联系,为企业在技术、管理、市场信息、人才培训等方面提供指导和帮助。
5.3软件企业
(1)利用***策,把握机遇。认真研究、充分利用国家为产业发展提供的***策环境,要充分利用加入世贸组织的过渡期,力争在三、五年内完善项目管理软件并实现产业化。
(2)调整产品结构,培育自主品牌。推进产品创新和产品重组。拥有自主知识产权的,要强化知识产权管理,积极实施信息技术专利战略,按国际项目管理要求进一步完善产品,争取在国际市场占有一席之地。正在研发之中的,要多研究国内外同类软件,合理选择细分市场,采取产品差异化战略或市场跟随战略。
(3)规范企业管理。积极参与ISO9000,CMM,ISO14000等国际质量保证体系认证和国际安全认证,加强软件企业的规范化管理。建立有效的激励和约束机制,充分调动员工积极性,吸引并留住各类优秀人才。
(4)服务创新。推动软件售后服务的化,建立专业的咨询服务机构。不具备持续开发能力的公司应向增值服务的专业服务公司转变。从目前发展趋势看,软件的升级、维护、咨询活动的利润比销售的更可观。
6、结论
我国工程项目管理软件研发的整体水平较低,实际应用情况不容乐观。要改变这一局面,***府和企业都要付诸努力。***府和行业协会要规范项目管理,实现与国际接轨;统筹规划,抓大放小,分类指导。软件企业调整产品结构,培育自主品牌,规范企业管理及建立服务创新的体制。
参考
[1]MatthewJ.Liberatore.ProjectManagementInConstruction:SoftwareUseAndResearchDirections[J].JournalOfConstructionEngineeringAndManagement,2001,(March/April)。
[2]成虎。工程项目管理[M].中国建筑出版社,2001.
[3]陈昌柏。WTO-ITA与中国IT产业发展[M].北京邮电大学出版社,2001.
软件项目管理论文篇(2)
一、引言
项目管理(PM,projectmanagement)是指利用现有的知识、方法和技术手段,有效地计划、调度、控制和跟踪项目的开始、执行、直止终止的过程,是项目顺利实现的有效手段。软件项目管理则是在项目管理的基础上,结合软件产品的实际,利用工程的概念和方法来开发与维护软件,对成本、风险、时间、质量、过程、配置等进行分析、管理、控制,最终目的是为了让软件项目的整个生命周期都在管理者的控制范围内,以预定成本按期、按质完成软件的开发并交付用户使用。目前,软件产品已广泛应用于各个领域,但是很多软件项目的成功率并不高.虽然有些公司根据软件工程理论建立了一些软件开发管理规范.但并没有从根本上提高软件项目管理问题,这就导致软件产品质量不稳定甚至是项目的失败,同时也损害了用户的利益。本文结合我国软件项目管理的特点并经实践应用.以提高软件质量、降低成本、加强软件项目的可控性为目标,通过对CMM的研究和改进,给出了一个基于CMM加强软件项目管理的实践模式,在这个模式中对目前CMM中的KPA做适当的裁减,定义了6个关键过程域和3个工作组。
二、软件项目管理中目前存在的问题
影响软件项目成功率的因素主要是软件质量问题,而在整个软件项目的实施过程中需求不明确、跟踪和监督不力、缺乏客观的软件评审和软件配置以及风险管理意识不足等都阻碍着软件质量的提高。
2.1需求不明确
需求管理是软件项目管理中非常关键的一个步骤.需求分析的完整与否可以降低软件质量、延长项目周期、加大成本。由于用户对计算机系统认识的不足,对于系统的需求往往比较模糊,遗漏甚至是错误的问题经常出现(包括管理流程、业务流程、数据或报表的分析处理等),但这些问题往往没有暴露给开发人员,而是随着项目的进展才逐渐明确。对于开发人员来说,需求的变更意味着软件产品的部分内容必须重新开发,而对于整个软件项目管理而言,势必要重新分配资源、调整计划、估算成本等等,导致软件产品质量下降。
2.2跟踪和监督不力
跟踪和监督主要针对过程而言,也是项目管理中最容易被忽视的环节。软件项目过程由多个任务构成,大部分任务都有前置任务和后置任务,这就要求项目管理者要严格跟踪和监督每一个任务。任务的完成主要从时间进度和质量两方面来衡量,还要充分考虑因客户方引起的一些客观因素(更改需求分析等)。项目管理者虽然制定了具体的项目进度内容,但如果缺乏有效的跟踪和监督机制,对于每一个阶段所要完成的任务疏于评价,就会影响下阶段软件产品的质量,有时甚至是软件产品的重新开发,最终影响整个软件项目。
2.3缺乏客观的软件评审
客观的软件评审是软件产品质量的直接保障,软件评审一直贯穿于整个软件项目的过程中,对软件产品的评审应有客户使用人员和软件业中的同行来进行。客户使用人员对软件产品做阶段性的评审可以及时发现软件产品功能方面的不足,同行评审可以从软件业的规范及标准去发现问题.软件评审可以降低软件开发的成本提高软件产品的质量。大多情况下项目管理者没有做任何阶段性的评审,通常只是在软件产品开发基本完成之后来组织评审,果发现了很多问题,但要修改已经非常困难.要花费很长的时间甚至从头再来。
2.4软件配置混乱
软件配置是指软件产品在各个阶段各种版本的文档、程序及数据的集合,贯穿于整个软件项目的始终。随着软件产品开发的进行,由于各种客观原因,其中的预算、设计方案、进度等内容都有可能需要大大小小的更改(这些改动可能是合理的),整个改变的过程对软件项目的参与人员来说必须是可视的,以便提高软件的可靠性和质量,而这一切都应该有正确的软件配置来控制如果失去正确的软件配置管理,那么针对软件产品发生的任何更改或者是维护都会给软件项目带来混乱甚至是失败。
2.5风险管理意识不足
风险管理是软件项目中防止失败的一种重要手段,软件项目不同的阶段存在着不同的风险,并且风险会随着项目的进展而变化,目前国内的软件企业大都不注意软件项目的风险管理。除了社会环境风险、商业风险等这些客观风险之外.可控的软件项目风险主要指技术风险。技术风险主要是指与软件项目本身相关的的技术因素变化带来的风险,如果在一定的条件下达不到技术条件能够实现的目标,不但延缓项目的进度而且会增加项目的成本.继而使整个项目受到影响。
三、通过过程管理加强软件项目管理的实践模式
利用cMMfCapabilityMaturityModeforSoftware)的核心思想把软件项目管理看作一个软件过程,并根据这一原则对整个软件项目的开发和管理进行过程监控,监督发现过程中影响项目的关键问题并予以解决。软件过程是指软件开发人员开发和维护软件及相关产品的一套行为、方法、实践及变换过程,包括软件开发过程和软件管理过程。CMM把软件开发机构按照不同开发水平划分为5个级别。每个等级被分解为几个KPA(关键过程域),KPA是指在某个成熟度等级应重点关注的区域,也是达到此成熟度等级必须解决的关键点。①初始级,无过程意义。软件过程是无序的、随机的、缺乏总计划,无预见性,大多数活动是应付危机,经常超期超支,成功取决于个人。②可重复级,具备基本的项目管理。KPA分别是:需求管理、软件项目计划、软件跟踪与监督、软件子合同管理、软件质量保证、软件配置管理;③已定义级,已定义软件过程。已将软件管理和软件工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。KPA分别是:组织过程焦点、组织过程定义、培训大纲、集成软件管理、软件产品工程、组间协调、同行评审;④可管理级,过程可度量。已收集了软件过程和产品质量的详细度量方法,软件过程和产品均可被定量地理解和控制。KPA分别是:定量过程管理、软件质量管理;⑤优化级,过程控制。通过过程的量化反馈以及新技术、新方法促使过程不断改进。KPA分别是:缺陷预防、技术更新预防、过程更改管理。
CMM只是一个过程改进的框架.并没有给出具体实施的办法。在该模式中对目前CMM中的KPA做适当裁减.定义了6个关键过程域:软件项目计划(SPP)、需求管理(RM)、软件项目跟踪和监督(SPTO)、软件质量保证(SQA)、软件配置(SCM)、同行评审(PR),设置了三个工作组:软件项目过程组(SPPG)、软件工程组(SEG)、软件质量保证组(SQAG)。通过工作组对关键过程域的操作来加强软件项目的管理。
3.1定义KPA
3.1.1软件项目计划(SPP)
软件项目计划是为要实施的软件项目编制软件过程活动的安排,包括进度控制、成本控制、质量控制、风险控制等,也是实施CMM2的核心此阶段在安排过程活动的同时开展项目设计的前期工作,设计和界定在整个项目中各阶段所需的开发、质量、跟踪、评审、风险、成本等工作。项目计划是指导项目过程的具体措施,要在有软件项目实施经验的人员领导下投人大量的时间和人力资源来完成。制定项目计划应注意7个问题。①在科学论证的基础上制定过程,充分调动人员积极性合理地确定项目组的参加人员;②对软件项目各程中的任务进行分解,明确项目的里程碑和检查点;③正确估计软件项目中的软件资源、硬件资源、人力资源及其它费用;④正确估计各方面因素带来的风险并制定应对措施;⑤制定项目实施过程中的跟踪和监督措施;⑥确定软件的评审和测试方法;⑦详细的文档资料。
3.1.2需求管理(RM)
需求分析主要包括面向用户的用户需求和面向开发人员的系统需求.是整个软件工程的第一步.也是非常关键的一个环节。需求分析主要针对用户的业务流程、系统功能、性能、数据分析进行严格的定义.是设计一个软件应用系统的起点与基本依据,通过它来评判软件产品是否能够解决用户问题,也是项目成功与否的标准。就目前国内现状来讲,一般签定软件项目合同的用户是主管信息技术的负责人,它所关心的可能是整个系统的目标需求,用户方中层管理人员关心的是业务流程需求.终端操作人员则注重软件本身的易操作性和功能特性,因此.面向用户的需求一定要和用户多方人员多沟通、交流.最终通过双方有关部门人员的论证以文档资料的形式确定下来。任何一个需求分析因客观原因可能存在着需求更改的现象,对于这种情况一定要注意需求更改的可控性.要建立需求的基准版本和更改版本控制文档资料.使受需求变化影响的产品与需求变更一致。但要注意在更改需求的同时要衡量需求的稳定性,如果一个需求的变更比较频繁,意味着本项目并没有真正了解用户想要解决的实际问题。可以说需求分析的完整性和变更可控性直接影响到软件过程的改进,它可以降低软件质量、加大软件开发的成本、甚至是导致项目的失败。软件工程组(SEG)中要明确定义一个需求管理员。
3.1.3软件项目跟踪和监督(SPTO)
软件项目的跟踪和监督始终贯穿于整个软件项目的过程中,是项目得以控制的前提和条件、是软件质量的根本保障,其目的是增加软件过程中进度、成本、工作量、质量、风险等内容的可视性,也是实施CMM2的核心。除去市场、法律等不可控制因素外,根据项目计划对项目进展的有关情况及影响项目实施的相关因素进行及时、客观、准确的信息采集,将采集到的需求、成本、进度、风险等内容形成文档并建立一个项目跟踪信息平台。项目负责人定期召集软件过程人员、开发人员、质量保证人员、用户方有关人员召开开放式的例会,例会的主要内容是检查项目进展、数据的分析、认识的偏差、资源的搭配、相关的风险等问题并讨论确切的解决办法,通过跟踪和监督使项目始终处于可视化的受控状态。
3.1.4软件质量保证(SQA)
软件质量保证是与软件产品满足规定的和隐含的需要能力有关的特征或特性的组合。对用户来讲主要体现在软件产品的有效性、一致性、完整性、可靠性和可操作性等方面,对于软件产品本身来讲体现在软件产品的可移植性、易维护性、健壮性、可重用性等方面。具体实践中.软件质量保证应在软件项目计划、需求分析、跟踪和监督、软件配置和软件评审的相互配合下完成.软件质量保证要做到以事先预防和跟踪为主,事后纠偏为辅。
3.1.5软件配置(SCM)
软件配置是针对软件产品的跟踪和控制活动.贯穿于整个软件项目的过程中.目的是建立和维护在整个生命周期内软件产品的完整性和一致性,使整个软件产品的演进过程处于可控的状态,继而提高软件的可靠性和质量。在实践应用中主要做到五个子项的配置①配置项的标识。标识做到唯一性。便于跟踪和管理。②版本管理。对整个软件过程中的文件和目录提供有效的跟踪手段。③变更控制。保持并传递修改信息。④配置审计。确定整个项目生产周期中产品在技术和管理上的完整性。⑤系统整合。把系统的不同部分集成后完成一组特定的功能。
3.1.6同行评审(PR)
同行评审是根据预定的规范和标准对软件产品进行评审。评审的结果是衡量软件产品质量的依据。在整个软件过程中对详细设计和软件综合测试作为两个关键评审点来进行评审,评审的过程中注意要结合本软件项目的具体要求和标准。
3.2组的定义
在具体的实践应用中设置了三个组,在降低了人员成本的同时提高了软件过程改进能力和软件质量。
软件项目过程组(SPPG)组织具体的项目实施活动,管理并协调整个软件项目的过程,主要完成SPP和SPTO。
软件工程组(SEG)负责软件工程的需求分析、概要设计、详细设计、编码、测试、维护工作。
软件质量保证组(SQAG)主要完成SPTO、SCM、PR、SQA等工作。
四、实践模式效率评估
4.1开发时间
软件开发由需求分析、概要设计、详细设计、编码、软件测试、项目维护和软件集成几部分内容组成,在需求分析和设计阶段采用CMM框架实施过程管理所花费的时间要多于没有实施过程管理花费的时间。首先对项目做大量分析,论证项目的可行性。然后在和用户做良好沟通、反复论证的基础上做需求分析,形成文档资料。这种模式下花费在需求分析和设计上的时间大约占项目总开发时间的40%,但这两个阶段完成了数据流程、算法描述、详细的规格说明等内容,为代码编写、软件测试、软件维护等后续内容的工作节省了时间,软件项目的开发周期大大缩短。经过评估,采用该实践模式实施软件过程管理的软件项目开发周期比没有实施软件过程管理的软件项目开发周期缩短20%。:
4.2开发质量
软件项目管理论文篇(3)
关键词:软件项目管理软件产品质量因素
在软件和信息科技行业,项目管理经常决定了一个产品或者企业能否成功。项目管理得到越来越多的企业和***府部门的重视,例如中国于2002年4月召开了有关项目管理的首次国际研讨会。具体操作与项目最根本的不同在于具体操作是具有连续性和重复性的,而项目则是有时限性和唯一性的。本文由中国收集整理。项目是一项为了创造某一唯一的产品或服务的时限性工作。所谓时限性是指每一个项目都具有明确的开端和明确的结束;所谓唯一是指该项产品或服务与同类产品或服务相比在某些方面具有显著的不同。各种层次的组织都可以承担项目工作。项目有时只涉及一个组织的某一部分,有时则可能需要跨越好几个组织。项目是执行组织商业战略的关键。
一、软件产品项目管理的重要性
20世纪80--90年代,许多大型企业管理信息系统MIS的开发都以失败而告终。这是为什么?一个重要原因是软件项目管理水平上不去,尤其是需求分析管理水平上不去,使得项目快要验收或交付时,却出了大问题:要么发现用户需求获取不准确,要么发现用户需求变了,致使做好的系统不能用或不好用。20世纪90年代初,上海一家公司在青岛做一个港口MIS项目,北京有一个单位在天津做一个港口MIS项目,都是因为甲乙双方软件工程基本知识不具备,使得项目管理不到位,导致2个大型项目不成功。现在软件应用领域空前广阔,深人到社会和科学研究等领域的各个方面。软件的需求也比以往更加多,软件系统设计也空前复杂。软件的项目管理问题也就因此而产生了。90年代中期,软件项目管理不善的问题仍然严重。据美国软件工程状况调查,只有10%的项目能够在预定的费用和进度下交付。于是软件项目管理成为软件项目发展中最重要的核心问题。为了使软件项目开发获得成功,必须对软件开发项目的工作范围、可能遇到的风险、需要的资源(人、硬件、软件)、要实现的任务、经历的里程碑、花费的工作量(成本),以及进度安排等做到心中有数。软件项目管理的目的就是提供这些信息,分析信息,并根据分析结果对项目做出调整。软件项目管理开始于技术工作之前,在软件开发的整个过程中持续进行,最后中止于软件过程结束。
二、软件项目管理体系
随着软、硬件技术以及通信技术的日益成熟,软件技术可以与所有的传统产业相结合,促进产品的更新换代,大幅度提高产品的附加值,提高劳动生产率,推动产业结构与产品结构的调整。因此,软件的开发以及应用不仅仅是软件开发机构的任务,更深地涉及软件使用者的切身利益,尤其像管理信息系统MIS(ManagcmentInformationSystem)、计算机集成制造系统CIMS(ComputerIntegrationManufacturingSystem)、企业资源计划ERP(EnterpriseResourcePlanning)及商业智能BI(BusinessIntelligence)等大型的复杂软件更是综合了管理科学、计算机科学、通信技术以及数学等各方面的知识,需要各类人员的协调工作才能完成。因此也就有必要从项目管理的角度去管理软件的开发和运行。从用户的角度来看,软件项目的生命周期应该包括项目前期的论证工作、项目计划、软件开发、运行、维护以及项目后评价。由此可见软件项目管理的范围不仅包括传统的软件开发过程,还应该包括开发之前的准备工作以及运行中的维护工作和对项目的总结工作。同时,在软件项目生命周期中存在着许多活动。根据活动之间的相关性,可以将软件项目的各种活动分为九大类。
(1)战略管理。根据用户的经营目标制定软件项目的策略,以便为其他各方面的活动提供指导。在制定项目策略的时候应该充分考虑用户和其他利益相关者的实际需求和市场因素。另外创造和谐的项目环境和连续改进也是战略管理的重要任务
(2)范围管理。其目的是控制软件项目的全部活动过程都在需求范围内,以确保项目各种资源的高效利用。成功的项目管理离不开用户、软件开发队伍和项目经理的一致理解和协调配合
(3)成本管理。软件项目的成本不仅包括开发成本,也包括开发之前立项阶段以及软件在运行中的费用。操作者的培训费用和项所使用的各种硬件设施费用也都是整个项目成本的一部分。这些成本都需要很好地计划和控制。
(4)时间管理。其内容有确定各项活动之间的时间相关性;估计各项活动的持续时间,跟踪各项活动的进展情况,动态调筷各项活动之间在时间上的协调。本文由中国收集整理。
(5)人力资源管理。在软件项目中应该为软件开发人员和管理人员等各类项目人员创造一个和谐良好的工作氛围。使他们能感到项目成功的把握和积极的工作心态,确保项目队伍的稳定性和连续性。
(6)沟通管理。沟通管理是一个收集、存储、配置和项目生命周期内所形成的各种信息的过程为了让每个项目相关人员及时得到所需的信息,需要很好地解决“什么时候、向什么人礼报什么的”的问题,此外软件开发队伍和用户之间的沟通也是沟通管理中的一项重要工作。
(7)风险管理。由于软件项目中存在着很多的不确定因索,也就必然存在着各种风险而且风险有可能造成不良的结果,对风险进行分析和监控贯穿于整个软件项目生命周期。
(8)质量管理。目前软件的质量还是一个模糊的概念并且难以衡量由于软件质量主要是在开发阶段形成的,因此软件项目质量管理的重点应放在系统分析、系统设计和编码阶段,走查、评审、调试和测试是保证软件质量的重要手段软件工程能力成熟度模型CMM(CapabilityMaturityModel)较好地解决了软件开发过程中的质量管理问题。
综合管理。综合管理的任务是对前面讨论的各类管理活动进行协调和控制,使这些活动相互配合。其核心任务是对各种方案进行评价,协调各方面的利益冲突确保项目总体标的最终实现。
三、软件项目管理的核心是全面客户满意
当前,不少软件业管理人上认为,软件开发的问题主要在软件开发的工程化、规范化和软件开发管理体制。他们按照CMM(CapabilityMaturityModel),IS09002的标准来建立他们的管理体系。这里有商业竞争的因素在起作用。但是,他们忽略了商业竞争中取胜最重要的因素—客户满意。他们没有考虑到他们的管理方法能否满足客户不断变化的需求。从长远来看,软件项目真正的成功是客户的全面满意。以客户满意为中心的质量是必需的。漠视质量或只关心产品/服务是否符合需要的方法再也不足以留住和获得客户。因此,软件开发项目组织必须先确定什么产品/服务可以让顾客满意,然后再努力满足客户的需求和期望。要实现此目标,组织必须识别对软件产品的各种特性中哪些是对客户的满意起决定作用的要素。例如,服务器操作系统软件,需要长时间稳定连续工作。稳定性则是该软件产品的关键要素。因此系统的开发管理围绕着这一关键要素来展开。尽管不少的组织明白没有客户一个组织就不能生存和发展,或者说没有客户就没有组织,但在项目实施过程中,仍然存在着客户满意的障碍:
(1)项目管理组织没有发展和完善对客户不断变化的需求和期望作出快速响应的能力。
(2)项目管理组织没有听取客户意见和建议的能力。
软件项目管理论文篇(4)
1软件和软件业现存问题
1.1软件项目的特点软件项目是以软件为产品的项目。软件产品的特质决定了软件项目的管理和其他领域的项目管理有着截然的不同之处。
1.1.1抽象性软件是脑力劳动的结果,是一种逻辑实体,具有抽象性。在软件项目的开发过程中没有具体的物理制造过程,因而不受物理制造过程的限制,其结束以软件产品交付用户为标志。软件一旦研制成功,就可以大量复制,因此软件产品需要进行知识产权的保护。
1.1.2缺陷检测的困难性在软件的生产过程中,检测和预防缺陷是很难的,需要进行一系列的软件测试活动以降低软件的错误率。即使如此,软件缺陷也是难以杜绝的。这就像一些试验科学中的系统误差,只能尽量避免,但不能够完全根除。
1.1.3高度的复杂性软件的复杂性可以很高。有人甚至认为,软件是目前为止人类所遇到的最为复杂的事物。软件的复杂性可能来自实际问题的复杂性,也可能来自软件自身逻辑的复杂性。
1.2我国软件行业软件项目现存问题
1.2.1项目管理人才匮乏分析我国的软件产品,可以发现我国真正生存期比较长的成功产品为数不多,很多开发人员甚至项目管理人员多年下来,也没有参与过一次真正意义上成功产品的项目运作。这种现状反过来又导致我国软件企业项目管理缺乏项目经验积累,产业项目运作长期无法规范化。造成我国虽然有大批具有优秀基础的软件工程师人才,却开发不出高质量的产品,大批软件人才外流的现实情况。
1.2.2管理制度不健全随着我国软件行业的日益发展和不断进步,企业开始陆续引进并实施了“事业部制/项目制”等专业划分,即:按照其所负责行业或业务系统的不同,成立多个事业部,各个事业部只负责其所属行业内的项目和工程。每个事业部内部按照不同的产品和项目划分产品线和项目组,并且会确定相应的产品经理、项目经理,以对其所负责的整个项目的全过程负责。但实际情况是,由于大型软件系统项目过大,开发时间过长,参与单位和人员过多,最终出现以下问题:
(1)组织构架不合理,项目管理、质量管理、职能管理划分混乱。项目经理与项目严重脱节,导致项目实施失控,项目经理、质量经理等众多头衔,职责不清甚至很多项目经理都成了虚设的行***头衔,管理协调行***事物,脱离项目。
(2)项目管理和质量保证体系使用棍乱,项目组无统一目标、方针、流程,导致项目工作效率低下。多套项目流程混杂不清,实施人员面对多种要求和多种流程疲于奔命,多个部门无法按照规范协同合作,项目经理和实施人员陷入混乱的流程漩涡,导致项目停工或工期延误等后果。(3)项目团队尤其是项目经理的责权不清,授权不合理,导致其工作无法开展。尤其是一些规模较大的企业多个项目存在耦合,项目内又划分子项目的情况下,项目经理的责权划分经常很难清晰。
2项目管理和大型软件系统项目管理
2.1主流管理体系
2.1.1项目管理所谓项目管理,就是项目的管理者在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。即从项目的决策开始到项目结束的全过程进行计划、组织、指挥、协调、控制和评价,以实现项目的目标。
2.1.2项目管理的基本内容划分(1)项目质量管理。项目质量管理包括保证项目满足其需求所需要的过程。包括确定质量方针、目标和职责并在质量体系中通过诸如质量计划、质量控制、质量保证和质量改进使其实施的全面管理职能的所有活动。(2)项目时间管理。项目时间管理包括为确保项目按时完成所必要的过程。包括工序定义、工序排序、工序工期估计、制定进度计划、进度控制等。(3)项目成本管理。项目成本管理包括确保在批准的预算内完成项目所需要的诸过程。包括成本管理主要过程:资源规划、费用估算、费用预算、费用控制等。(4)项目采购管理。项目采购管理包括需要从执行组织以外获得货物和服务的过程。包括采购计划编制、招标计划编制、招标、选择来源、合同管理等。(5)项目人力资源管理。项目人力资源管理包括需要最有效地利用涉及项目人员的过程。包括所有项目受益者、组织的计划编制、人员招聘、队伍开发等。(6)项目沟通管理。项目沟通管理包括保证及时、适当地产生、收集、、储存和最终处理项目信息所需的过程。以下为主要过程:信息计划编制,信息,执行情况汇报,行***收尾。(7)项目风险管理。项目风险管理包括对项目风险的识别、分析和应对过程。包括风险识别、风险量化、风险应对措施开发、风险应对控制。
2.1.3大型软件系统项目管理阶段划分大型软件系统项目管理阶段按照定义项目分为以下六大阶段:项目需求阶段;项目选择阶段;项目计划阶段;项目执行阶段;项目控制阶段;项目收尾阶段。
2.1.2大型软件系统项目管理
2.2.1大型软件系统项目概念大型软件系统是指基于大中型计算机、通信网络等现代化的工具和手段,收集、储存、处理和输出信息,以提供信息服务为主要目的的数据密集型、人机交互的计算机应用系统。
2.2.2大型软件系统项目的特点(1)项目持续时间较长和阶段交叉性相结(2)项目成员复杂。参与项目实施的成员虽然主要来自承包商的多个职能部门的人员,还包括来自用户不同部门或下属结构的业务人员,还有一些分包商和供货商的人员参与。参与项目的人员通常要由计算机、网络、通信、电子、管理等不同专业背景的专家、工程技术等人员共同合作,才能保证项目的实施。由于大型软件系统牵涉范围广,所以参与项目的成员全部集中在某一地区不是很现实的事情,而是往往分布在全国各地,甚至需要在国外人员的合作参与。
2.3大型软件系统项目的管理问题
2.3.1项目责任范围界定不清一是项目初期客户对自身需求不清晰;二是项目实施过程中客户需求自身发生变动;三是需求分析人员和客户对需求的理解有误;四是缺少客户业务部门参与。
2.3.2项目团队缺少有效管理一是团队沟通意识差;二是团队欠缺分工合作;三是项目成员的流动频繁。
3提高大型软件系统项目质量的具体方法
3.1真实需求的获取最终用户真实需求的获取就是需求分析的过程,它是一个项目的基石。在以往信息系统集成项目失败的案例中,大部分是由于需求分析的不明确而造成的,因此对于一个信息系统集成项目成功的关键因素之一,就是对需求分析的把握程度。只有确确实实地把握客户的需求和方向,才能做好后续的工作,这也是项目范围管理的重点。需求分析需要安排专门的人员组成项目需求分析小组,这个小组员的组成除了要有专业的需求分析人员和系统设计人员外,还必须包括用户方代表。用户方代表应为用户各项业务的代表,他们能够提出用户的一些真实需求,或者通过他们能够了解到最终用户的真实需求。需求分析小组要制定详细的需求调研计划,确定需求调研的方法。为了便于需求调研双方的充分合作理解,在需求调研开始前进行一些培训工作是必要的,这些培训包括调研方法的培训、用户业务流程的培训等。
3.2利用WBS分解项目工作分解结构(WorkBreakdownStructure,WBS),是一种面向可交付成果的项目元素分组,这个分组组织并定义了全部的项目工作范围;每下降一级都表示一个更加详细的项目工作的定义。分解是指把主要可交付成果分成较小的、便于管理的组成部分,直到可交付成果定义明晰到足以支持各项项目活动(计划、实施、控制和收尾)的制定。使用WBS的最大优点是可以监控以及预测成本、进度等不同的项目信息,并且给所有的项目参与者员提供了一个均可与之作对比的一致基准。
3.3范围的验证项目范围验证不应该仅仅发生在项目结项的时候,这样做往往会流于形式。比较理想的做法是在项目各个阶段,至少是里程碑的阶段,由项目需求分析小组的成员(特别是用户方代表)、项目经理、该阶段可交付成果的负责人组成评估小组,由阶段工作成果的负责人进行宣讲,评估小组一起进行评审和验证。
3.4项目团队管理对于大型信息系统集成项目而言,项目团队组建是由项目主要干系人采用协商方式来完成,而不是由单方指定的;而项目的管理采用的是项目管理委员会领导下的项目经理负责制,而不是项目经理个人责任制。项目管理委员会一般是由项目各主要干系方指派的项目负责人组成,项目经理由项目管理委员会成员通过充分的沟通协商指定。这样做的主要目的是平衡项目干系方的满意度,保证项目目标的实现。
3.5项目团队的成长项目团队要建立起整体形象,需要明确方向,并且试***对要完成的工作明确划分和制订计划。项目经理对于项目成员要采取预期激励、信息激励和参与激励的激励方式。项目团队成长与激励关系示意***3.6软件项目的估算在项目计划阶段或项目进度调整时,对项目的规模、工作量、进度和费用进行估算,便于掌握项目的进度,控制项目的成本。而且这些估算的数据可作为其他项目估算的参考,同时也将作为项目跟踪与监控的度量基准。估算主要包括规模和工作量的估算。首先要进行的就是规模估算,规模估算应该与项目需求一致,以便确定该项目的工作量、成本和进度。每个规模属性应附上有关的难度和复杂度,然后结合项目成员的平均生产性,进行工作量估算,进而安排任务的时间进度。超级秘书网
4结语
当今我国软件企业实施软件项目管理的许多技术还不成熟,软件项目延期、超出预算、品质低劣甚至项目失败等现象十分严重。在大型软件系统开发过程中,做好项目管理是软件开发能否成功的核心问题之一。笔者希望通过对大型软件系统项目的项目管理进行的研究,为项目管理者对项目的评估、计划、控制提供一套标准化、系统化、定量化和切实可行的方法体系,为国内软件企业的软件项目管理在实际中的应用提供参考。
参考文献
[1]美国项目管理协会.项目管理知识体系指南[M].2版.卢有杰,王永,译.北京:电子工业出版社,2005.
软件项目管理论文篇(5)
软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。包括:付出较低开发成本;达到要求的软件功能;取得较好的软件性能;软件易于移植;维护费用较低;能按时完成开发任务;软件可靠性高等。在软件工程开发中遇到的具体问题可以总结为如下几点:
(1)软件模块开发过于***,各模块没有统一的开发标准,造成系统功能重复,开发平台不统一,系统整合难度大;
(2)系统开发往往针对某一特定功能,没有形成一个完整的系统结构;
(3)总体设计不够细致,各个子系统功能模块风格不统一;
(4)开发人员技术水平、开发能力和时间有限,开发手段相对原始,代码的可重用性低、可读性差;
(5)缺乏有效的软件文档管理。这些问题集中体现在软件项目开发的每一模块中,导致整个项目开发过程中,开发费用超出原定计划,生产的软件系统不能满足用户需求,系统难以简易维护,系统无法高效运行等问题。这里既有技术层面的因素,即开发平台不统一;也有软件开发的组织与管理层面的因素,即程序员对系统功能的定义、规划和设计不明确,往往是开发人员摸着石头过河,仅仅从自己开发的这部分模块来考虑问题,另外开发人员和测试人员不能很好的协调,这些都说明了软件项目管理这一角色的欠缺。
二、项目管理针对软件工程开发的优势
项目管理包括时间、质量、成本三大要素,三者相辅相成,相互制约。时间可等价于软件项目开发中的开发生命周期,即在最终达到开发目标前的各个阶段的总用时。质量可等价于最终开发软件系统的功能性,可用性与达到的客户满意度。成本相当于软件项目开发中的费用,包括人力、地点、工具、系统故障处理等方面的开销。统筹时间、质量、成本三要素,即统筹软件项目开发周期、软件使用客户满意度和开发费用之间的平衡关系,不因忽略某一项指标而导致项目开发目的实现不了或中途中断,也不会为了实现较高的效率,而忽略成本的牺牲,让所有项目开发过程中,所涉及到的因素都可有条不紊地进行。
SPPT是项目管理另一层面上概括的四要素,分别为:战略(Strategy)、人(People)、次序和安排(Process)、工具(Tool)。战略对于软件项目来说,主要概括为模块开发的开发方式,配合方法等;人,毫无疑问,指的是项目开发中的参与者;次序则是项目如何划分模块,以及模块开发的先后次序;工具,即使用工具,包括:辅导设计程序系统、文档编写系统、资源管理系统等。对这四要素的稳定地统筹把握,能更好的协调好项目开发过程中涉及的多个方面,而又不造成某一方面的缺失,导致项目最终目的实现不了或效果不明显。
三、项目管理思想与软件工程开发的结合
根据上述项目管理要素与软件工程开发要素的结合,平衡项目开发过程中的开发要素,能更加简洁高效地完成项目开发目标。IT软件企业处于项目为主导的环境中,每天所面对的将是成百上千不断发生、进行的项目。在这种多项目并发、高技术、快速变化、资源有限的环境下,为了试***满足不断变化的市场需求及应对各种挑战,必须考虑改进项目管理。
软件项目管理论文篇(6)
1.1软件项目功能的识别和度量依据软件项目的开发特点,软件项目功能模块包括基本功能和扩展功能,根据需要还会有衍生的附加功能。它在产品中的作用和价值有很大差异。对整体的投入/产出有很大的影响。如何定义这些功能,并进行合理的功能划分,包括其必要性和可能性、以及交付的时间节点,需要充分考虑用户需求、开发成本、时间因素、质量要求,将这些基本需要和用户真实需求进行匹配和对接,体现价值工程思想在软件项目中的应用和契合。
1.2软件项目成本的识别和度量软件项目成本是指为获取软件功能而付出的成本,主要体现为人力、物力、财力和时间的投入。相应的成本和出,最终都可以从价值论的角度用统一的度量标准、度量方法和度量单位进行分析和度量。在项目生命周期中,启动、规划设计、结束阶段相应的成本较低,实施阶段的成本最高,应该进行有效的评估和设计。通过挣值管理(EVM),了解项目成本、进度的偏差,及时进行纠偏或变更管理。
1.3软件项目价值的识别和度量在价值工程中,价值、功能和成本三者之间的关系应该是:价值=功能(或效用)/成本(或生产费用),用公式可表示为:V=F/C。V代表Value,即为价值;F代表Function,即为功能,C代表Cost,即为费用。从项目管理的角度出发,影响产品的价值不仅是功能和费用,还需要考虑相应的时间成本以及质量要求所带来的成本,综合以上因素,有学者提出其价值可用公式表示为:V=(F+Q)/(C+T)。上式中增加了质量(Q代表Quality)因素和时间(T代表Time)因素在价值中的作用。在实际的操作中,其具体的核算指标依据项目特点会有很大差异。影响价值的因素,除了以上各项,还包括用户体验、供需关系和认可度等诸多方面。
软件项目管理论文篇(7)
中***分类号:G642 文献标识码:B
1引言
在普通高等学校软件工程本科专业的教学中,“软件项目管理”课程通常作为一门核心的必修主干专业课程。该课程主要通过学习软件项目管理的各种基本理论、方法以及技巧,让学生可以在短时间内掌握软件项目管理的基本知识和实践能力,培养学生在大型软件开发中管理软件项目的基本能力,使学生掌握规范化的软件开发和质量控制过程。
然而,由于软件项目管理过程本身就是一个复杂的系统工程,使得“软件项目管理”课程存在许多问题,主要如下:
(1) 软件项目管理的基本理论源自于上世纪50年代出现的近代项目管理学,软件项目管理还处于一个较新的阶段,其发展迅速且不成熟。
(2) 软件开发是一种“人本经济”,生产中人力资本起决定性作用。早期开发中个人单打独斗的软件开发方式导致软件项目管理执行困难。
(3) 软件项目管理内容抽象,其主要包含大量指导软件项目开发过程的思想、原则和方法等,学生理解困难。
(4) 软件项目管理课程实践主观性太强,方案设计以电子版为主。除部分学生外,不少学生拷贝严重,实验效果难以得到保证。
针对这些问题,笔者认为对“软件项目管理”课程进行相关的教学改革是必要的。过去的一学期中,我们针对南京邮电大学计算机学院软件工程专业的“软件项目管理”课程进行了相应的教学改革实验。结合这次的教学经验,本文从软件项目管理的教学内容组织、教学方法等方面进行了较为深入的研究与分析,提出了多媒体课件、小组讨论、仿真演示相结合的综合教学方法;对课程实验采用结合软件工程课程的实验,以小组为组织对象。
整个课程教学表明,这次课程实践有助于学生理解软件项目管理中的各种理论和方法,激发学生对“软件项目管理”课程的学习热情,有助于对学生实行创新性人才培养。
2教学内容
在理论教学方面,我们“软件项目管理”课程的教材选用由Bob Hughes,Mike Cottrell著,周伯生等翻译的《软件项目管理》(第三版)。
我们此次教学实践选取了其中部分内容作为理论授课内容,主要设置包括包括:软件项目管理引言2学时、步进式方法:项目策划概述2学时、项目评价2学时、选择合适的项目方法2学时、软件工作量估计4学时、活动策划3学时、风险管理2学时、资源分配2学时、监督与控制3学时、管理合同4学时、管理人员与组织群组2学时、软件质量控制4学时。理论课时总计32学时。整个“软件项目管理”课程的重点是项目方法与过程模型、软件工作量的估计、活动策划、风险管理、软件质量控制等。
在软件项目管理实验教学部分,我们课程规划8个课内学时,另外配以8个课外学时,总共16学时,完成4个实验。根据理论教学内容,从培养学生掌握重要理论方法实际应用能力的角度,实验具体设置为:项目方法及过程模型分析4个学时、软件工作量估计模型的建立4个学时、网络策划模型4个学时、软件质量度量方法4个学时。
3教学方法
3.1理论教学
相比于其他软件工程专业主干课程,“软件项目管理”课程显得更加抽象,这样导致学生在学习的过程中难度较大。加上软件项目管理主观性强,需要理论和实践相结合。因此,“软件项目管理”课程往往对任课老师提出了更高要求。为了提高教学效果,我们精心设计和调整了软件项目管理理论教学方法,提出了一种多媒体课件、小组讨论和仿真演示相结合的理论教学方法。
(1) 多媒体课件
使用多媒体课件,可以将软件项目管理中的一些基本理论、原则和方法通过文本、***片等展示出来,弥补传统黑板板书的不足之处,使老师有更多的精力和时间集中在授课内容之上。在多媒体课件的制作过程中,我们要求对学生形成较好的视觉效果,选择适当的多媒体元素,以便集中学生的注意力。同时,也不能完全用多媒体课件替代板书,导致学生对知识的系统性了解不够,需要对两者形成较好地结合。
(2) 小组讨论
“软件项目管理”是一门主观性很强的课程,其基本理论和原则大多属于指导性,导致不同的学生面对同一问题时可能会形成不同见解。为了充分发挥学生的主观性,课程上我们将学生以3~5人为组,对不同的问题进行分析,小组内部通过讨论形成统一观点,然后选择代表将观点展示给全班同学,接受其他同学对小组观点的质疑和评分。
(3) 仿真演示
软件项目管理过程中存在大量的过程演示,如工作量的估计、项目活动策划、质量控制过程等,我们将这些过程通过仿真动画展示出来。如针对工作量估计中的COCOMO模型,我们可以通过一个项目的工作量计算过程的仿真动画,展示该模型的关键点,从而提高学生的学习兴趣和掌握其中关键的知识点。
3.2实验教学
“软件项目管理”课程中的实验主要是设计类型实验,为软件开发中的不同过程设计其评估、管理和控制方案。我们所设计的软件项目管理实验具有如下特点:
(1) 结合软件工程实验的项目管理实验
在实验中,项目管理往往需要针对具体的软件开发项目展开,而软件项目的开发需要较多的时间和精力。为了避免学生将过多的精力集中在项目开发上,我们要求学生针对软件工程实验中软件项目展开项目管理设计。这样一方面减轻学生工作量,提高实验效果;另一方面通过对有无项目管理的软件开发的对比,让学生理解和意识到软件项目管理的重要性。
(2) 基于小组的项目管理实验
我们在实验中打乱原来在软件工程实验中的小组分配,每个小组只保留一个原来实验的开发人员。避免原来项目开发中不规范的管理对设计软件项目管理方案时的影响,也保证整个小组对项目具体内容有一定的熟悉程度。
3.3学生成绩考核
教学实践的效果不但取决于教学内容,还受到教学中激励、过程控制以及学生成绩考核等的影响。整个学生成绩考核主要由两部分组成:平时成绩和期末成绩,两者分别占最后总评成绩的30%和70%。平时成绩中主要考核包括三项:平时上课随机点名时的出勤率、学生完成作业情况、课堂小测验或提问情况。根据“软件项目管理”课程在我院软件工程专业属于专业必修课程的性质,期末成绩由两部分组成,一部分是闭卷考核成绩,另一部分是项目管理实验。其中前者主要考核学生对基本理论、原则方法和技巧的掌握,同时也通过分析题和论述题检查学生在项目管理中的主观观点。后者主要考核学生对这些知识在项目管理实践中的应用程度。
4实施效果与经验教训
4.1实施效果
在这次教学实践过程中,相当部分同学的积极性被调动起来,取得了较好的效果。学生对此次教学时间的评价也处于较好状态。整个计算机学院软件工程专业4个班级127名学生被分为了29个小组,均完成了软件项目管理中四个关键控制过程的报告。通过教师主导,学生参与评分的模式,较好地调动了学生上课的主动性和积极性,出勤率平均超过97%。全学期下来,全班平均成绩达到83分,不及格人数仅4人。
4.2经验教训
(1) 课程内容还需调整,软件开发过程是以人为本的系统工程,其项目管理相当复杂。作为一门仅40课时的专业课程,这次课程实践选择内容较多,过于强调覆盖面,对重点内容不够突出。以后的实践中应该对课程重点进行突出。
(2) 课程实验基于软件工程课程实验,实验效果在一定程度上受到其影响。由于部分同学软件工程实验过于简略,对这些软件开发实施项目管理难以展开,下一次实践可以考虑对一些其他的软件开发过程进行项目管理。
(3) 为了组织好项目管理评比和课堂讨论的内容,对项目小组中每次主讲成员没有进行随机抽取,导致部分项
目小组过于依赖某个能力较为突出的成员,难以有效地提高所有小组成员的主动性。下次教学中可以采用随机抽取的方式。
5结束语
软件项目管理课程知识较为庞杂,主观性强,如何提高其教学效果需要多方面的改进。本文从教学内容和教学方法等多方面对此次“软件项目管理”课程教学实践进行了总结和分析。同时,这次教学实践中也暴露出一些问题,这将是我们进一步教学改革的重点。
参考文献:
[1] ***芳,丁亚菲. 软件工程专业双语教学的实践与思考[J]. 计算机教育,2008(24):126-128.
[2]Bob Hughes, Mike Cottrell. 软件项目管理[M]. 周伯生,译. 3版. 北京:机械工业出版社,2004.
[3]Pankaj Jalote. 软件项目管理实践[M]. 北京:清华大学出版社,2005.
软件项目管理论文篇(8)
中***分类号:G642文献标识码:B
文章编号:1672-5913(2007)05-0026-03
1 引言
“软件项目管理”几乎是所有软件学院的必修课程,这门课程不同于传统的“软件工程”课程,但与PMBOK定义的项目管理也有所不同,它不是抽象的项目管理,而是软件工程项目的项目管理,必须结合软件项目的特点。
由于传统教学主要讲授概念、理论、方法,学生的实践能力较弱,在实践中也不知如何应用所学的理论方法,因此现在教改强调实践能力的培养,学生也急于实践体验,往往又忽视基本概念、理论与方法的学习。但是没有理论指导实践,实践会变得盲目、不系统,会走很多弯路。管理科学的理论是总结许多失败与成功的经验教训之后提炼抽象而来的,真正掌握了理论方法,实践才会更科学、更系统,同时也能避免走弯路。
“软件项目管理”的实践不像软件系统分析设计、数据库设计、面向对象设计等课程那样,让学生完成设计文档及编码实现就可以了。如果学生仅仅提交相关文档,根本无法体会实际的项目管理所涉及的各种问题,如计划、质量管理等,尤其是那些非文档能体现的管理问题,如沟通、人力资源管理等。
为此,我们在教学中,课堂讲授主要采取理论结合案例进行教学,学生在课程实践过程中模拟企业的项目管理,亲自体验项目管理,自己解决问题,并且参与到考核中。
2 软件项目管理案例教学
管理科学的理论大多来自于实践,但却是经过整理、抽象的理论方法。面对这些理论,学生看到的是文字、符号、***表,要将这些文字、符号、***表再用于实践、指导实践却是一件不容易的事情。
管理的课程不结合案例讲解很容易变成空洞的说教,无法引起学生的兴趣,理论方法也难以被学生理解掌握,但完全讲案例又容易变成讲故事、就事论事,曾有学生要求课上全部讲案例分析,但案例分析的基础是理论,如果不讲清楚理论无法系统、科学地分析案例。
因此,课堂教学我们采用理论结合案例的教学方法。授课以理论教学为主,但为了使学生理解、掌握理论方法,所有的理论教学都穿插小案例,而为了使学生对完整的项目管理有一定了解,课上会有一两个大案例分析使学生将所学知识融会贯通。
课上所选案例几乎都是国内的案例,而且大多数是授课教师亲身经历过的案例。事实上,影响一个项目的因素非常多,我们从文献资料上看到的案例描述是不完整的,所以很难对这些案例有真切的体会,在分析讲解时也会牵强,只有对自身经历过的案例,讲解时才能全面、深刻、生动。
此外,我们采取开放式的互动教学。由于每次开课选课人数都在200-300人,无法实时互动,但鼓励学生在课间提问及课后通过邮件提问,这样可以过滤一些绝大多数同学都明白的非常基本的问题,对于对同学都有意义的问题,教师会在课堂上给学生进行讲解。尤其是有多年实习工作经验的同学,会提出非常实际但在许多企业解决得不好或没有解决的问题,教师在课堂上对这些问题给予解答,使其他同学在学习的过程中也能感受到来自企业的实际案例。
3 通过课程实践软件项目管理
理论在抽象的过程中必须抽取部分,落到一个点上,但是实践能够涉及到许多点,而且相互关联影响,远比理论描述复杂得多。如何将理论变成可操作的方法、有效的策略?解决某一问题有许多方法,哪种最合适呢?
亲自实践获取的感悟是最深刻的。读、听所获取的感悟、理解只在表层,必须实践,才能深刻理解所学的理论方法。为了让学生有深刻的体会,必须让学生通过课程实践体会软件项目管理中的问题,利用所学的理论与方法解决这些问题。
课程实践主要是模拟团队开发的组织与管理过程,让学生组成小组,共同协作完成课程实践。课程实践不仅要求学生完成一些文档,还要求学生提交每次任务的组织过程,包括会议记录、问题与解决方案及效果,最后还需要提交一份将整个课程实践过程作为一个实践案例的案例分析。
下面分别从几个方面介绍作业实践的内容、方式与考核。
团队组建:课程实践要求学生自愿组成项目小组,五人一组,小组成员在每次作业中轮流担任项目组长,完成不同任务。小组人员不宜太少,如果太少,组员间协调的复杂度不够;如果太多,对于松散的学生小组而言,协调的难度太大,难以完成课程实践。
团队组建完全由学生自己组队,可以采取招聘的方式。比如,在学院网站上招聘自己需要的组员。一般,有项目经验的同学喜欢组成一个小组,没有项目经验的同学往往组成一个小组,但是由于这些没有项目经验的同学非常认真、投入,反而在实践过程中收获更多,完成作业的质量也更高。
选题:团队组建完成之后,每个小组通过讨论选择一个虚拟或实际的软件项目,以此项目展开整个课程实践。课程实践中途不允许更换项目,这样,学生在选择项目时就要认真分析讨论。
作业内容:课程实践要求提交五份作业,相当于完成五次任务。五次任务分别是针对所选项目完成以下工作:
(1)立项报告:对所选项目进行技术、市场、经济等各个方面的可行性分析,重点是确定项目的目标、范围、关键技术等。立项报告是项目管理的纲要性指导文件。
(2)工作量估算:这是项目管理的的基础,项目的计划、任务的分配、成本等都依赖于工作量估算。作业要求利用课程讲授的估算方法,先对项目规模进行估算,在规模估算的基础上,利用课程讲授的估算方法进行工作量估算。
(3)项目计划:项目计划包括过程计划、资源计划、文档计划、风险计划、质量计划、人力资源计划及进度等多项计划,要求学生在工作量估算的基础上制定计划。
(4)任务分配:是在工作量估算和项目计划的基础上,将任务进行合理分解,并且在一定的时间约束下分配给每个组员。
(5)十大风险清单:每次作业分为两部分,一部分是提交上述文档,一部分是提交作业过程记录文档,包括会议记录、所遇问题及解决方法等。
轮岗:为了使每个同学都能够深切体会到项目管理中的各种问题,要求每个同学都做一次项目经理,在其他作业中担任组员。在做项目经理的过程中,每个学生体会收获都不一样,每个同学遇到的问题也都不一样。当遇到问题时,学生可以向教师咨询,但是教师不参与解决问题,完全由同学自己解决问题。
这种方式使学生真正体会了团队沟通协作。许多问题来自于沟通,而沟通带来的问题往往与人的性格有关,而非技术或能力,这使许多同学意识到沟通的重要性,也意识到自身素质在团队合作中的重要性。
通过角色的轮换,使学生体会项目经理的职责与权利,体会组织、领导一个团队协同工作的各种问题,同时也学习如何被领导,如何与他人合作共同完成一项任务,使学生从领导者与被领导者两种角度体会软件项目管理。同时,每次作业也都训练学生完成软件项目管理中的重要工作,如立项、项目计划、软件估算、风险管理等。
考核方式:教师在收到作业后,给每个小组打分,这个分数是项目组的成绩,也是项目经理的成绩。然后,将成绩发给同学,由项目经理给每个组员打分。项目经理根据组员在本次作业中的表现给组员分配成绩,遵循的原则是小组平均成绩不超过小组成绩。
为组员分配成绩作为项目经理的一种职权,不仅帮助项目经理在整个任务执行中能够有一定的管理力度,同时也让同学体会如何正确使用职权。当小组成员对项目经理的成绩分配有异议时,可以向教师提出申诉,由教师经过调查进行协调,或给予仲裁。
教师对小组作业考核的指标包括所提交文档的质量、过程文档的质量、解决问题的方法、以及提交作业的时间等。项目经理对小组成员的考核标准包括工作量、完成任务的质量等。
作业讲评:教师会对每份作业批注,明确指出哪部分完成得好,哪部分存在不足,应该如何改进。在下次课堂上,教师会讲评优秀作业和完成质量较差的作业,让学生知道差距,从实例中学习如何改进。
4 课程实践效果分析
“软件项目管理”课程经过近十轮的教学,课程实践也在不断改进中。但无论怎样改进,课程实践的效果很大程度上取决于学生的投入。一些小组为了完成作业经常一起讨论到凌晨一两点,他们在考核时也很认真,项目经理会认真根据每个小组成员的工作给予合理的成绩,这些学生反映通过课程实践真正体会了软件项目管理。而一些小组却可能每次作业委托一个同学完成,最后的成绩每个人都是平均成绩,这些学生大多数是工作繁忙的在职学生,他们由于工作繁忙难以投入大量时间与精力。
在课程结束时提交的课程实践案例分析中,学生收获最大的是对于沟通管理的理解,以及作为项目经理的问题解决能力的重要性的认识。当然,也实际训练了作业所要求掌握的知识与方法。
本课程实践没有要求学生提交项目的需求分析文档、设计文档、代码等,但要完成工作量估算,至少要完成需求分析。无论如何,没有要求学生实现软件系统,学生还不能完全体会到软件项目管理中的问题,尤其是与技术、开发相关的问题。所以,经过几次课程实践之后,本课程的课程实践与分析设计课程的作业结合起来,要求两门课程的项目小组一样,用同一个项目完成所有作业。这样,学生就可以在课程实践中完整体会软件项目管理。
参考文献:
[1] [美] 斯蒂夫・迈克康奈尔.快速软件开发[M].北京:电子工业出版社.
[2] [美] 斯蒂夫・迈克康奈尔..微软项目求生法则[M].北京:.机械工业出版社.
[3] [美] 爱德华・.尤登.死亡之旅超常规软件项目的开发实践[M].北京:电子工业出版社.
软件项目管理论文篇(9)
1.引言
项目管理(PM,projectmanagement)是指利用现有的知识、方法和技术手段,有效地计划、调度、控制和跟踪项目的开始、执行、直止终止的过程,是项目顺利实现的有效手段。软件项目管理则是在项目管理的基础上,结合软件产品的实际,利用工程的概念和方法来开发与维护软件,对成本、风险、时间、质量、过程、配置等进行分析、管理、控制,最终目的是为了让软件项目的整个生命周期都在管理者的控制范围内,以预定成本按期、按质完成软件的开发并交付用户使用。目前,软件产品已广泛应用于各个领域,但是很多软件项目的成功率并不高.虽然有些公司根据软件工程理论建立了一些软件开发管理规范.但并没有从根本上提高软件项目管理问题,这就导致软件产品质量不稳定甚至是项目的失败,同时也损害了用户的利益。本文结合我国软件项目管理的特点并经实践应用.以提高软件质量、降低成本、加强软件项目的可控性为目标,通过对CMM的研究和改进,给出了一个基于CMM加强软件项目管理的实践模式,在这个模式中对目前CMM中的KPA做适当的裁减,定义了6个关键过程域和3个工作组。
2.软件项目管理中目前存在的问题
影响软件项目成功率的因素主要是软件质量问题,而在整个软件项目的实施过程中需求不明确、跟踪和监督不力、缺乏客观的软件评审和软件配置以及风险管理意识不足等都阻碍着软件质量的提高。
2.1需求不明确
需求管理是软件项目管理中非常关键的一个步骤.需求分析的完整与否可以降低软件质量、延长项目周期、加大成本。由于用户对计算机系统认识的不足,对于系统的需求往往比较模糊,遗漏甚至是错误的问题经常出现(包括管理流程、业务流程、数据或报表的分析处理等),但这些问题往往没有暴露给开发人员,而是随着项目的进展才逐渐明确。对于开发人员来说,需求的变更意味着软件产品的部分内容必须重新开发,而对于整个软件项目管理而言,势必要重新分配资源、调整计划、估算成本等等,导致软件产品质量下降。
2.2跟踪和监督不力
跟踪和监督主要针对过程而言,也是项目管理中最容易被忽视的环节。软件项目过程由多个任务构成,大部分任务都有前置任务和后置任务,这就要求项目管理者要严格跟踪和监督每一个任务。任务的完成主要从时间进度和质量两方面来衡量,还要充分考虑因客户方引起的一些客观因素(更改需求分析等)。项目管理者虽然制定了具体的项目进度内容,但如果缺乏有效的跟踪和监督机制,对于每一个阶段所要完成的任务疏于评价,就会影响下阶段软件产品的质量,有时甚至是软件产品的重新开发,最终影响整个软件项目。
2.3缺乏客观的软件评审
客观的软件评审是软件产品质量的直接保障,软件评审一直贯穿于整个软件项目的过程中,对软件产品的评审应有客户使用人员和软件业中的同行来进行。客户使用人员对软件产品做阶段性的评审可以及时发现软件产品功能方面的不足,同行评审可以从软件业的规范及标准去发现问题.软件评审可以降低软件开发的成本提高软件产品的质量。大多情况下项目管理者没有做任何阶段性的评审,通常只是在软件产品开发基本完成之后来组织评审,果发现了很多问题,但要修改已经非常困难.要花费很长的时间甚至从头再来。
2.4软件配置混乱
软件配置是指软件产品在各个阶段各种版本的文档、程序及数据的集合,贯穿于整个软件项目的始终。随着软件产品开发的进行,由于各种客观原因,其中的预算、设计方案、进度等内容都有可能需要大大小小的更改(这些改动可能是合理的),整个改变的过程对软件项目的参与人员来说必须是可视的,以便提高软件的可靠性和质量,而这一切都应该有正确的软件配置来控制如果失去正确的软件配置管理,那么针对软件产品发生的任何更改或者是维护都会给软件项目带来混乱甚至是失败。
2.5风险管理意识不足
风险管理是软件项目中防止失败的一种重要手段,软件项目不同的阶段存在着不同的风险,并且风险会随着项目的进展而变化,目前国内的软件企业大都不注意软件项目的风险管理。除了社会环境风险、商业风险等这些客观风险之外.可控的软件项目风险主要指技术风险。技术风险主要是指与软件项目本身相关的的技术因素变化带来的风险,如果在一定的条件下达不到技术条件能够实现的目标,不但延缓项目的进度而且会增加项目的成本.继而使整个项目受到影响。
3.通过过程管理加强软件项目管理的实践模式
利用cMM fCapabilityMaturityModeforSoftware)的核心思想把软件项目管理看作一个软件过程,并根据这一原则对整个软件项目的开发和管理进行过程监控,监督发现过程中影响项目的关键问题并予以解决。软件过程是指软件开发人员开发和维护软件及相关产品的一套行为、方法、实践及变换过程,包括软件开发过程和软件管理过程。CMM把软件开发机构按照不同开发水平划分为5个级别。每个等级被分解为几个KPA(关键过程域),KPA是指在某个成熟度等级应重点关注的区域,也是达到此成熟度等级必须解决的关键点。①初始级,无过程意义。软件过程是无序的、随机的、缺乏总计划,无预见性,大多数活动是应付危机,经常超期超支,成功取决于个人。②可重复级,具备基本的项目管理。KPA分别是:需求管理、软件项目计划、软件跟踪与监督、软件子合同管理、软件质量保证、软件配置管理;③已定义级,已定义软件过程。已将软件管理和软件工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。KPA分别是:组织过程焦点、组织过程定义、培训大纲、集成软件管理、软件产品工程、组间协调、同行评审;④可管理级,过程可度量。已收集了软件过程和产品质量的详细度量方法,软件过程和产品均可被定量地理解和控制。KPA分别是:定量过程管理、软件质量管理;⑤优化级,过程控制。通过过程的量化反馈以及新技术、新方法促使过程不断改进。KPA分别是:缺陷预防、技术更新预防、过程更改管理。
CMM只是一个过程改进的框架.并没有给出具体实施的办法。在该模式中对目前CMM中的KPA做适当裁减.定义了6个关键过程域:软件项目计划(SPP)、需求管理(RM)、软件项目跟踪和监督(SPTO)、软件质量保证(SQA)、软件配置(SCM)、同行评审(PR),设置了三个工作组:软件项目过程组(SPPG)、软件工程组(SEG)、软件质量保证组(SQAG)。通过工作组对关键过程域的操作来加强软件项目的管理。
3.1定义KPA
3.1.1软件项目计划(SPP)
软件项目计划是为要实施的软件项目编制软件过程活动的安排,包括进度控制、成本控制、质量控制、风险控制等,也是实施CMM2的核心此阶段在安排过程活动的同时开展项目设计的前期工作,设计和界定在整个项目中各阶段所需的开发、质量、跟踪、评审、风险、成本等工作。项目计划是指导项目过程的具体措施,要在有软件项目实施经验的人员领导下投人大量的时间和人力资源来完成。制定项目计划应注意7个问题。①在科学论证的基础上制定过程,充分调动人员积极性合理地确定项目组的参加人员;②对软件项目各程中的任务进行分解,明确项目的里程碑和检查点;③正确估计软件项目中的软件资源、硬件资源、人力资源及其它费用;④正确估计各方面因素带来的风险并制定应对措施;⑤制定项目实施过程中的跟踪和监督措施;⑥确定软件的评审和测试方法;⑦详细的文档资料。
3.1.2需求管理(RM)
需求分析主要包括面向用户的用户需求和面向开发人员的系统需求.是整个软件工程的第一步.也是非常关键的一个环节。需求分析主要针对用户的业务流程、系统功能、性能、数据分析进行严格的定义.是设计一个软件应用系统的起点与基本依据,通过它来评判软件产品是否能够解决用户问题,也是项目成功与否的标准。就目前国内现状来讲,一般签定软件项目合同的用户是主管信息技术的负责人,它所关心的可能是整个系统的目标需求,用户方中层管理人员关心的是业务流程需求.终端操作人员则注重软件本身的易操作性和功能特性,因此.面向用户的需求一定要和用户多方人员多沟通、交流.最终通过双方有关部门人员的论证以文档资料的形式确定下来。任何一个需求分析因客观原因可能存在着需求更改的现象,对于这种情况一定要注意需求更改的可控性.要建立需求的基准版本和更改版本控制文档资料.使受需求变化影响的产品与需求变更一致。但要注意在更改需求的同时要衡量需求的稳定性,如果一个需求的变更比较频繁,意味着本项目并没有真正了解用户想要解决的实际问题。可以说需求分析的完整性和变更可控性直接影响到软件过程的改进,它可以降低软件质量、加大软件开发的成本、甚至是导致项目的失败。软件工程组(SEG)中要明确定义一个需求管理员。
3.1.3软件项目跟踪和监督(SPTO)
软件项目的跟踪和监督始终贯穿于整个软件项目的过程中,是项目得以控制的前提和条件、是软件质量的根本保障,其目的是增加软件过程中进度、成本、工作量、质量、风险等内容的可视性,也是实施CMM2的核心。除去市场、法律等不可控制因素外,根据项目计划对项目进展的有关情况及影响项目实施的相关因素进行及时、客观、准确的信息采集,将采集到的需求、成本、进度、风险等内容形成文档并建立一个项目跟踪信息平台。项目负责人定期召集软件过程人员、开发人员、质量保证人员、用户方有关人员召开开放式的例会,例会的主要内容是检查项目进展、数据的分析、认识的偏差、资源的搭配、相关的风险等问题并讨论确切的解决办法,通过跟踪和监督使项目始终处于可视化的受控状态。
3.1.4软件质量保证(SQA)
软件质量保证是与软件产品满足规定的和隐含的需要能力有关的特征或特性的组合。对用户来讲主要体现在软件产品的有效性、一致性、完整性、可靠性和可操作性等方面,对于软件产品本身来讲体现在软件产品的可移植性、易维护性、健壮性、可重用性等方面。具体实践中.软件质量保证应在软件项目计划、需求分析、跟踪和监督、软件配置和软件评审的相互配合下完成.软件质量保证要做到以事先预防和跟踪为主,事后纠偏为辅。
3.1.5软件配置(SCM)
软件配置是针对软件产品的跟踪和控制活动.贯穿于整个软件项目的过程中.目的是建立和维护在整个生命周期内软件产品的完整性和一致性,使整个软件产品的演进过程处于可控的状态,继而提高软件的可靠性和质量。在实践应用中主要做到五个子项的配置①配置项的标识。标识做到唯一性。便于跟踪和管理。②版本管理。对整个软件过程中的文件和目录提供有效的跟踪手段。③变更控制。保持并传递修改信息。④配置审计。确定整个项目生产周期中产品在技术和管理上的完整性。⑤系统整合。把系统的不同部分集成后完成一组特定的功能。
3.1.6同行评审(PR)
同行评审是根据预定的规范和标准对软件产品进行评审。评审的结果是衡量软件产品质量的依据。在整个软件过程中对详细设计和软件综合测试作为两个关键评审点来进行评审,评审的过程中注意要结合本软件项目的具体要求和标准。
3.2组的定义
在具体的实践应用中设置了三个组,在降低了人员成本的同时提高了软件过程改进能力和软件质量。
软件项目过程组(SPPG)组织具体的项目实施活动,管理并协调整个软件项目的过程,主要完成SPP和SPTO。
软件工程组(SEG)负责软件工程的需求分析、概要设计、详细设计、编码、测试、维护工作。
软件质量保证组(SQAG)主要完成SPTO、SCM、PR、SQA等工作。
4.实践模式效率评估
4.1开发时间
软件开发由需求分析、概要设计、详细设计、编码、软件测试、项目维护和软件集成几部分内容组成,在需求分析和设计阶段采用CMM框架实施过程管理所花费的时间要多于没有实施过程管理花费的时间。首先对项目做大量分析,论证项目的可行性。然后在和用户做良好沟通、反复论证的基础上做需求分析,形成文档资料。这种模式下花费在需求分析和设计上的时间大约占项目总开发时间的40%,但这两个阶段完成了数据流程、算法描述、详细的规格说明等内容,为代码编写、软件测试、软件维护等后续内容的工作节省了时间,软件项目的开发周期大大缩短。经过评估,采用该实践模式实施软件过程管理的软件项目开发周期比没有实施软件过程管理的软件项目开发周期缩短20%。
4.2开发质量
软件项目管理论文篇(10)
1.引言
项目管理(pm,projectmanagement)是指利用现有的知识、方法和技术手段,有效地计划、调度、控制和跟踪项目的开始、执行、直止终止的过程,是项目顺利实现的有效手段。软件项目管理则是在项目管理的基础上,结合软件产品的实际,利用工程的概念和方法来开发与维护软件,对成本、风险、时间、质量、过程、配置等进行分析、管理、控制,最终目的是为了让软件项目的整个生命周期都在管理者的控制范围内,以预定成本按期、按质完成软件的开发并交付用户使用。目前,软件产品已广泛应用于各个领域,但是很多软件项目的成功率并不高.虽然有些公司根据软件工程理论建立了一些软件开发管理规范.但并没有从根本上提高软件项目管理问题,这就导致软件产品质量不稳定甚至是项目的失败,同时也损害了用户的利益。本文结合我国软件项目管理的特点并经实践应用.以提高软件质量、降低成本、加强软件项目的可控性为目标,通过对cmm的研究和改进,给出了一个基于cmm加强软件项目管理的实践模式,在这个模式中对目前cmm中的kpa做适当的裁减,定义了6个关键过程域和3个工作组。
2.软件项目管理中目前存在的问题
影响软件项目成功率的因素主要是软件质量问题,而在整个软件项目的实施过程中需求不明确、跟踪和监督不力、缺乏客观的软件评审和软件配置以及风险管理意识不足等都阻碍着软件质量的提高。
2.1需求不明确
需求管理是软件项目管理中非常关键的一个步骤.需求分析的完整与否可以降低软件质量、延长项目周期、加大成本。由于用户对 计算 机系统认识的不足,对于系统的需求往往比较模糊,遗漏甚至是错误的问题经常出现(包括管理流程、业务流程、数据或报表的分析处理等),但这些问题往往没有暴露给开发人员,而是随着项目的进展才逐渐明确。对于开发人员来说,需求的变更意味着软件产品的部分内容必须重新开发,而对于整个软件项目管理而言,势必要重新分配资源、调整计划、估算成本等等,导致软件产品质量下降。
2.2跟踪和监督不力
跟踪和监督主要针对过程而言,也是项目管理中最容易被忽视的环节。软件项目过程由多个任务构成,大部分任务都有前置任务和后置任务,这就要求项目管理者要严格跟踪和监督每一个任务。任务的完成主要从时间进度和质量两方面来衡量,还要充分考虑因客户方引起的一些客观因素(更改需求分析等)。项目管理者虽然制定了具体的项目进度内容,但如果缺乏有效的跟踪和监督机制,对于每一个阶段所要完成的任务疏于评价,就会影响下阶段软件产品的质量,有时甚至是软件产品的重新开发,最终影响整个软件项目。
2.3缺乏客观的软件评审
客观的软件评审是软件产品质量的直接保障,软件评审一直贯穿于整个软件项目的过程中,对软件产品的评审应有客户使用人员和软件业中的同行来进行。客户使用人员对软件产品做阶段性的评审可以及时发现软件产品功能方面的不足,同行评审可以从软件业的规范及标准去发现问题.软件评审可以降低软件开发的成本提高软件产品的质量。大多情况下项目管理者没有做任何阶段性的评审,通常只是在软件产品开发基本完成之后来组织评审,果发现了很多问题,但要修改已经非常困难.要花费很长的时间甚至从头再来。
2.4软件配置混乱
软件配置是指软件产品在各个阶段各种版本的文档、程序及数据的集合,贯穿于整个软件项目的始终。随着软件产品开发的进行,由于各种客观原因,其中的预算、设计方案、进度等内容都有可能需要大大小小的更改(这些改动可能是合理的),整个改变的过程对软件项目的参与人员来说必须是可视的,以便提高软件的可靠性和质量,而这一切都应该有正确的软件配置来控制如果失去正确的软件配置管理,那么针对软件产品发生的任何更改或者是维护都会给软件项目带来混乱甚至是失败。
2.5风险管理意识不足
风险管理是软件项目中防止失败的一种重要手段,软件项目不同的阶段存在着不同的风险,并且风险会随着项目的进展而变化,目前国内的软件 企业 大都不注意软件项目的风险管理。除了社会环境风险、商业风险等这些客观风险之外.可控的软件项目风险主要指技术风险。技术风险主要是指与软件项目本身相关的的技术因素变化带来的风险,如果在一定的条件下达不到技术条件能够实现的目标,不但延缓项目的进度而且会增加项目的成本.继而使整个项目受到影响。
3.通过过程管理加强软件项目管理的实践模式
利用cmm fcapabilitymaturitymodeforsoftware)的核心思想把软件项目管理看作一个软件过程,并根据这一原则对整个软件项目的开发和管理进行过程监控,监督发现过程中影响项目的关键问题并予以解决。软件过程是指软件开发人员开发和维护软件及相关产品的一套行为、方法、实践及变换过程,包括软件开发过程和软件管理过程。cmm把软件开发机构按照不同开发水平划分为5个级别。每个等级被分解为几个kpa(关键过程域),kpa是指在某个成熟度等级应重点关注的区域,也是达到此成熟度等级必须解决的关键点。①初始级,无过程意义。软件过程是无序的、随机的、缺乏总计划,无预见性,大多数活动是应付危机,经常超期超支,成功取决于个人。②可重复级,具备基本的项目管理。kpa分别是:需求管理、软件项目计划、软件跟踪与监督、软件子合同管理、软件质量保证、软件配置管理;③已定义级,已定义软件过程。已将软件管理和软件工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。kpa分别是:组织过程焦点、组织过程定义、培训大纲、集成软件管理、软件产品工程、组间协调、同行评审;④可管理级,过程可度量。已收集了软件过程和产品质量的详细度量方法,软件过程和产品均可被定量地理解和控制。kpa分别是:定量过程管理、软件质量管理;⑤优化级,过程控制。通过过程的量化反馈以及新技术、新方法促使过程不断改进。kpa分别是:缺陷预防、技术更新预防、过程更改管理。
cmm只是一个过程改进的框架.并没有给出具体实施的办法。在该模式中对目前cmm中的kpa做适当裁减.定义了6个关键过程域:软件项目计划(spp)、需求管理(rm)、软件项目跟踪和监督(spto)、软件质量保证(sqa)、软件配置(scm)、同行评审(pr),设置了三个工作组:软件项目过程组(sppg)、软件工程组(seg)、软件质量保证组(sqag)。通过工作组对关键过程域的操作来加强软件项目的管理。
3.1定义kpa
3.1.1软件项目计划(spp)
软件项目计划是为要实施的软件项目编制软件过程活动的安排,包括进度控制、成本控制、质量控制、风险控制等,也是实施cmm2的核心此阶段在安排过程活动的同时开展项目设计的前期工作,设计和界定在整个项目中各阶段所需的开发、质量、跟踪、评审、风险、成本等工作。项目计划是指导项目过程的具体措施,要在有软件项目实施经验的人员领导下投人大量的时间和人力资源来完成。制定项目计划应注意7个问题。①在 科学 论证的基础上制定过程,充分调动人员积极性合理地确定项目组的参加人员;②对软件项目各程中的任务进行分解,明确项目的里程碑和检查点;③正确估计软件项目中的软件资源、硬件资源、人力资源及其它费用;④正确估计各方面因素带来的风险并制定应对措施;⑤制定项目实施过程中的跟踪和监督措施;⑥确定软件的评审和测试方法;⑦详细的文档资料。
3.1.2需求管理(rm)
需求分析主要包括面向用户的用户需求和面向开发人员的系统需求.是整个软件工程的第一步.也是非常关键的一个环节。需求分析主要针对用户的业务流程、系统功能、性能、数据分析进行严格的定义.是设计一个软件应用系统的起点与基本依据,通过它来评判软件产品是否能够解决用户问题,也是项目成功与否的标准。就目前国内现状来讲,一般签定软件项目合同的用户是主管信息技术的负责人,它所关心的可能是整个系统的目标需求,用户方中层管理人员关心的是业务流程需求.终端操作人员则注重软件本身的易操作性和功能特性,因此.面向用户的需求一定要和用户多方人员多沟通、交流.最终通过双方有关部门人员的论证以文档资料的形式确定下来。任何一个需求分析因客观原因可能存在着需求更改的现象,对于这种情况一定要注意需求更改的可控性.要建立需求的基准版本和更改版本控制文档资料.使受需求变化影响的产品与需求变更一致。但要注意在更改需求的同时要衡量需求的稳定性,如果一个需求的变更比较频繁,意味着本项目并没有真正了解用户想要解决的实际问题。可以说需求分析的完整性和变更可控性直接影响到软件过程的改进,它可以降低软件质量、加大软件开发的成本、甚至是导致项目的失败。软件工程组(seg)中要明确定义一个需求管理员。
3.1.3软件项目跟踪和监督(spto)
软件项目的跟踪和监督始终贯穿于整个软件项目的过程中,是项目得以控制的前提和条件、是软件质量的根本保障,其目的是增加软件过程中进度、成本、工作量、质量、风险等内容的可视性,也是实施cmm2的核心。除去市场、 法律 等不可控制因素外,根据项目计划对项目进展的有关情况及影响项目实施的相关因素进行及时、客观、准确的信息采集,将采集到的需求、成本、进度、风险等内容形成文档并建立一个项目跟踪信息平台。项目负责人定期召集软件过程人员、开发人员、质量保证人员、用户方有关人员召开开放式的例会,例会的主要内容是检查项目进展、数据的分析、认识的偏差、资源的搭配、相关的风险等问题并讨论确切的解决办法,通过跟踪和监督使项目始终处于可视化的受控状态。
3.1.4软件质量保证(sqa)
软件质量保证是与软件产品满足规定的和隐含的需要能力有关的特征或特性的组合。对用户来讲主要体现在软件产品的有效性、一致性、完整性、可靠性和可操作性等方面,对于软件产品本身来讲体现在软件产品的可移植性、易维护性、健壮性、可重用性等方面。具体实践中.软件质量保证应在软件项目计划、需求分析、跟踪和监督、软件配置和软件评审的相互配合下完成.软件质量保证要做到以事先预防和跟踪为主,事后纠偏为辅。
3.1.5软件配置(scm)
软件配置是针对软件产品的跟踪和控制活动.贯穿于整个软件项目的过程中.目的是建立和维护在整个生命周期内软件产品的完整性和一致性,使整个软件产品的演进过程处于可控的状态,继而提高软件的可靠性和质量。在实践应用中主要做到五个子项的配置①配置项的标识。标识做到唯一性。便于跟踪和管理。②版本管理。对整个软件过程中的文件和目录提供有效的跟踪手段。③变更控制。保持并传递修改信息。④配置审计。确定整个项目生产周期中产品在技术和管理上的完整性。⑤系统整合。把系统的不同部分集成后完成一组特定的功能。
3.1.6同行评审(pr)
同行评审是根据预定的规范和标准对软件产品进行评审。评审的结果是衡量软件产品质量的依据。在整个软件过程中对详细设计和软件综合测试作为两个关键评审点来进行评审,评审的过程中注意要结合本软件项目的具体要求和标准。
3.2组的定义
在具体的实践应用中设置了三个组,在降低了人员成本的同时提高了软件过程改进能力和软件质量。
软件项目过程组(sppg)组织具体的项目实施活动,管理并协调整个软件项目的过程,主要完成spp和spto。
软件工程组(seg)负责软件工程的需求分析、概要设计、详细设计、编码、测试、维护工作。
软件质量保证组(sqag)主要完成spto、scm、pr、sqa等工作。
4.实践模式效率评估
4.1开发时间
软件开发由需求分析、概要设计、详细设计、编码、软件测试、项目维护和软件集成几部分内容组成,在需求分析和设计阶段采用cmm框架实施过程管理所花费的时间要多于没有实施过程管理花费的时间。首先对项目做大量分析,论证项目的可行性。然后在和用户做良好沟通、反复论证的基础上做需求分析,形成文档资料。这种模式下花费在需求分析和设计上的时间大约占项目总开发时间的40%,但这两个阶段完成了数据流程、算法描述、详细的规格说明等内容,为代码编写、软件测试、软件维护等后续内容的工作节省了时间,软件项目的开发周期大大缩短。经过评估,采用该实践模式实施软件过程管理的软件项目开发周期比没有实施软件过程管理的软件项目开发周期缩短20%。
4.2开发质量
软件项目管理论文篇(11)
【中***分类号】G71 【文献标识码】A 【文章编号】2095-3089(2013)12-0233-01
一、P6项目管理软件简介
P6软件是一套由美国Primavera公司研发的适合项目级和企业级推广应用的项目管理软件。世界上最大的企业级项目管理软件供应商,从事项目管理软件的研发有30年的历史。现被orcle公司收购。在美国,十有八九的工程项目使用Primavera进行项目管理,中国有4,200多用户,分布在700多个公司。目前已推出P6V8.3版本,个人版为免费使用。
P6项目管理软件主要有以下几个方面的功能:
1.多项目、多用户及多权限设置管理
2.项目进度计划及进度管理
3.资源的使用分析及平衡
4.项目预算、费用计划,跟踪实际成本支出
5.项目文档记录
6.项目风险分析及跟踪
二、工程管理课程主要的知识内容体系
高职高专工程项目管理课程的知识体系长期以来一直比较固定,大部分教材都沿着体系内容进行编写,主要包括以下几个方面:
1.项目经理责任制
2.项目管理规划,施工组织设计
3.项目进度计划,流水施工及网络***
4.施工项目的成本、质量、安全控制
5.施工项目合同管理
三、P6项目管理软件在工程预算课程应用
P6项目管理软件的使用离不开项目管理知识,同样,工程管理课程的基础知识需要通过工程实例的实际应用加深理解。在工程管理课程的课堂教学内引入P6项目管理软件,使得原来比较枯燥的理论知识有应用对象,也使得原来比较难以操作的P6项目管理软件在教学下学生易于理解,以下是工程管理课程与P6项目管理软件课程安排点。
1.工程管理课程中的项目经理责任制,通过P6项目管理软件内设置的权限管理,使学生更加清楚理解权限的概念。P6软件内设置了诸多权限选项,可以根据施工现场的实际情况配置项目经理权限,施工员权限,材料员权限等。
2.项目进度计划,P6项目管理软件是按照关键路径法进行参数计算的软件,所以在进度计划安排上可以反映出网络***的参数计算,包括最早开始时间,最晚开始时间,总机动时间,自由机动时间等六个时间参数。对于流水施工,可以通过计算后在逻辑关系上进行延时来完成。
3.项目的成本、进度控制,P6项目管理软件通过“赢得值”这一参数对工程进行实际的成本分析控制。通过输入预算值,实际值,软件自动进行赢得值的计算,通过分析费用差值(盈利)和时间差值(进度指标),对项目进行动态的控制。
4.施工项目的合同管理。P6软件内包括文档管理,可以给每个工作任务加以合同文档,进行合同文档管理,同时外接专业的合同管理软件Contract Manager进行专门的合同管理,相关数据可以直接导入P6软件内。
5.项目管理规划,通过上述的几项可以完成施工进度计划,通过在软件资源加载可以完成资源需求计划,在P6软件内有EPS及OBS,EPS(企业项目结构)和OBS(企业组织结构),通过EPS和OBS的一一对应,可以完成项目管理规划中的施工管理组织机构,并且通过权限设置,使学生更加深刻理解。
四、实际的课程运用案例
在实际的课程教学中,在《工程预算与管理》课程中应用了P6项目管理软件进行案例分析讲解,引发了学生较高的兴趣。在工程管理的课程内容穿插结合实际的P6项目管理案例(新校区***书馆工程),使得学生在学习了理论知识的同时,也掌握了进行工程项目管理的实际操作方法。
五、总结
转载请注明出处我优求知网 » 软件项目管理论文大全