1. 为什么需要软件项目管理方法和工具 软件开发和项目管理是软件企业最主要的工作,两者相辅相成,缺一不可。项目管理应当覆盖整个软件开发过程。 软件项目管理的主要工作有:立项与结项、项目规划与监控、风险管理和变更管理、需求管理、质量管理、软件配置管理等。 软件开发的主要过程域有:需求开发、软件设计、软件实现、软件测试、软件发布、客户验收、软件维护等。 由于软件开发和项目管理都是智力型工作,人们很难靠常识和直觉形成和谐的团队工作。如果企业没有统一的项目管理方法和工具,每个人都采用自己的做事方法的话,那么人越多就越乱,形成了土匪、游击队的工作方式。阻碍国内IT企业发展的瓶颈问题通常不是技术问题,而是杂乱无章的管理。 名易软件认为项目管理方法和工具对企业的主要贡献是:让所有项目成员有条不紊地开展工作,在预定的时间和成本之内,开发完成质量合格的产品,从而使企业和个人获得预定的利益。 2. 常见软件项目管理方法介绍 2.1 CMM/CMMI 1986年11月,美国联邦政府委托卡内基梅隆大学(Carnegie-Mellon)软件工程研究所(SEI)开发一套用于评估软件承包商能力的方法。SEI于1987年9月发布了一套软件过程成熟度框架和一套成熟度问卷。1991年,SEI将软件过程成熟度框架发展成为软件能力成熟度模型(Capacity Maturity Model,CMM),诞生了CMM 1.0。 十几年来,CMM的改进工作一直不断地进行。美国国防部希望把现在所有的、以及将被开发出来的各种能力成熟度模型,集成到一个框架中去。到2000年,CMM演化成为CMMI(Capability Maturity Model Integration,能力成熟度模型集成)。CMMI不仅适合软件,而且适合于软件硬件结合的系统,这是对CMM最大的改进。 CMM将能力成熟度分为5个级别,这5个成熟度等级为评价机构软件过程能力提供了一个有序的级别。同时也为机构的软件过程改进工作指明了方向,让人们分清轻重缓急,指导人们一步一步地改进过程能力而不是企图跳跃式地前进。 CMM有一个重要的概念是关键过程域(Key Process Area)。关键过程域指出为了达到某个成熟度等级必须要解决的一族问题。除了初始级(即CMM 1级)以外,每个成熟度等级都有若干个关键过程域。 CMM 2级有6个关键过程域:需求管理,软件项目规划,软件项目跟踪与监督,软件子合同管理,软件质量保证,软件配置管理。 CMM 3级有7个关键过程域:机构过程焦点,机构过程定义,培训大纲,集成化软件管理,组间协调,软件产品工程,同行评审。 CMM 4级有2个关键过程域:定量过程管理,软件质量管理。 CMM 5级有3个关键过程域:预防缺陷,技术革新管理,过程变更控制。 CMM共有18个过程域,基本上覆盖了项目管理和软件开发的工作。目前CMM/CMMI已经成为世界范围内用于衡量软件开发和管理能力的事实上的标准。 CMM/CMMI的主要应用问题: 用CMM/CMMI指导企业的软件过程改进工作是相当不错的,但是企业要做的重要事情显然不仅是软件过程改进。企业最关注的是生存和发展问题,一切离不开赚钱。CMM/CMMI本身不谈如何赚钱的问题。它假设了美好的前提条件,即企业有充足的人员、资金、时间从事软件过程改进,当软件过程能力提高了,那么产品的质量、生产率自然上去了(同时成本也下降了),企业自然能够获取更多的利润。软件过程改进对企业经济效益的贡献是间接的,从投入到产出,时间相对比较长。 遗憾的是,国内大部分企业没有能力提供那么好的前提条件,企业最缺乏的资源往往就是人员、资金和时间,企业领导当然想把资源用在刀刃上,即赚钱最多最快的地方。当软件过程改进和其它直接赚钱的事情发生资源冲突时,只好拆东墙,补西墙,往往减少软件过程改进的资源。 作者对应用CMM/CMMI的建议: CMM/CMMI是衡量企业软件过程能力的国际标准,它对软件过程改进有很多有益的指导。CMM/CMMI仅仅对等级评估做了强制要求,但是对企业如何进行软件过程改进没有强制要求,CMM/CMMI的数百页文本并不是放之四海皆准的,企业可以采纳也可以不采纳。 对于软件过程改进而言,CMM/CMMI是用来参考的,而不是用来迷信的。企业在参考业界推荐的标准或规范时,要舍弃那些听起来很先进但是对本企业无益处的东西,只选取对企业有实用价值的东西。 2.2 项目管理知识体系(PMBOK) 项目管理协会(Project Management Institution,PMI)于1966年在美国宾州成立,是目前全球影响最大的项目管理专业机构,该机构的项目管理专家认证(Project Management Professional,PMP)被广泛认同。PMI的突出贡献是总结了一套项目管理知识体系(Project Management Body Of Knowledge,PMBOK)。 PMBOK总结了项目管理实践中成熟的理论、方法、工具和技术,也包括一些富有创造性的新知识。PMBOK把项目管理知识划分为9个知识领域:综合管理、范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理和采购管理。每个知识领域包括数量不等的项目管理过程。 PMBOK和CMM/CMMI对比简评: CMM/CMMI论述的项目管理方法仅仅适用于软件项目,但是不适用于其它行业的项目管理。PMBOK论述的方法适用于任何行业的项目管理,但是对软件项目管理而言,PMBOK的针对性不够强。 CMM/CMMI不仅论述软件项目管理,而且论述整个机构的软件研发管理。PMBOK的方法局限于项目管理,对于企业研发管理则不够用。 CMM/CMMI基本上不谈成本管理和人力资源管理,它先假设机构有充足的资金和人力资源,通常不切合企业实际情况。因此PMBOK的成本管理和人力资源管理可以弥补CMM/CMMI的不足。 作者建议:软件机构采用CMM/CMMI作为主导的方法论,同时要学习PMBOK的知识,取长补短。 3. 常见软件项目管理工具介绍 如果你在互联网上搜索项目管理工具、项目管理软件,可以找到上百个项目管理工具。由于企业的情况各色各样,没有办法评选出最好的项目管理工具,因为一个功能很强的管理软件如果不适合客户,那么对于这个客户而言该软件就不是很好。本文只能介绍几个比较有名气的软件,简要说明它们的特征,企业在采购软件的时候一定要根据自身需求去分析、选择。 最有名、用户量最大的项目管理工具当推Microsoft Project(个人使用),及其延伸版本Project Server(团队使用)。它的主要优点是: ◆帮助用户编制任务进度计划、管理各种资源(人力、设备等)、管理费用;可以绘制Gantt图、各种统计图形、生成图文并茂的报表。 ◆该软件非常容易使用,不需要专门的培训用户自己就能学会。易用性是Microsoft软件产品的共性优点。 ◆在国内,广大计算机用户很容易得到该软件(绝大多数是盗版),这也是用户量最大的根本原因。 Microsoft Project几乎可以管理任何行业的项目,这既是优点也是缺点:适用面太广了,就缺乏针对性。例如,仅仅使用Microsoft Project来管理软件项目是不够的,因为Microsoft Project不支持软件项目中的立项与结项、变更管理、需求管理、质量管理、软件配置管理等重要管理工作。 在IT行业比较有名的项目管理工具有: ◆CA公司的项目管理套件:Clarity Portfolio Manager用于战略管理;Clarity Resource Manager 用于资源管理;Clarity Project Manager用于项目日常工作管理;Clarity Financial Manager用于项目财务管理;Clarity Process Manager用于项目流程管理。 ◆Primavera公司的中低短产品SureTrak Project Manager,高端产品TeamPlay。 ◆IBM 的PMOffice。PMOffice原本在大型项目管理领域很有名气,IBM收购PMOffice之后将其纳入Rational旗下,但是目前PMOffice尚未与Rational原先的软件工程系列产品很好地整合。 上述项目管理工具都是国际知名公司的软件产品,尽管它们的功能和品牌已经相当卓越,但是并非普遍适合中国IT企业。主要原因是: ◆国内大部分IT项目都是中小型项目,如果采用上述项目管理工具,不仅大材小用,而且把使用者累死。 ◆国内大部分IT企业买不起上述项目管理工具,由于它们的复杂性远远高于Microsoft Project,即使有人拿到了盗版软件,由于得不到专业培训和服务,他也用不好。 作者建议:国内IT企业选择项目管理工具时,应当综合考虑价格、功能、易用性,最好亲自试用后,再作决定。 4. 集成化项目管理方法SPP 作者从2002年开始创作并不断改善适合国内中小型IT企业的集成化研发管理方法论,称为精简并行过程(Simplified Parallel Process, SPP)。SPP 的模型如图1所示,SPP有三类过程:项目管理过程,项目研发过程,机构支持过程,共12个过程域。精简并行的含义是: ◆对CMMI 3级以内各过程域的内容和要求作了精简处理。 ◆项目管理过程、项目研发过程和机构支持过程并行开展。 SPP的主要优点: ◆SPP融合了CMMI、项目管理与软件工程知识,定义了易于执行的软件开发和项目管理规范(约60页文本)。过程模型清晰直观,机构领导、项目经理、项目成员(开发人员、测试人员等)很容易知道自己应该在什么时候、按照什么规范做什么事情。SPP模型有助于企业各个职能单位有条不紊地开展工作。 ◆用户可以根据本企业的特征,适当地裁剪或扩充SPP的过程域,很容易制定出最适合于本企业的过程模型。 SPP的主要缺点是:它不是标准,也没有相应的认证,不具备CMM/CMMI、ISO9000认证的宣传价值。
信息发布:广州名易软件有限公司 http://www.myidp.net
|