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