您的当前位置:首页正文

论软件项目质量管理

2023-10-15 来源:步旅网
论软件项目的质量管理

论软件项目的质量管理

摘要:

本文讨论了在智能企业管理信息系统开发项目中如何实施质量管理解决各种问题的过程。2004年10月本人作为该项目的质量经理以及该一个子项目的项目经理参与了该系统的开发。该系统包括十大业务系统和三大应用平台,每个业务系统是一个独立的子项目。系统采用B/S、WebService架构,使用J2EE作为开发语言,采用Oracle数据库。产品需求来自于产品的2.0版本,专家以及客户,工期限定为2.5年-3年,交付物包括软件系统和全部开发文档及全部项目文档。该系统采用该项目产品线长,功能多,模块间关系复杂,需求的来源复杂,周期长,参与人员多,可预见的风险非常多。本文论述了本人从项目启动阶段如何实施质量规划、质量保证、质量控制,如何控制质量成本来保证项目在预算内交付并达到质量目标。在软件项目的质量管理中需要对“人”的质量进行控制和管理。

正文:

ISO9000:2008版标准关于质量管理是这样定义的“质量管理是在质量方面指挥和控制组织的协调活动”。项目质量管理指的是围绕项目质量所进行的指挥、协调和控制等活动,它具有复杂性、动态性、不可逆性和系统性。软件项目质量管理则在项目质量管理的特点上还有考虑软件系统本身的特点。

2004年10月,公司的智能企业管理信息系统3.0正式立项,该系统是公司最重要的一个软件产品,目标是应用于资产密集型企业,但第一个阶段主要应用在发电厂,该产品以实现发电企业管控一体化的管理为目标,整个系统由十大业务系统三大应用平台构成。十大业务系统包括:厂级监控系统、企业资产管理系统、优化检修管理系统、安全生产运行系统、燃料管理系统、工程项目管理系统、全面预算管理系统、辅助决策管理系统、协同办公管理系统和网络资源管理系统;三大应用平台包括:业务设计平台、工作流平台和报表平台。该产品为发电企业的业务追溯、资金监管、信息抽取、绩效考核、辅助决策提供了有力的管理工具,可切实保障实现效益最大化的管控目标。各个业务系统均可以看作是一个独立的软件系统,同时各个业务系统之间关系又非常复杂,数据互相引用。系统采用B/S、WebService架构,使用J2EE作为开发语言,采用Oracle数据库。产品需求来自于产品的2.0版本,专家以及客户。全部业务完成的工期限定为2.5年-3年。产品的交付物包括通过验收的软件系统、全部的设计资料以及项目管理过程资料。整体项目任命了一位总的产品线经理,同时为各个业务系统任命了项目经理,本人在该项目中作为工程项目管理系统的项目经理和整个项目的质量经理开展工作,作为整个项目的质量经理负责整个项目的质量管理的规划与实施。该项目产品线长,功能多,模块间关系复杂,需求的来源复杂,周期长,参与人员多,同时对于最终产品的质量要求比较高,因此可预见的风险就非常多,同时还存在很多不可预测的风险。为了能够按时的、在预算内且产品达到质量要求的完成项目,我和产品线

第1/6页

论软件项目的质量管理

经理从开始就非常重视项目的质量管理和项目过程的管理,在项目启动时就做了充分准备:按照该系统的特点,首先选择了整个项目要遵循的过程并对过程的产出进行了初步定义;其次约定在针对总的项目计划和每个子项目的计划时均编写质量保证计划;第三设立了质量保证小组、测试小组和配置管理小组实施质量控制和质量保证;第四约定了项目紧急、意外情况的处理机制;第五将需求、设计和开发作为核心过程进行关注;第六在项目的各个阶段按照其对质量影响的不同程度进行相应程度的落实。果然,在后续的工作中我们遇到各个子项目之间进度不统一,互相之间有紧前关系,需求的选择与平衡,需要评审的文档非常多,项目人员进出等一系列的问题,但是由于我们提前有所考虑,并科学的采用了软件项目质量管理的技术,最终还是按时向公司交付了合格的产品,顺利通过了产品验收。

软件项目的质量管理是一个在软件项目生命周期内需要持续使用质量计划、质量控制、质量保证和改进措施的过程。在整个项目的生命周期过程中,我针对该产品的特点,采取的主要质量策略为:一、在科学的质量管理理论指导下,按照质量管理流程实施管理;二、重视开发过程中“人”的质量管理;三、重视质量管理与其它项目管理过程的关系;四、在其它一些提高项目质量的方面开展一些工作。

一、在科学的质量管理理论指导下,按照质量管理流程实施管理。 1、质量规划。在项目启动阶段进行质量规划。

“质量出自计划和设计,而非出自检查”,良好的项目质量管理计划有助于争取的指导项目管理行为。质量管理计划最重要的是识别每一个项目相关的质量标准,把满足项目质量标准的活动或过程规划到项目的产品和管理项目的过程中去。质量管理计划描述了项目管理团队咋样建立质量策略,描述质量体现即组织结构、职责、程序、工作过程以及建立质量管理所需要的资源。

