《软件工程》第2章 软件项目管理
发布时间:2024-01-08 19:01:52浏览次数:51第二章 软件项目管理一、软件项目管理方法和工具介绍1. 为什么需要软件项目管理方法和工具软件开发和项目管理是软件企业最主要的工作,两者相辅相成,缺一不可。项目管理应当覆盖整个软件开发过程。软件项目管理的主要工作有:立项与结项、项目规划与监控、风险管理和变更管理、需求管理、质量管理、软件配置管理等。软件开发的主要过程域有:需求开发、软件设计、软件实现、软件测试、软件发布、客户验收、软件维护等。 由于软件开发和项目管理都是智力型工作,人们很难靠常识和直觉形成和谐的团队工作。如果企业没有统一的项目管理方法和工具,每个人都采用自己的做事方法的话,那么人越多就越乱,形成了“土匪、游击队”的工作方式。阻碍国内 企业发展的瓶颈问题通常不是技术问题,而是杂乱无章的管理。 项目管理方法和工具对企业的主要贡献是:让所有项目成员有条不紊地开展工作,在预定的时间和成本之内,开发完成质量合格的产品,从而使企业和个人获得预定的利益。2. 常见软件项目管理方法介绍 2.1 CMM/CMMI 年 月,美国联邦政府委托卡内基梅隆大学()软件工程研究所()开发一套用于评估软件承包商能力的方法。 于 年 月发布了一套软件过程成熟度框架和一套成熟度问卷。 年, 将软件过程成熟度框架发展成为软件能力成熟度模型(,),诞生了 。十几年来, 的改进工作一直不断地进行。美国国防部希望把现在所有的、以及将被开发出来的各种能力成熟度模型,集成到一个框架中去。到 年, 演化成为 (,能力成熟度模型集成)。 不仅适合软件,而且适合于软件硬件结合的系统,这是对 最大的改进。 将能力成熟度分为 个级别,这 个成熟度等级为评价机构软件过程能力提供了一个有序的级别。同时也为机构的软件过程改进工作指明了方向,让人们分清轻重缓急,指导人们一步一步地改进过程能力而不是企图跳跃式地前进。 有一个重要的概念是关键过程域(!"##$)。关键过程域指出为了达到某个成熟度等级必须要解决的一族问题。除了初始级(即 级)以外,每个成熟度等级都有若干个关键过程域。 级有 个关键过程域:需求管理,软件项目规划,软件项目跟踪与监督,软件子合同管理,软件质量保证,软件配置管理。% 级有 个关键过程域:机构过程焦点,机构过程定义,培训大纲,集成化软件管理,组间协调,软件产品工程,同行评审。& 级有 个关键过程域:定量过程管理,软件质量管理。 级有 % 个关键过程域:预防缺陷,技术革新管理,过程变更控制。 共有 个过程域,基本上覆盖了项目管理和软件开发的工作。目前 ' 已经成为世界范围内用于衡量软件开发和管理能力的事实上的标准。' 的主要应用问题:用 ' 指导企业的软件过程改进工作是相当不错的,但是企业要做的重要事情显然不仅是软件过程改进。企业最关注的是生存和发展问题,一切离不开赚钱。' 本身不谈如何赚钱的问题。它假设了美好的前提条件,即企业有充足的人员、资金、时间从事软件过程改进,当软件过程能力提高了 ,那么产品的质量、生产率自然上去了(同时成本也下降了),企业自然能够获取更多的利润。软件过程改
进对企业经济效益的贡献是间接的,从投入到产出,时间相对比较长。遗憾的是,国内大部分企业没有能力提供那么好的前提条件,企业最缺乏的资源往往就是人员、资金和时间,企业领导当然想把资源用在“刀刃”上,即赚钱最多最快的地方。当软件过程改进和其它直接赚钱的事情“发生资源冲突”时,只好“拆东墙,补西墙”,往往减少软件过程改进的资源。2.2 项目管理知识体系(PMBOK)项目管理协会("()#,")于 年在美国宾州成立,是目前全球 影 响 最 大 的 项 目 管 理 专 业 机 构 , 该 机 构 的 项 目 管 理 专 家 认 证 ( "( )"*## , "" ) 被 广泛 认 同 。 " 的 突 出 贡 献 是 总 结 了 一 套 项 目 管 理 知 识 体 系 ( "()+,*!-,"+,!)。"+,! 总结了项目管理实践中成熟的理论、方法、工具和技术,也包括一些富有创造性的新知识 。"+,! 把项目管理知识划分为 个知识领域:综合管理、范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理和采购管理。每个知识领域包括数量不等的项目管理过程。"+,! 和 ' 对比简评:' 论述的项目管理方法仅仅适用于软件项目,但是不适用于其它行业的项目管理。 "+,!论述的方法适用于任何行业的项目管理,但是对软件项目管理而言,"+,! 的针对性不够强。' 不仅论述软件项目管理,而且论述整个机构的软件研发管理。"+,! 的方法局限于项目管理,对于企业研发管理则不够用。' 基本上不谈“成本管理”和“人力资源管理”,它先假设机构有充足的资金和人力资源 ,通常不切合企业实际情况。因此 "+,! 的“成本管理”和“人力资源管理”可以弥补 ' 的不足。3. 常见软件项目管理工具介绍如果你在互联网上搜索“项目管理工具、项目管理软件”,可以找到上百个项目管理工具。由于企业的情况各色各样,没有办法评选出最好的项目管理工具,因为一个功能很强的管理软件如果不适合客户,那么对于这个客户而言该软件就不是很好。本文只能介绍几个比较有名气的软件,简要说明它们的特征,企业在采购软件的时候一定要根据自身需求去分析、选择。最有名、用户量最大的项目管理工具当推 #*"((个人使用),及其延伸版本 "(.(团队使用)。它的主要优点是:/帮助用户编制任务进度计划、管理各种资源(人力、设备等)、管理费用;可以绘制 0 图、各种统计图形、生成图文并茂的报表。/该软件非常容易使用,不需要专门的培训用户自己就能学会。易用性是 #* 软件产品的共性优点。/在国内,广大计算机用户很容易得到该软件(绝大多数是盗版),这也是用户量最大的根本原因。#*"( 几乎可以管理任何行业的项目,这既是优点也是缺点:适用面太广了,就缺乏针对性。例如,仅仅使用 #*"( 来管理软件项目是不够的,因为 #*"( 不支持软件项目中的立项与结项、变更管理、需求管理、质量管理、软件配置管理等重要管理工作。在 行业比较有名的项目管理工具有:/$ 公 司 的 项 目 管 理 套 件 : "* 用 于 战 略 管 理 ; 1# 用 于 资 源 管 理 ; "( 用 于 项 目 日 常 工 作 管 理 ; 2 用于项目财务管理;"## 用于项目流程管理。/"). 公司的中低短产品 3"(,高端产品 )"。/+的 ",4。",4 原本在大型项目管理领域很有名气,+ 收购 ",4 之后将其纳入 1 旗下,但是目前 ",4 尚未与 1 原先的软件工程系列产品很好地整合。上述项目管理工具都是国际知名公司的软件产品,尽管它们的功能和品牌已经相当卓越,但是并非普遍适合中国 企业。主要原因是:
/国内大部分 项目都是中小型项目,如果采用上述项目管理工具,不仅大材小用,而且把使用者累死。/国内大部分 企业买不起上述项目管理工具,由于它们的复杂性远远高于 #*"(,即使有人拿到了盗版软件,由于得不到专业培训和服务,也用不好。