媒体监测和推荐平台

特别报道

当前位置:首页 > 特别报道 > 详细内容

自主创新的瑰宝 过程改进的利器 ——软件质量管理平台

文 / 中国科学院软件研究所  雷辉

一、研发背景自60年代出现软件危机以来,软件开发过程中的过程技术和质量保障一直是困扰人们的难题。尽管软件工程研究硕果累累,但远没有达到期望的效果。70年代开始,解决方法从单纯的技术模式,发展到与产品形成的过程管理相结合的途径,80年代以后出现的CMM/CMMI能力成熟度模型是其中最典型的代表。但是,CMM/CMMI只是提出了要求,仅仅指出了“做什么”的问题。“如何做”,还需要实施方法、技术和工具的支持。这在世界范围内一直是近十年来学术界和工业界关注的热点。

软件作为信息产业和现代服务业的核心,是我国调整产业结构、转变经济增长方式、走新型工业化道路的基础性和战略性要素,是信息时代国家能力竞争的焦点。

国务院[2000]18号文件明确鼓励大力发展软件产业,并要求软件企业加强质量管理,以整体提升我国软件产业的国际竞争能力。然而,一些传统流行的国外软件工程工具,如Rational系列产品,不但每授权用户高达数千美元,对用户水平又有较高的要求,而我国大多数软件企业的管理、技术和经济水平都还处在非常初级的阶段,因此仅靠这些工具难以实质改善我国软件产业质量管理不尽人意的状况。企业迫切需要适合中国软件企业管理模式、文化背景、应用水平和价格要求的“软件质量管理平台”。

中国科学院软件研究所就是在上述软件技术发展和国家战略需求背景下,于1996年,就开始在北京市科委以及国家863计划、国家自然科学基金和中国科学院的支持下,开展相关工作的,在长期深入研究现代质量管理理论和技术的基础上,结合国际主流的软件质量管理模型和标准,针对国内软件企业的特点,研制开发了具有完全自主知识产权,能够全面、有效地管理软件协同工作开发过程的“软件质量管理平台”。

该平台主要围绕软件开发周期的活动对软件开发和生产的过程进行管理,将软件组织的过程融入项目日常开发中,实现了管理与技术的融合,能够提高管理效率、降低成本、保证产品质量,使得软件组织真正体会过程管理带来的诸多益处。

该平台围绕软件组织的基本盈利单位——软件项目开发进行管理,确保软件项目依据软件组织规定的流程要求制定计划、调配资源、监督开发产品;通过对开发过程的量化度量与控制,尽早发现和解决项目中存在的问题,规避项目风险;有效提高了软件开发的 “可视性”、“可控性”、项目成功率和软件产品质量;同时降低管理成本,提高管理效率。

该平台为高层经理、SEPG、项目经理、质量管理人员、软件开发人员等多种角色提供了不同的工作环境,并共享开发过程和产品质量相关数据和信息,促进软件组织协调工作,使软件组织的管理走向高效、有序和规范。

该平台目前已经在全国近200家软件企业中得到了推广和应用,在北京地区也培育出了一批重点用户,为我国软件产业逐步进入过程化、规模化和工业化提供了必要的方法与工具支持。

二、主要功能

软件质量管理平台主要包括四个部分的功能:软件过程管理、软件项目管理、软件质量保证、软件度量。

(一)软件过程管理

作用:

为SEPG提供过程定义工作区,管理软件组织的过程资产如历史项目数据、过程评估数据、过程相关的模板、样例等。

主要功能:

建立和维护组织标准过程,过程中的活动可以导入项目计划模块,简化工作拆分

对过程数据进行管理,包括历史项目数据分析与管理和建立和改进过程性能基线

对过程文档进行管理,包括将过程文档与过程的活动/任务关联,可以让开发人员在工作中及时了解过程

图1 标准过程定义工作区

(二)软件项目管理

作用:

帮助项目经理制订项目计划,分配任务并通过日报/周报等了解项目进展,及时发现问题,解决问题,规避项目风险。

主要功能:

完整的项目计划、项目跟踪和项目数据统计分析能力

分布环境下的项目协同管理,支持大型项目和外包项目的管理

灵活的项目数据导入、导出和共享

图形化的项目数据统计、度量分析

图2 项目计划Gantt图

图3 任务属性-任务成员信息

(三)软件质量保证

作用:

对各种质量活动,如SQA、评审、测试等制订计划,收集和分析质量数据,处理发现的问题。

主要功能:

制定SQA/评审/测试计划

过程审计,发现过程使用中存在的问题

产品评审,发现工作产品中存在的问题

不符合项/缺陷/bug转化成问题进行处理

质量数据分析,如缺陷分布,缺陷密度,质量目标满足情况

图4 在Gantt图上制定质量计划

(四)软件度量

作用:

依据SEI推荐的度量指标以及高成熟度软件企业的推荐度量,平台内置了一批度量数据集,帮助软件组织了解软件过程和产品质量。

主要功能:

收集分析项目和质量相关数据

计算软件组织的过程性能基线

量化过程控制

支持高成熟度软件企业运作

图5 项目挣值分析图

图6 任务工作量分布图

图7 人员工作量分布图

图8 QA审计NC统计图

三、产品特点

1、过程内容丰富 过程图形化程度高,内容丰富;

2、成本低、管理效率高:“每年节省一个SQA的统计工作量”、 “每年节省项目经理50%的管理工作量”,这是一个用户在使用软件质量管理平台之后提供的数据;

3、多项目资源协调功能:提供了多项目资源协调机制,有效配置资源,减少资源浪费;

4、支持异地协同开发:项目经理在异地可以制订计划,分配任务,检查开发人员提交的任务报告;开发人员在异地能够接受到任务,汇报工作完成情况;高层管理者和质量管理人员都可监督外地项目的执行;

5、支持大型项目和外包项目的管理:平台提供任务的协同分配机制,可以提供给计划制订者将自己负责的任务协同给另外的任务负责人,以方便该任务负责人在此基础上继续拆分,这样就能非常方便的利用此工具实施大型项目和外包项目的管理。

6、项目关键信息处理:“项目纵览”功能可以让管理层实时掌握关键信息、了解问题的处理机制;项目开发的“可视性”使得风险降低、成功率提高;

7、多层计划权限控制:项目经理可以直接把任务分配给开发人员,也可以将某些任务分配给任务负责人,任务负责人还可以再指定子任务负责人,最后再分给开发人员;

8、支持高成熟度级别组织运作:支持CMM4级以上的软件组织,对软件过程进行量化的控制;

9、符合持续过程改进的理念:项目管理模块收集使用情况数据;度量模块分析项目中使用过程的数据;SEPG可以利用数据分析的结论,改进软件标准过程;体现了从过程定义到过程使用,再到过程控制完整的过程改进环这样的理念。