1 引言项目管理者联盟
随着信息技术的发展,软件的规模不断扩大,如何保证软件开发的成功率和提高软件质量成为软件界最为关心的问题之一。目前软件开发的现状是:项目管理者联盟
软件开发规范不统一、过程混乱、沟通不畅、进度失控、成本超支,从而影响软件质量,严重时可导致项目被迫取消。造成这种结果的原因, 很大程度上不是技术原因,而是开发过程控制问题。training.mypm.net
美国国防部曾立题调查,70%的项目因为管理不善而失败。国内对软件过程理论的讨论与实践正在展开, 目标是使软件质量管理和控制达到国际先进水平。项目管理者联盟
软件工程协会(SEI)提出的软件能力成熟度模型(CMM)为软件开发过程提供了一套全新的评判准则,CMM 成为许多领域评判一个软件组织的软件开发过程是否成熟可靠的非常流行的手段。club.mypm.net
针对我国国内软件开发组织能力普遍偏低的现状,并基于CMM 模型,我们设计并开发了一个软件质量保障平台, 其目的是帮助软件开发组织很好地管理软件开发过程,确保软件质量,提高软件生产能力,提高我国软件产业的国际竞争力。转自项目管理者联盟
2 软件开发过程特征提取项目管理者联盟
软件开发过程,是把用户的要求转变成软件产品的过程,是一组有组织的活动。人们对于质量的观点,已从只注重结果,转变为注重软件体系和软件生产过程的观点。项目管理者联盟
CMM 标准在其第一级的改进方向中便提出“开展软件质量保证活动”,其核心就在于通过提高软件组织的软件过程能力来提高软件质量。在CMM 定义中,service.mypm.net
各种过程均是以活动元素为单位组织起来的,为了有效改进软件过程,就需要透彻地分析过程中相关的元素,提取重要特征。service.mypm.net
2.1 角色关系项目管理论坛
软件开发过程中, 组织中的人员总是以特定的角色展开工作。一个软件项目的开发,如果要确保整个业务的顺利运作,就必须需要一个全面的解决方案,项目管理者联盟
能实现各角色的合理分工和协作, 以保障所有的业务目标———用户的、各个部门的、自身的———都能够实现。同时,不同角色的分工、配合是有着一定的时序关系的, 只有合理的时序关系才能确保有效的开发流程并保障最佳的权限和职责管理。service.mypm.net
从权限的角度来区分,基本可以包含以下几类角色:项目管理者联盟
* 总经理:从一个高水平上总体了解项目的运行状况;项目经理博客
* 项目经理:负责管理开发项目。完成角色计划、管理和分配资源,确定优先级,协调用户的交互等工作。同时也要建立一系列的实践活动以确保项目工作产品的完整性和质量。优秀的项目经理需要的素质,PgMp.mypm.net
并不仅在于会使用几种软件或是了解若干抽象的方法论原则, 更重要的在于从大量项目实践中获得的宝贵经验,以及交流、协调、激励的能力;
* 开发人员:通常负责设计和实现可执行的代码方案、测试开发出了的组件和分析运行时情况以去除可能存在的错误。有时开发人员还负责创建软件的体系架构或者使用快速应用开发工具;pmp.mypm.net
* 系统测试人员:负责制定测试计划并依照测试计划进行测试。对于一般的软件开发组织,其角色的分工协作、时序关系以及角色间流动的数据, 所有角色对应的活动组织成一个完整的定义过程,项目经理博客
活动之间有着时间上的顺序关系, 也有着数据的流动关系。这种有序的协作方式以稳固的业务实践为优势,为项目完整地开发周期建立了有效的监控机制。bbs.mypm.net
2.2 度量数据项目管理者联盟
CMM 中比较强调用数据说话,对项目过程中基本上所有的数据都会有记录, 最后把收集的数据提交质量保证部门进行分析,以改进流程。数据收集包括各种评审数据、测试数据以及项目组员每天的活动数据等。service.mypm.net
项目经理也要维护一个项目档案,在这个项目档案中包含了项目开发过程中所有的产出、开发活动、管理活动等的记录,从而完整地了解这个项目的开发过程。汉弗莱在《团队软件过程》中指出:准确的项目跟踪需要详细的计划和精确的数据;PgMp.mypm.net
要最大限度地缩短周期时间,软件工程师必须平衡工作量;要最大限度地提高生产率,首先必须聚焦质量。可见,对于一般的项目管理,需提供的度量要素包括:training.mypm.net
* 对项目进度的度量项目管理者联盟
|