浅谈现代项目管理在软件开发中的应用
现代项目管理的内涵与发展概况
项目管理是指运用各种知识、技能、方法和工具,为满足或者超越项目有关各方面对项目的要求与期望所展开的各种管理活动。项目管理方法已经进入到信息系统工程、网络工程、软件工程、大型建设工程以及高科技项目开发等崭新领域,甚至社会生产和生活的方方面面,在企业的战略发展和日常经营中的作用也越来越重要。
在我国,进入90年代甚至21世纪以来,项目管理的作用才真正开始被社会认同,许多项目管理的培训班开始建立,项目管理的方法也就开始慢慢由工程项目管理向软件开发等方面普及。
现代项目管理的实施过程
1.项目期望
项目期望即项目需求,属于项目管理中的范围管理。知道了用户具体的需求才可以展开其他工作,这是实施项目管理的第一步。
2.项目计划过程
项目的启动是编制出项目计划后,有步骤有条理地进行的;而项目的计划过程是个复杂的过程,这一阶段的工作不但多,而且要求高,因为所有本阶段制定出的计划将是后续阶段的依据。时间计划的制定既要满足用户的工期要求,又要考虑到以后保证产品的质量;成本的制定更是一门学问,既不能超过用户的预算,让用户能够接受,又要考虑公司尽可能的盈利。这一阶段矛盾的对立统一显得尤为突出。明确项目的范围和制定工期计划是这个阶段要做好的两个工作。
1. 项目的成本管理
项目的成本管理主要根据项目的范围和工期,来计算项目的成本。
2. 项目人力资源管理
人力资源管理是一门比较抽象的学问,因为人力资源管理受到企业内部各方面因素的影响,而且在管理过程中每一种做法都无所谓绝对的对或绝对的错,而且不同的管理方法还要因人而异,只要最后能够达到好的结果就是好的管理方法。
3. 项目风险管理
项目的风险可能是多方面的,例如用户需求的不明确。这就要求在现代项目管理过程中必须及时地评估各种风险并制定相应的措施。
4. 项目执行过程和质量管理
在项目的执行过程中,一切都按照计划进行,如何保证项目的实施质量也显得非常重要。这可能关系到项目的成败,因此在项目执行过程中对质量管理不能松懈。
5. 项目验收过程
项目完成后,必须经过用户的检验和试用,真正签定验收报告后才算正式结束。
案例及分析
某校研发中心在他们承担的‘某市本地网开发项目”的执行过程中就进行了项目管理的有益尝试,取得了较好的效果。下面我们把它作为典型案例进行介绍与分析。
1. 项目背景
1)项目背景介绍
该项目暂且称其为某市本地网开发项目”,它的产生有着浓厚的社会历史背景。
为解决中国移动各地市分公司众多的工作人员异地奔波忙于应付各地交换设备的故障修复与维护问题,亟需信息自动化和远程操作来替代当前的手工劳动和现场操作。
2)公司背景介绍
某校研发中心是一家有着5年研发历史和经验、专职从事软件开发的公司,曾经于1996年独立承担了中国移动当时属于中国电信)第一期网管系统开发项目当时未应用现代项目管理),22个省市网管系统的建设于1999年年底验收通过。
3)项目的诞生
由于该研发中心雄厚的开发实力和丰富的通信软件开发经验,经过几个回合的竞标,该研发中心承担起了第一个地市级本地网管系统的建设和开发项目。
2. 现代项目管理在软件开发中的应用
1)项目期望
对用户来讲,希望在尽可能短的时间内用上一套自动化较强、具有配置管理、性能管理、故障管理功能的网络管理系统。作为地市级网管系统,应该有不同于省级网管的特色,那就是网管系统能够提供集中操作维护功能,即当出现故障时,维护人员不必亲临现场,只需要通过网管系统远程操作即可。作为该市移动公司的上司——省移动通信公司,期望的是本系统快速就位,这样就可以走在全国各地市的前列;还希望网管系统功能强大,工作由人工转为自动,可以大批地精简人员、合并机构。当然他们也在考虑下属某市的6个网管中心如何合并,人员如何安排更合理。而作为最高机构,中国移动通信公司希望通过该市试点,进一步开发网管需求,探索出具有中国特色的移动网管系统的功能模型和机构调整模式,可以在全国推广。
当然,研发单位还应该考虑自身的需要。该研发中心希望开发出一套成型的产品,树立公司形象,准备进一步进军中国移动二期市场和中国联通的一期市场。这其中包含着通过本项目,摸索一种适合于本公司的项目管理方法,优化人力资源安排,为以后可能同时进行的多个项目打下基础。
通过以上的分析,该研发中心就明确了本项目中的业务范围和工作的重要性,通过明确业务范围,为项目的实施提供了一个项目任务范围的边界和框架,并可以通过这个框架来规范项目的组织管理;通过了解自身的项目期望,就明确了项目承担方应该付出的时间和精力。本项目的成败将可能关系到移动网管的体系结构,中国移动机构调整的方向等等。
2)项目计划过程
①明确项目的范围
首先,经过与运营企业反复探讨,将用户的期望落实到文件中,即写入该研发中心的技术方案,作为合同的附件。技术方案主要是对项目产出即该市网管系统的描述,其中包括系统接入的所有国内外厂家的设备OMC/MSC/BSC)、在目前技术水平的前提下网管系统与厂家设备的最好的接口方式稳定性和可靠性)、整个项目的集成以及项目竣工后的售后支持和服务等等。所有影响项目时间计划、成本和质量的内容,双方都明确在该技术建议书中做了说明。
②制定工期计划
根据项目的范围动并进行排序,对项目的每项活动进行时间估计,11项活动共历时九个半月,加上国庆节7天和春节放假7天,项目从开始到结束的时间共计10个月。表1是一个典型的类似甘特图的时间进度表,但该表比较粗,视觉效果不十分明显。这样,通过这两个表格的制作,该中心能够有效地进行时间管理,避免了责任不清,减少了项目风险,增强了项目成功的可能性。
3)项目的成本管理本项目主要根据项目的范围和工期来计算项目的成本。项目直接成本主要包括以下几个部分:
?公司专门为该项目采购软硬件的费用;
?公司向第三方购买软件的费用;
?项目实施期间员工的差旅费;
?技术开发人员和测试人员的工资;
?工程维护人员、公司管理人员等相关人员的工资及福利;
?公司办公地点的粗赁费和办公设备的折旧费,包括水电费、桌椅的折旧费、电脑设备和软件的折旧费;
?在此期间发生的通讯费用;?项目初期可能需要的所有的市场运作费;
?其他费用,如增值税等不确定费用。
上述所有费用的总计是项目的原始成本,加上一定的盈利比率佣于公司资金的积累和再发展)才是产品的价格。在项目报价中,用户看到的价格清单不会是上述的列表,而是将上述所有的费用加盈利按比例分摊到不同的软件模块,这样对用户来讲比较容易接受,双方容易达成一致。
成本管理和控制是涉及到客户的利益,也涉及到最终员工和公司收入的问题。因此,极度需要发挥管理者的领导艺术。该中心以往对员工有一些有吸引力的好的做法,如将减低成本的视点放在粗用出差当地的公寓、购买当地的神州行移动电话卡等方面,巧妙地将成本控制在预算范围之内。
4)项目人力资源管理在该研发中心的这个项目中,人力资源管理主要抓住两件事:
选好项目经理和及时调整项目队伍。
①项目经理的作用:项目经理是项目团队的核心人物,他的能力、素质和工作直接关系着项目的成败。项目越重要,对项目经理的要求越高。由于该项目经理富有核心带动力,从属于该项目的软件开发人员、技术支持人员等工作热情都非常旺盛。
②项目团队的建设也是项目成败的关键因素。根据项目经理的提议,公司针对该项目对开发队伍进行了比较大的变动,按照软件工程的方法,将所有的开发人员重新分组,取消原来按照厂家分组的模式,将所有的开发人员按照软件的层次分成数据接入层DAL)、商务逻辑层BLL)和Web层,每层之间用标准接口传递数据,这大大提高了程序的可维护性,便利了开发人员的互相交流,并且提高了开发的效率。
当然,通过收入来激励员工也是人力资源管理中经常使用的一种方法。该中心实施的具体做法有三种:一是保证中心员工一直享有较高的收入水平;二是随时提拔表现突出的员工,即通过职位提升来满足员工的精神需要;三是提供多种培训的机会,满足员工追求不断成长的需要。
5)项目风险管理本项目的风险主要在于用户需求不是非常明确,这是软件行业共同面临的棘手问题。因此,需求的变动可能会导致项目的推迟。比如在前四周的调研分析阶段用户如果提出一些难度较大的要求,势必会加大项目的复杂度。本项目的执行过程中,有些工作需要得到国内外GSM厂家的支持,如果厂家本身不能采集到某些指标,用户需求就很难全部满足。还有硬件到货的问题,本项目所需硬件SUN设备)全部需要从国外进口,进出口的手续比较复杂,而且受国际形势影响。
通过列举潜在的风险,项目经理将风险因素分别划分给相关单位负责,例如,市场部保持和用户的联系,随时跟踪用户需求;技术支持人员在现场操作中产生的新的需求也及时反馈给市场部,并统一交研发部门开发等。当然,这也是沟通管理的一部分内容。
该公司的采购管理在本项目之前做的比较好,与相关的各厂家建立了通畅的渠道关系,早已签署长期的采购合同,选型、供货质量及折扣都有章可循,因此在
本项目中不是需要着重解决的问题。或者说,采购管理的风险基本上通过这种方式已经化解。
6)项目执行过程和质量管理
该研发中心在质量管理和控制方面狠下了一番工夫。领导层和主要骨干经过讨论决定,当即申请IS09001质量体系认证,这是为了保证质量管理和控制得更好,同时促进本项目的实施而作出的决定。项目实施本来就比较紧,申请IS09001的审核程序又非常严,这是一件非常有难度的事情,但是越是工期紧张的时候,越要求保证软件质量,否则马马虎虎、漏洞百出,导致欲速则不达。申请IS09001是想通过外界的压力做好质量控制。
大家在项目经理和质量管理监督员的帮助下,按部就班的按照项目目标和工期制定短期计划,按照计划实施,实施完进行检查,一切工作做得有条不紊。在软件行业中,编程序只是软件开发的一小部分工作,文档的编写占据很重要的地位。进入开发阶段,软件设计组从项目经理手中接过经过分析的用户需求,先要编写高层设计文档(LD)描述清楚软件的体系结构和自己的设计思路,然后组织评审组来讨论HLD的科学性这是IS09001的重要审核内容)。评审组由项目经理、技术高手和有经验的老工程师组成,项目经理主要把握设计没有偏离用户的真正需求,所有人都可以根据自己积累的经验对HLD进行质疑、提出优化的方法,设计组将根据评审组的决议修改软件体系结构。HLD通过后,就要编写详细设计DD)对HLD中的各部分进行详细描述,当然也要通过评审后才算完成,此后的时间才是编程阶段。严格的按照IS09001的要求走下来,开发人员虽然辛苦一时,但是到产品集成阶段、工程人员和维护人员接手阶段,他们都比以前未按照IS09001来做的时候)轻松了不少,相关接手人员只需读懂他们的文档HLD/DD),即可清楚软件的设计思路。经过严格质量控制的程序设计,程序解释性语言非常清晰,出了问题很容易定位。
7)项目收尾过程
严格的前期工作换来了项目的顺利收尾,2001年4月该网管系统顺利地通过了终验,双方签署了终验验收证书。随后该项目的所有款项全部到位。
3.案例的评析
该项目达到了一个重要的、意义深远的目标,那就是该研发中心已经尝试将现代项目管理的关键理论应用到项目管理中去,并且取得了较好的成果;中心通过这个项目,完善了项目队伍的建设,同时管理水平提高了一个档次。
当然由于本项目是第一次应用现代项目管理理论,由于缺乏实际经验和可以借鉴的成功案例,中间过程难免有些不尽人意之处。比如在项目刚开始的需求调研阶段,有一段时间该中心的项目经理与相关项目人员没有去现场,而是远程通过电话和邮件与用户交流需求,有些需求不能得到很快的明确,后来短期计划没有如期完成时,才加派人员赶赴现场挽救进度,但由于用户需求比预计的要复杂,还是在项目调研阶段拖延了半周,这是项目的沟通管理工作不够到位。
但是不管怎么说,该研发中心承担的项目是一次较为成功的运用项目管理方法的应用,在项目的执行过程中产生了许多可以借鉴的方法和经验,这对于我国其他企业和行业在思考引进项目管理时,都有着一定的参考价值。
总之,软件开发是一种知识密集型产业,随着软件工程规模的日益扩大,应用现代项目管理的理论和手段提高软件开发项目的时效已经成为必然。案例中的研发中心在他们承担的‘某市本地网开发项目”的执行过程中就进行了项目管理的有益尝试,也取得了较好的效果。希望本案例的发表能够加深我们对项目管理的认识,推动我国项目管理研究工作的发展。