1)制订质量管理计划及质量检查单等

我以项目章程、项目管理计划、项目范围说明书作为依据,参考了历史项目经验,查阅了公司软件开发相关流程、规范和制度,在质量规划时开展了如下工作:

 选择了迭代的生命周期模型作为该项目的总的生命周期模型,子项目则选择瀑布模型作为

该项目的生命周期模型。主要是考虑到各个子项目之间进度难以一致,但又关系密切,而早期的需求也容易变化的情况。

 对软件开发过程和项目管理过程进行“裁剪”,选择和合适的开发过程并根据产品规模及需

求易变、复杂、来源多的特点对需求管理、设计评审、单元测试、质量保证等几个环节进行了进一步细化,提出了更具体的要求。

 明确了将能力成熟度模型CMMI作为公司的质量策略。考虑软件自身的特点和将要面对的客

户的要求考虑的。

 在公司的质量方针“科技领先、优质高效、客户至上、遵信守约”和公司在软件产品方面

的质量目标“产品发布:BUG 修复率不低于98%”的基础上,进一步明确了本项目的质

第2/6页

论软件项目的质量管理

量目标,定义了各个阶段的验收标准。

 针对选用的各个过程、标准以及规范,采用流程图、因果图等分析方法对项目进行了整体

分析,明确了监控的关键点,并据此制订了详细的质量检查单。  为保证过程的顺利进行以及持续改进,对过程的改进进行了定义。

2)根据该项目开发的特点,选择了CVS作为源码的配置管理工具,VSS作为文档的配置管理工具,并制定发布了配置管理工具的使用规范(含使用手册)。每个人每天开发的源码每天在指定时间必须上传,第二天开发必须先下载。所有的项目管理文档、开发过程文档(需求、设计、编码、测试用例等)、质量管理文档(质量管理计划、检查单、纠正措施等按照规范存储在VSS中。 3)为对任务安排、进度管理以及各种角色的人员共享信息,组织团队首先开发了项目组公用的工作平台,包括任务的安排、跟踪以及反馈等功能、进度报告、项目成员工作报告提交和反馈以及各角色必须掌握的知识等功能。

4)针对每个子项目,在项目计划时,制定质量保证计划。质量保证计划的主要内容包括: 质量管理计划和质量检查单部分内容:

――质量管理计划:

2.流程剪裁计划

序号 3.质量目标

偏差内容 原因详细描述 备注 质量目标 序号 度量 目标 序号

质量目标 序号 度量 优先级 目标 需求覆盖率 业务 下限 第3/6页

上限 目标 公司基线 下限 上限 说明 优度量 先级 本月计划执行偏差 总计划执行偏差 目标 15% 17% 过程 下限 10% 12% 上限 18% 20% 目标 质量目标 公司基线 下限 上限 说明 出厂bug总数量 出厂时bug修复率 重大问题遗留情况 60/模块 98% 3/模块 产品 下限 上限 目标 公司基线 下限 上限 说明 40/模块 80/模块 95% 0/模块 100% 5/模块 论软件项目的质量管理 质量目标 序号 度量 优先级 目标 二次开发规模 业务 下限 上限 目标 公司基线 下限 上限 说明 7、质量保证和质量控制活动(例如)

活动 《需求说明书》评审 责任人 产品经理 说明 由项目经理组织对需求说明书的评审,通过评审的才能将需求提交给设计人员。 业务系统提交验收测试 项目经理 项目经理组织、设计人员÷测试工程师参与业务系统提交的验收测试,bug修复率满足质量目标时才允许提交。 ―――质量检查表

(1) 需求分析

需求是否完整?是否考虑对其它业务系统的影响? 需求是否有所遗漏?是否超出了项目范围? 需求的描述是否达成了一致? 等等

2、执行质量保证

制定一项质量计划确保一个项目的质量是一回事,确保实际交付高质量的产品和服务则是另一回事,质量保证贯穿于整个项目生命周期。质量保证是一项管理职能,包括所有有计划的系统的为保证项目能够满足相关的质量标准而建立的活动。质量保证是一种管理评审,重在合规性检查。质量保证为持续改进过程提供保证。具体的在项目的各个阶段,组织开展了如下质量保证工作

1)项目初期,设立了专门的团队执行质量保证工作,具体包括配置管理小组、测试小组和质量保证小组。

2)有序的执行质量保证

依据在质量规划时输出的质量管理计划、质量度量标准、过程改进计划、工作绩效信息以及变更请求和质量控制测量结果,有步骤的执行质量保证,在执行过程中,对一些关键过程特别重视。

针对需求管理可能存在的问题,设立了需求评审小组,专门对需求产生的问题和纠纷进行评审,协调,并对需求的变更进行控制。通过这些方法,有效的保证了需求尽可能少的变更。

在每个子项目的重要阶段,进行质量审计,以保证满足下一个阶段的进入准则以及获取经验教训,提高本子项目后续阶段和其它子项目的质量。审计内容包括:项目本阶段的活动是否符合公司政策、确定的规范,过程的产出是否符合目标计划以及可能原因等。

