从软件项目管理的重要性谈起,研究分析了四个主流的软件项目管理技术,指出了它们的缺陷,最后结合实践提出了一种新颖的软件项目管理概念。
1引言
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。最早源自于70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项目是因为管理善引起的,而并不是因为技术实力不够,进而得出一个结论,即管理是影响软件项目全局的因素,而技术只影响局部。这个结论非常重要。到了90年代中期,软件项目管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10%的项目能够在预定的费用和进度下交付。在商用软件产业中,这一现象尤为严重。1995年,美国共取消了810亿美元的软件项目,其中31%的项目未做完就取消了,53%的软件项目进度通常要延长一半的时间,通常只有9%的软件项目能够及时交付并且费用也不超支。由此可见,软件项目管理技术的研究至关重要。
2软件项目管理技术综述
随着上世纪末软件工程的快速发展,软件项目管理水平也有了很大提高,提出了很多的软件项目管理技术,极大地推动了软件业的发展,这里我们主要谈以下四种主流的软件项目管理技术。
2.1 CMM
CMM是美国卡纳基梅隆大学软件工程研究所(CMU/SEI)提出的软件研发项目管理的一系列方法,它基于组织对关键过程域的支持,定义了软件过程成熟度的五个级别。
级别1(初始级)描述了不成熟,或者说是未定义过程的组织。级别2(可重复级),级别3(已定义级),级别4(已管理级)和级别5(优化级)分别描述了软件过程成熟度级别递增的组织。和这些级别相关的KPA是:
级别2:需求管理,软件项目计划,软件项目跟踪和监控,软件子合同管理,软件质量保证,软件配置管理。
级别3:组织级过程焦点,组织级过程定义,培训大纲,集成软件管理,软件产品工程,组间协调,同行评审。
级别4:定量过程管理,软件质量管理。级别5:缺陷预防,技术更新管理,过程更改管理。
2.2 CMMI
CMMI被看做是把各种CMM集成为一个系列的模型中。CMMI的基础源模型包括:软件CMM2.0版(草稿c),EIA一731系统工程,以及IPDCMM(IPD)0.98a版。CMMI也描述了5个不同的成熟度级别:
级别1(初始级)代表了以不可预测结果为特征的过程成熟度。过程包括了一些特别的方法、符号、工作和反应管理,成功主要取决于团队的技能。
级别2(已管理级)代表了以可重复项目执行为特征的过程成熟度。组织使用基本纪律进行需求管理、项目计划、项目监督和控制、供应商协议管理、产品和过程质量保证、配置管理、以及度量和分析。对于级别2而言,主要的过程焦点在于项目级的活动和实践。
级别3(严格定义级)代表了以组织内改进项目执行为特征的过程成熟度。强调级别2的关键过程域中前后一致的、项目级的纪律,以建立组织级的活动和实践。附加的组织级过程域包括:①需求开发:多利益相关者的需求发展。②技术方案:展开的设计和质量工程。③产品集成:持续集成、接口控制、变更控制。④验证:保证产品正确建立的评估技术。⑤确认:保证建立正确的产品评估技术。⑥风险管理:检测、优先级,相关问题和意外的解决方案。⑦组织级培训:建立机制,培养更多熟练人员。⑧组织级过程焦点:为项目过程定义建立组织级框架。⑨决策分析和方案:系统可选的评估。⑩组织级过程定义:把过程看做组织的持久发展的资产。⑩集成项目管理:在项目内统一各个组和利益相关者。
级别4(定量管理级)代表了以改进组织性能为特征的过程成熟度。3级项目的历史结果可用来交替使用,在业务表现的竞争尺度(成本、质量、时间)方面的结果是可预测的。级别4附加的过程域包括:①组织级过程执行:为过程执行设定规范和基准;②定量的项目管理:以统计质量控制方法为基础实施项目。
级别5(优化级)代表了以可快速进行重新配置的组织性能和定量的、持续的过程改进为特征的过程成熟度。附加的级别5过程域包括:①因果分析和解决方案:主动避免错误和强化最佳实践;②组织级改革和实施:建立一个能够有机地适应和改进的学习组织。
2.3 PSP
PSP(PersonalSoftwareProcess,个体软件过程)是由CMU/SEI开发出来的,它的推出在软件工程界引起了极大的轰动,可以说是由定向软件工程走向定量软件工程的一个标志。PSP为基于个体和小型群组软件过程的优化提供了具体而有效的途径,例如如何制订计划,如何控制质量,如何与其他人相互协作等等。在软件设计阶段,PSP的着眼点在于软件缺陷的预防,其具体办法是强化设计约束准则,而不是设计方法的选择。因此,PSP保障软件产品质量的一个重要途径是提高设计质量。
2.4 TSP
TSP(TeamSoftwareProcess,群组软件过程)是CMU/SEI在PSP基础上又发展出的软件项目管理技术,它主要是指导项目组中的成员如何有效地规划和管理所面临的项目开发任务,并且告诉管理人员如何指导软件开发队伍。始终以最佳状态来完成工作。TSP实施集体管理与自己管理自己相结合的原则,最终目的在于指导开发人员如何在最少的时间内,以预定的费用生产出高质量的软件产品,所采用的方法是对群组开发过程的定义、度量和改进。
实施TSP的先决条件有三条:首先,需要有高层主管和各级经理的支持,以取得必要的资源;其次,项目组开发人员需要经过PSP的培训并有按TSP工作的愿望和热情;第三,整个开发单位在总体上应处于CMM二级以上,开发小组的规模以3~20人为宜。在实施TSP的过程中,首先要有明确的目标,开发人员要努力完成已经接受的委托任务。在每一阶段开始,要做好工作计划。如果发现未能按期按质完成计划,应立即分析原因,以判定问题是由于工作内容不合适或工作计划不实际所引起,还是由于资源不足或主观努力不够所引起。开发小组一方面应随时追踪项目进展状态并进行定期汇报,另一方面应经常评审自己是否按PSP的原理工作。开发小组成员应按自己管理自己的原则管理软件过程,如发现过程不合适,应及时改进,以保证用高质量的过程来产生高质量的软件。项目开发小组则按集体管理的原则进行管理,全体成员都要参加和关心小组的规划、进展的追踪和决策的制定等项工作。
3软件项目管理技术分析研究
CMM的基于活动的度量方法和瀑布过程的有次序的、基于活动的管理规范有非常密切的联系,所以CMM在实践中反映出来的问题表现为过度基于过程的管理,具有典型的传统瀑布方法症状。现代主流的叠代软件项目开发技术、软件产业最佳实践和经济动机推动了软件开发组织采用基于结果的方法:开发业务案例、构想和原型方案;细化后纳入基线结构、可用发布,最后定为现场版本的发布。虽然CMMI保留了基于活动的方法,它的确集成了软件产业内很多现代的最好的实践,因此它很大程度上淡化了和瀑布思想的联系,而和叠代思想联系得更紧密。软件项目管理技术发展到今天,有了成熟的现代软件项目管理十大原理(沃克尔·罗伊斯):①首先注重结构过程;②用叠代生命周期在早期防御风险;③强调基于构件的开发;④建立变更管理环境;⑤用循环工程工具使变更更自由;⑥使用严格的、基于模型的设计符号;⑦提供过程的客观质量控制的手段;⑧使用中间产品的基于演示的评估;⑨发布细化的、展开的计划;⑩建立一个可升级的、可配置的过程。
根据对软件开发项目一线的多数工程师和项目经理的调查分析,我们知道CMM对现代原理几乎没什么影响,甚至有些现代原理实际上是和CMM关键过程域相冲突的。基于对产业默认实践的观察和分析,CMMI和现代管理原理关系十分密切,激发了半数的叠代软件管理原则,如表1所示。
因此,对于采用瀑布过程开发软件项目的组织来讲,最好采用CMM的软件项目管理技术,而对于采用迭代软件开发过程开发软件项目的组织来说,还是应该采用CMMI软件项目管理技术进行软件项目管理。
但是,并不是实施了CMM/CMMI后,软件研发项目的质量就能够有所保障了。CMM/CMMI不是万能的,它的成功与否,与组织内部有关人员的积极参与和创造性活动密不可分,而且CMM/CMMI并未提供有关子过程实现域所需要的具体知识和技能。这就需要PSP的管理技术来协作了,PSP专注于为个体和小型群组软件过程的优化提供具体而有效的途径。统计数据表明,在应用了PSP后软件中总的差错减少了,在i贝0试阶段发现的差错减少了,生产效率提高了,软件项目开发有了很大的改善。
众所周知,现代软件项目早已走出单个英雄单打独斗的时代,而是需要众多软件工程师的密切合作。实践证明,PSP已不能解决现代软件项目管理中的所有问题,这时,擅长于项目任务规划管理和项目人力资源规划管理的TSP恰好可以在这方面做有益的补充。
综上所述,单纯实施CMM/CMMI,永远不能真正做到能力成熟度的升级,达到软件项目管理的最佳境界,只有将实施CM CMMI与实施PSP和TSP有机地结合起来,灵活地应用于软件项目管理,才能发挥最大的效力,取得最好的效果。
4总结
文章分析研究了几种主流的软件项目管理技术,结合实践,提出了新颖的软件项目管理概念。我们相信随着软件工程的发展和进一步成熟,软件项目管理技术的发展会取得更大的进步。在实际项目中,我们要坚持改善软件工程的管理,并在实践中总结适合自身的经验,这样才有利于管理技术的进步和软件项目的顺利完成,创造出更高的品质、更大的效益。
本文针对软件开发中的进度延期、费用超标、质量低下等问题,探讨了如何利用项目管理中的相关控制方法进行软件开发过程控制。、论文在阐述软件项目管理内容的基础上,针对软件项目的三要素分别进行了探讨:进度控制、费用控制和质量控制,提出了几种有效的软件项目管理控制方法。这些研究对于加强我国软件项目管理控制过程,降低开发成本,减少开发风险具有重要的意义。 论文关键词:项目管理进度控制费用控制质量控制软件开发 ...
本文介绍了一个基于工作流技术而研制的软件项目管理系统。文章首先描述了传统软件项目管理系统的不足之处,提出用工作流的方法来设计软件项目管理系统,然后介绍了一些理论基础。文中重点阐述了系统的设计结构和所采用的一些技术,并给出了部分的具体实现方法。 论文关键词:工作流,JMS,项目管理,SPP,建模,工作流网 1前言 2O世纪7O年代以来,为了解决软机危机,改进软件过程能力,计算机科学家提出了软件...
摘要:2012年以来,智能计算需求呈指数级增长,增速超越摩尔定律,达到每年一个数量级。2026年国务院《政府工作报告》提出实施超大规模智算集群等新型基础设施工程。本文借鉴人类智能“小算力、大网络”的生物学特征,结合光传输等低功耗技术,从体系结构、计算结点、网络技术和产业生态四个维度,对国外超大规模智算集群的发展趋势提出十项判断,以供参考。关键词:超大规模智算集群;体系结构;计算结点;网络技术;技术...
针对网络化务件下涉密信息应用和管理中的保密需求,提出了一种涉密信息网络化集中应用模式,建立了相应的涉密信息网络安全应用系统框架,并对其体系结构进行了详细叙述,最后通过建立系统原型验证了该系统框架的可行性和实用性。 引言 计算机网络的运用给人们带来了极大便利,成为工作和学习不可或缺的重要工具,而与此同时也给计算机信息特别是涉密信息的管理和保密工作带来了新的挑战。尽管现在网络安全的研究和实践已经取...
本文提出了一种适用于IEEE754-1985标准的浮点数除法器的设计体系。本文的除法器体系基于NewSvoboda-Tung除法算法原理,采用基数为8的MROR(maximallyredundantmaximallyrecorded)符号数位集实现。在NST除法器中,被除数和除数都必须经过预处理。本文采用了一种预处理的硬件设计方案,该方案的时间复杂度为一个固定的常数(不依赖于除数数位的长短)。在除...
主要介绍利用ASP技术设计和开发安阳钢铁网站,如何进行网站动态设计,以便于网站的维护与更新,并且体现了网站可更新性、可兼容性、可发展性的设计理念。 随着互联网技术的不断革新与发展,给全球经济带来新的革命,中国正在以迅捷的速度建立自己的互联网环境,随着这种环境的逐步形成,企业已经意识到网络对其本身的影响,从而纷纷建立起企业形象和商业宣传类型网站。主要是为了全面展现企业的整体理念,介绍公司的业务和宣...
本文根据电力企业信息化建设的要求,采用MPLSVPN技术建设安全、可靠、稳定、合理、经济、高效、扩容性好、兼容性强的电力数据网。文章从MPLSVPN理论出发,重点研究MPLSVPN在承德电力数据网中的部署方案。关键词:MPLSVPNOSPFIP路由电力数据网 0引言 鉴于国家电网公司“SG186”、华北电网公司“5E”的接入需求及变电站建设规...
摘要 ZNS固态硬盘(zonednamespacessolid-statedrive,ZNSSSD)通过将闪存地址空间划分为多个区域(zone),在每个区域内实施顺序写入,并将传统固态硬盘中由闪存转换层(flashtranslationlayer,FTL)管理的地址映射、垃圾回收等操作上移至主机端,有效消除了因地址映射、随机写入和过度空间预留(over-provisioning,OP)所带来的“块...
我国的科研工作者在数字电视广播标准的研究方面作了大蚤的工作,提出了多套方案,笔者其中以上海交通大学提出的高级数字电视广播ADTB系统传愉方案和清华大学电子工程系提出的地面数字多嫌体/电视广播传愉系统((DMB-T)较为成熟,在实际的地面数字电视广播系统中都有所试用,本文时此进行了研究。 关键词:数学电视 地面移动技术优化 1上海交通大学的AD丁B一数字电视地面传输方案ADTB一T是一种...
在经济全球化背景下,区域创新网络已经成为提升区域竞争力、获取区域竞争优势的重要基础。区域创新网络作为创新活动的一种新型组织模式.其出现与发展并非偶然,而是具有内在发展规律的。为揭示这一规律.以区域创新网络的理论源起为出发点,深入剖析了区域创新网络的内涵,以竞争层面、市场竞争模式、创新方式为切入点对区域创新网络的多层次发展动因予以研究,进而从知识创造与共享、集体互动学习、根植性与社会资本等不同研究视...