
软件项目由于应用的领域不同,一般涉及众多的业务知识领域,项目成果也应以软件的逻辑产品来体现,其最终成果及实现过程的可见性、可度量性相对较弱。因此,软件项目管理比一般工程项目要复杂得多。基于软件项目管理的特点分析,并结合软件项目开发管理经验,讨论了软件项目组织架构、计划与过程控制等软件项目管理要素,提出了矩阵式项目管理模型,分析了该模型中业务知识与计算机技术共同作用所能达到的最佳效果,讨论了需求管理模型及其应用,实践证明该模型是行之有效的。
O引言
项目管理是伴随着项目进行而进行的,是一种为了满足甚至超越项目所有者对项目的期望而将理论知识、技能、工具和技巧应用到项目中的管理活动,是一门关于项目资金、时间、人力等资源控制的管理科学。
顾名思义,软件项目管理就是项目管理在软件领域的应用,是一种为了能够按照预定的工期、质量顺利完成软件项目而对成本、人员、进度、质量、风险等进行控制管理的活动。其核心在于通过有效的管理,明确项目范围,合理调配人力资源,提高项目团队的整体开发能力,优化项目执行过程,控制项目成本,为用户提供满意的软件产品。
1软件项目管理的特点
软件是一种特殊的产品,这种产品的特殊性之一就是它的生产活动是以项目的形式进行的,因此,项目管理对软件生产具有决定性的意义。软件项目管理除了具有一般项目管理的特点外,还有其独特之处,主要表现在:
(1)软件产品缺乏硬性度量指标。
软件的最大特点在于一个“软”字,它不像建筑项目,最终可以有一个实物,可以用某一个标准去刚性的度量评价。而软件产品客观上具有“不可见性”,表现在它没有一个可见的实物,还表现在其度量指标也不能像度量实物那样具有明确性。有效的项目管理就是要使软件及其生产过程由不可见、不可度量变成可见和可度量。
(2)重视应用领域的业务知识。
对于计算机应用软件来说,它并不单纯是计算机技术问题,更多地表现在它所服务的业务领域的知识技能。如企业ERP、SCM等应用软件项目,计算机只是它的载体,计算机技术往往并不起决定作用,而与之相关的业务知识、管理知识显得更加重要。
(3)管理比技术本身更重要。
软件项目是一项计算机技术、信息技术、管理科学等多学科交叉的系统工程。随着信息技术的发展,软件项目应用领域不断扩张、项目规模不断扩大、项目业务日趋复杂,一个软件从构想到完成,需要大量的从事不同工作的人共同努力,个人单打独斗的作坊式开发方式显然已经无法适应这种信息技术发展的需要。在一
个大型信息系统工程项目里,需要系统策划人员、分析设计人员、编程人员、测试人员和用户等众多人员的共同参与和密切配合,如何将可用资源有效地结合在一起,并使之发挥最大效率,如何保证项目按照预定的时间将预先约定的软件产品提交给客户是软件项目管理的核心任务。项目管理往往成为决定软件项目成败的重要因素。
(4)强调文档的重要性。
文档是软件产品的重要组成部分,软件项目管理以工程化的管理方法,强调规范文档的重要性,在软件生命周期的各个阶段,强调对里程碑文档的评审,并把文档作为阶段成果的重要体现和下阶段的基础。
(5)重视培训与服务的价值。
培训与服务是发掘软件产品价值的重要手段。一个软件产品,如果没有人使用就不能形成价值,如果不会使用,就可能降低软件的价值。服务的优劣已经直接影响软件的使用价值并决定软件产品的生命周期。总之,软件项目管理重视培训与服务在软件增值中的意义。
2管理架构矩阵模型
规范化的管理体现在:有完整的基于软件开发标准(如CMM、ISO等)的开发流程;有基于这个流程的完整详细的开发计划;有基于开发计划的成本预算和成本控制方法;有明确的阶段检查措施和评价标准;有明确的质量管理体系和质量保证实施手段,保证项目在可控状态下进行。而这一切都需要有一个组织有效的管理团队和运作规范的管理架构。
在软件项目管理过程中,项目经理起着至关重要的作用。对于项目经理,目前有两种观点:一种认为软件项目经理应该是计算机某方面的应用专家,能够对项目组成员给予技术指导,如此才有能力合理安排工作。另一种观点则认为,项目经理应该是职业经理,他可以不是计算机技术专家,但应该是管理专家,具备轻松调配各部门资源的技巧和有效地组织、管理开发队伍、协调沟通的能力,他的作用主要体现在协调、管理、合理安排成员的工作,控制项目进度和费用,与用户沟通,等等。事实上,在一般意义上,不管是技术型专家还是管理型专家都无法满足现代软件项目管理的需要。在传统的垂直型管理模式中,项目经理要直接管理到具体的程序员,一般只适用于不太复杂的技术型项目,它忽视了中间层的作用,不便于发挥员工的积极性。而扁平化管理意味着要面对很多的直接下级,对管理者提出了很高的管理要求,特别对于大型项目来说,可能涉及到很多业务领域知识,他都要面面俱到,这对于一个不管是技术型还是管理型项目经理来说似乎都很难做到,即使对于所谓既懂专业又懂管理的全才专家来说,也不可能要求他在各个方面都是最优秀的。
众所周知的事实是,找一个既懂专业又有项目管理经验的专家往往比较困难,但如果找几个或懂专业或懂项目管理的专家也许并不困难。一个好的软件项目团队就应该是它可以有效整合各成员的能力,使集体的能量达到最大化。因此,与其找一个所谓全才的项目经理,还不如构建规范的管理架构。根据笔者多年的软件开发、项目管理的实践和经验,提出了“矩阵式”软件项目管理模型。在这个模型中,项目经理也只是其中的一个角色而已。他并不需要面面俱到,也不需要掌握项目的全部细节,他要做的全部工作就是按管理规范要求完成项目经理这个角色所特有的工作。在这个架构下,更便于发挥项目团队中备人所长,使集体的智慧得以充分张扬。每个人所做的工作(包括他的知识)都已经留存下来了,即使项目经理因故离职,接任者也可以从容接手,从而降低了因为人员流动可能对项目造成的风险。
如表1所示,是某项目管理架构的矩阵模型。每个业务子系统有一个业务专家负责,他们一般都精通某一个方面的业务,由他们直接面对用户,可以与用户业务人员有更多的共同语言,便于交流,更容易捕获用户需求。而在软件开发的每个阶段,按软件工程生命周期,各阶段由具有技术专长的技术人员负责。所以,整体上可以充分发挥各业务负责人精通业务领域知识和阶段负责人精通相关技术的优势,使项目团队整体成为名副其实的既懂专业又懂管理的专家。
矩阵管理可以更好地发挥各专业人员的业务专长,又能更好地发挥各技术层面技术人员的特长,项目经理重要的工作就是协调,重点在于如何结合众多资源控制整个开发进程。矩阵模型也有利于软件公司人才战略,有利于组织内部人才的培养,充分展现个人的发展空间。大多数软件企业也许都很难有精通所有专业的全才,但都拥有为数众多精通某一类业务的系统分析师,或精通某一类专门技术的专门人才。根据矩阵模型,公司可以培养员工向不同方向发展,有技术特长的,培养他发展技术的深度,有其他专业特长的,比如精通税务、金融、企业管理等,则培养成业务专家。这样,在人尽其才的同时,又有利于留住人才,稳定了软件开发队伍。
3计划与过程控制
项目计划包括风险管理计划、质量管理计划、人力资源计划、环境资源计划等。软件项目计划和过程控制为消除或削弱软件的“不可见”带来的不确定性提供了很好的保障措施。基于任务分解(WBS)的工作分配和项目组织结构,明确每个项目开发人员的责任以及他们之间的连接,把整个项目周期划分为若干个小的阶段,每个阶段都有明确的目标和阶段成果及其确认准则。由于把每个阶段要完成的工作、预期的成果都清晰地描述出来了,一方面,可以使用户不断看到一个个阶段成果,而不是在项目全部完工后才看到一个大的成果,增强了用户的信心;另一方面。通过明确的阶段结果,随时收集有关项目进程数据,按计划规定进行进度管理,使开发过程和阶段成果都是可见的,也便于发现问题、控制开发过程,不至于什么问题都要到最后才一次暴露,减少了项目风险。
当然,如果仅仅有好的项目计划而缺乏有效的执行机制和监督措施,项目仍然可能失去控制。成功项目的标志是在规定的时间、合理开支的条件下,完成约定的需求,实现系统的最终目标。有效实施项目进度控制是项目成功的重要保障,是每一个项目经理必须非常重视的工作。实现有效项目过程控制的方法主要是通过定期和不定期的检查体现的。
(1)阶段检查。
不定期的阶段性检查,一般在关键任务或里程碑任务的计划完成时进行的,即在项目的每个阶段结束时都要经过详细的评估。检查的重点是该阶段里程碑任务是否完整地实现了,是否可以转入下阶段的工作。
(2)定期检查。
为了随时掌控项目进度执行情况,建立定期信息报告制度是一个行之有效的措施。定期的检查一般分周例会和月例会,例会检查的重点是:需求列表、风险列表、计划执行情况、质量保证情况等。通过周报月报,沟通并掌握各方信息,对存在的问题和困难进行汇总,提交例会处理解决,降低不确定性因素对项目工期的影响,保证项目顺利进行。
定期或不定期地对项目进度计划表进行检查,对于不合格的项目进度计划表或未按照项目进度计划表执行的项目给予相应处理,及时发现问题,尽早调整计划偏差,最大限度地避免损失。这样,在项目进行过程中就比较容易把握每个阶段项目的进展情况,方便对项目组成员的绩效进行阶段性评估,便于统一项目经理和客户的认识。增加项目风险的可控性。
4需求管理矩阵模型
软件项目的最大难点往往在于需求的不确定性,所以,有人认为好的需求是软件项目成功的一半。需求的困难主要表现在计算机技术人员与用户业务人员由于不同的语境,存在沟通困难。用户业务人员可能不清楚计算机系统实现细节,或并不知道需求人员到底需要了解什么,而计算机技术人员可能由于不熟悉业务,往往又缺乏引导用户表达需求的业务素质和技巧,所以,影响了双方沟通和交流,造成的结果可能是用户往往不能清楚地描述自己的需求或计算机人员不能准确地理解需求,从而影响了需求的最终描述。另一方面,对于管理信息系统来说,需求的不确定还表现在业务流程的变化上,特别对于现阶段还处于不断变革时期的我国企业来说,情况更是如此。
一般来说,用户在看到最终系统以后,通过不断地应用实践,激发了用户的联想,就可能提出新的或改进的需求。所以,在项目一开始,技术人员就必须对此有充分的认识,既要尽可能全面了解现有需求,也要充分预计到可能的需求变更,为系统设计留有变更或扩充的余地。另一方面,应该尽可能让用户尽早介入,直接参与阶段评审和验收,以便及时发现需求执行偏失,不至于什么都等到全部完工后才发现问题,才一并解决问题。在项目的后期改正一个错误的代价往往是在前期的数倍。所以,需求管理成为软件项目成败的另一个关键因索之一。
根据笔者的经验,建立需求矩阵跟踪表是进行需求管理很好的工具。表2是为某汽车制造企业做的整车销售系统中的一部分需求表。通过跟踪表,项目涉众可以随时了解关于软件需求的实现过程。用户可以从中随时看到阶段性成果,方便用户及时测试、确认已实现的需求,便于用户积极参与,便于及时发现问题,改正问题。
5结束语
当代信息技术正以超乎寻常的速度发展,软件项目规模不断扩大,应用日趋复杂,失败的案例屡见不鲜,人们逐渐把眼光聚焦到关于软件项目管理方法的研究,项目管理正逐渐成为当今世界解决软件危机的一种主流管理方法。矩阵模型已在大量的工程实践中被证明是行之有效的。
随着计算机网络的迅猛发展,网络已经进入了千家万户,与此同时网络信息安全必然成了一个不可忽视的环节。上海交通安全信息网为广大市民提供交通安全信息、违蕈查询、邮件等多项服务,本文对此平台做了信息安全方面的研究,已经实际运用并取得了良好的效果。 论文关键词:网络信息安全防火墙负载均衡 1引言 随着计算机和电子通讯技术的飞速发展,网络的应用越来越广泛,国内政府部门都不约而同地意识到利用网络传递信息可...
随着互联网的广泛应用,网络信息安全问题越来越受到人们的关注。本文分析了目前网络信息安全领域存在的多种安全问题,提出了实现网络信息安全的防范措施。1引言随着Internet的迅猛发展,网络上各种新业务也不断兴起,比如电子商务、网上银行、数字货币、网上证券等,使得工作、生活变得非常方便,但病毒侵虐、网络犯罪、黑客攻击等现象时有发生,严重危及我们正常工作、生活。据国际权威机构统计,全球每年因网络安全问题...
本文针对软件开发中的进度延期、费用超标、质量低下等问题,探讨了如何利用项目管理中的相关控制方法进行软件开发过程控制。、论文在阐述软件项目管理内容的基础上,针对软件项目的三要素分别进行了探讨:进度控制、费用控制和质量控制,提出了几种有效的软件项目管理控制方法。这些研究对于加强我国软件项目管理控制过程,降低开发成本,减少开发风险具有重要的意义。 论文关键词:项目管理进度控制费用控制质量控制软件开发 ...
世界已进入了信息化时代,信息化和信息产业发展水平已成为衡量一个国家综合国力的重要标准。但由于信息资源不同于其他资源的特殊性质,如何保证信息的安全性成为我国信息化建设过程中需要解决的重要问题。论文关键词:信息安全;保护信息安全包括以下内容:真实性,保证信息的来源真实可靠;机密性,信息即使被截获也无法理解其内容;完整性,信息的内容不会被篡改或破坏;可用性,能够按照用户需要提供可用信息;可控性,对信息的...
随着当代信息技术的发展,互联网的共享性、开放性以及互联程度也在不断扩大。Internet的广泛普及,商业数字货币、网络银行等一部分网络新业务的迅速兴起,使得计算机网络的安全问题越来越显得重要,通过归纳总结,提出网络信息中的一些安全防护策略。 1.引言 网络环境的复杂性、多变性以及信息系统的脆弱性,决定了网络安全威胁的客观存在。当前,随着计算机技术的飞速发展,利用因特网高科技手段进行经济商业犯罪...
个人知识管理工具是实施知识管理的物质基础,通过对综合性的个人知识管理系统的比较分析,提出选择个人知识管理工具的原则,使个体能够高效地进行知识整合,提高个人在社会和组织中的价值。 论文关键词:个人知识管理工具;知识操作;知识组织;知识共享 1个人知识管理工具的类型 个人知识管理是知识识别、获取、开发、共享、利用和评价的过程。研究者从不同角度对个人知识管理工具进行了不同的分类。钟琳从企业中知识的...
利用电磁学的方法分析了计算机电磁信息辐射的原理?引入偶极子分析计算了计算机电磁信息辐射场的频谱与场强;研究了计算机电磁信息辐射接收机的接收原理?进一步定量分析了辐射场强与接收机带宽、噪声系数、接收天线定向性和增益之间的数值关系;阐述了计算机电磁信息泄露的方式和途径?概括了基于实际的军队计算机应用中电磁信息安全与防护的主要手段。随着信息技术的发展和微型计算机的普及应要处理、传输、存储的军事机密的安全...
为防止恶意攻击,文章从税控信息加密、税控软件系统在线升级、异常情况处理等方面阐述了进一步提高税控收款机安全性的设计方法 论文关键词:税控收款机;信息加密;软件在线升级;异常情况处理 税控系统由于涉及信息的敏感性,自然成为黑客的攻击目标。为防止恶意攻击,并保证税控收款机在诸如掉电、异常拔卡等异常事件发生时的信息安全,根据信息技术安全性评估准则(GB/T18336—2001)的要求,税...
阐述在单片机选型、单片机系统设计以及制造工艺等方面应注意的问题,以实现高可靠性的单片机应用系统,讨论了提高系统可靠性的措施,并提出了提高系统可靠性的综合设计方法。使系统的可靠性得到了充分的保障。关键词:单片机;可靠性;抗干扰 1电源干扰及其抑制 单片机应用系统的可靠性是极为重要的。在影响单片机系统可靠性的诸多因素中,电源干扰可谓首屈一指。据统计,计算机应用的运行故障有90%以上是由电源噪...
软件能力成熟度模型(C印abilityMatuirtyModel,CMM)4~为衡量一个软件企业的软件开发能力己经被大多数软件企业所接受。在论述CMM与CMMI的基础上,介绍了国防专用软件CMM的概念、框架以及CMM二级的目标和要求。及其在软件开发中的应用。 论文关键词:软件能力成熟度模型;软件项目管理 1软件项目管理概述 1.1软件项目管理的概念 从概念上讲,软件项目管理是为了使软件项目能够...
影响因子:0.000
影响因子:1.640
影响因子:1.475
影响因子:4.124
影响因子:0.510
影响因子:3.050
影响因子:1.880
影响因子:0.000