遵循过程改进计划的步骤,对项目的过程进行分析,从组织角度识别需要改进的地方。在分析过程中采用了作业成本分析和流程分析法。

第4/6页

论软件项目的质量管理

在执行质量保证时,对项目可能产出请求的变更、建议的纠正措施(通过过程分析和审计得到)。根据质量保证结果的改变更新了质量管理计划,进而更新了项目管理计划,这些计划的更新均走正常的变更流程,经申请、批准后执行,所有这些过程文档均进入配置管理系统。

3、严格质量控制

质量控制就是采取有效措施,监督项目的具体实施结果,判断它们是否否合有关的项目质量标准,并确定消除产生不良结果原因的途径。质量控制是确保项目质量得以完满实现的过程,质量控制贯穿于项目执行的全过程。项目质量控制是一个系统过程,应从项目的全过程入手,全面、总和的进行控制,主要从以下两个方面进行了控制:

产品的控制,软件产品的控制主要通过测试来实现,代码走查和单元测试重点在代码级进行检查,而集成测试则是在各个业务系统的功能模块间进行测试,系统测试是将各业务子系统集成在一起进行测试。每一个层次的测试都提前设计测试用例,制订测试计划并对测试过程和结果进行记录,测试完成后提交测试报告,包括对缺陷的各种角度的分析。

过程的质量控制,过程控制通过项目审计进行,将管理过程的作业与成功时间的标准进行比较所做的详细检查,对于软件开发项目,主要就是开发过程的质量控制。控制的手段包括对各个阶段的过程文件进行检查,对工作成果进行积极的评审等。

在具体的执行该项目的质量控制时,我们对质量管理计划、质量保证计划中设置的检查点,

测试人员按照作业程序进行测试检查,这些检查的结果必须得到项目经理的确认。

质量控制过程最常用的方法包括:检查、控制图和帕累托图。软件项目中,大多数的问题和缺陷产生与相对有限的原因,满足80、20定律。按照这种方法,可以通过对缺陷的分析,找出具体的核心的原因,以便将最重要的资源花着最重要的事情上。 二、重视开发过程中“人”的质量。

高质量的软件产品,必须依靠热心于质量,以提高质量产品为荣的专业人士开发。因此控制开发过程中“人”的质量非常重要。加强了对开发人员的管理、教育和培训。这些人员均为高级知识分子,主要采用Y理论来对其进行激励。对这些人员开展质量、技术、业务等各个方面的教育和培训。

三、重视质量管理与其它项目管理过程的关系

项目质量管理是项目管理的重要组成部分,与其它过程共同为项目目标的实现做贡献。 质量管理计划是项目计划的一部分。项目质量成本是项目成本的一部分,项目质量成本需要列入预算。质量管理过程各种工作成果的变更控制服从项目整体管理。项目质量管理的质量保证、管理评审为项目风险识别和监控增加输入。处理好这些关系,才能够使质量管理工作有效进行。 四、在其它一些提高项目质量的方面开展一些工作

第5/6页

论软件项目的质量管理

除了使用好的质量规划、质量保证、质量控制这些有效工具外,我们这个项目的成功还得益于以下几个方面:

 公司领导的重视和给予的积极的支持,在项目遇到困难时给予积极的帮助,在资源方面尽

量满足等。

 有一个良好的工作环境,在正常的工作环境外,建立了活动室,可以打乒乓球、跑步,也

可以喝喝咖啡,在沙发上聊聊。同时还提供水果和各种饮品。晚间如果加班,则有宵夜。阶段性的还可以组织一些外部的娱乐活动。

 良好的团队氛围。在公司大环境的影响下,项目团队成员之间友好、和谐,积极的解决问

题,让大家在一个信任、开放的氛围中工作。

 适宜的培训。对项目团队成员提供了业务、制度、流程等各个方面多种层次的培训,以满

足工作的需要,人的质量决定了产品的质量。

 规范的软件开发和项目管理过程。公司确定采用CMMI的质量策略后,就请了专业的团队

帮助梳理了原有的开发和项目管理过程,定义出更加规范适宜的软件开发和项目管理过程。这极大的提高了整个项目的水平。 【结束语】

软件项目质量管理实际上是一个项目的全面过程质量管理。我们尽量明确目标需求,分析具体环境,以便尽早进行规划并高效管理,但外部环境总是在快速的变化,且这些变化毫无踪迹可言,软件企业在进行项目管理的过程中,必须采用适合自己的质量管理方法,有针对性的质量管理,以确保软件项目在规定的预算和期限内完成项目,结合本人的经验,质量管理要做到以下几点:

 高度的质量管理意识,尤其是领导层和项目管理团队成员的高度质量意识,将质量管理贯

穿在软件项目管理的全过程中。

 规范质量管理流程。制订适宜的质量管理流程,并不短的改进,加强质量实施的力度。  加强质量评审和控制。有效利用各种质量工具。

第6/6页

因篇幅问题不能全部显示,请点此查看更多更全内容