ISO标准和过程改进技术对我国软件企业的启示

最新更新时间:2012-05-16来源: 互联网关键字:ISO标准  过程  改进技术 手机看文章 扫描二维码
随时随地手机看文章

ISO标准和过程改进技术对我国软件企业的启示  
 
2003年06月20日 
电子信息技术的迅猛发展大大推动了全球经济的增长。与此同时,计算机软件在电子信息技术中的地位日益重要,软件产业作为一个朝阳产业对各国经济的贡献越来越大。在美国,软件产业成为继汽车、电子工业后的第三大支柱产业。90年代后期,美国软件产业以每年12.5%的速度递增着。1998至1999年度,印度的软件销售额已达到40亿美元。我国1999年的软件销售额也上升到176亿元人民币。此外,软件技术对一个国家的安全和社会稳定也是至关重要的。在信息时代的今天,存储在庞大计算机系统中的天文数字般的信息一旦受到“病毒”感染或“黑客”攻击,就有可能造成难以估量的损失。为此,各国都在积极制定有利于软件产业发展的政策和措施,从宏观上为软件企业的发展营造良好的社会环境。但另一方面,软件企业发展的真正动力应该来自企业内部,软件企业只有加强质量管理,积极创新,才有可能在激烈的竞争中立于不败之地。ISO标准和过程改进技术对加强软件企业的质量管理工作可以起到显著的推动作用。 
ISO标准与软件企业的质量管理体系
自从1987年公布ISO 9000族标准以来,ISO 9000族标准已经成为全球最有影响的质量管理和质量保证标准。ISO 9000族标准的制订和实施反映了市场经济条件下供需双方在进行交易活动中的要求。供方只要按ISO 9000族标准组织产品的开发和生产,并通过权威机构的认证,在产品质量方面就会赢得顾客的充分信任。另一方面,顾客在市场上选购产品时,更愿意选择通过质量认证的企业所生产的产品,从而减少一部分多余的或力不从心的繁琐的质量检验活动。
ISO 9000族标准建立在“所有工作都是通过过程来完成的”这样一个认识基础之上。每一个过程都由诸如原材料、设备、组织和人员等作为输入,输出的是过程的结果,如半成品、成品和计算机软件产品等。质量管理是通过对组织内各种过程进行管理来实现的。一个组织的各种职能和各层次管理的一贯目标应该致力于不断地进行质量改进,以满足顾客和社会的需要。
在ISO 9000族标准中,与软件企业关系最密切的是《ISO 9001 质量体系-设计、开发、生产、安装和服务的质量保证模式》和《ISO 9000-3 质量管理和质量保证标准 第三部分:ISO 9001在计算机软件开发、供应、安装和维护中的指南》。
ISO 9001标准从20个方面全面定义了质量体系要素,规定了质量体系的要求,如果产品开发、生产者或供应方达到了这些要求,就表明具备了质量保障能力。
尽管ISO 9001标准全面明确地定义了质量管理工作的各个方面,包括了软件开发活动的全过程,但是ISO 9001主要是针对制造业制订的,没能详尽地描述软件企业的质量管理工作。因此,ISO专门制订了ISO 9000-3作为ISO 9001标准的实施指南。
ISO 9000-3作为软件企业实施ISO 9001的指南,对其中的20个质量要素作了进一步的解释与说明。其主要思想是:软件的开发和维护有着一系列的任务。这些任务的顺利完成需要各级管理层和开发人员的共同配合和一致协调。其中高级管理层应该根据其在过去工作中积累的经验来制订总体策略,下一层的管理者负责制订用来实现总体策略的实施计划,并管理他们所制订计划的执行。开发人员在计划时间内、以尽可能低的费用开发出满足功能要求的软件的前提是准确地理解用户需求。
需要指出的是,ISO 9000-3对软件企业的软件开发和维护活动起到的是指导性的作用,不带有强制性,而具有建议性。一个软件企业在贯彻和执行ISO 9000-3的过程中,应该根据企业自身的基础和现状,有针对性地开展软件质量管理和质量保障活动。软件企业影响软件质量的全部因素在软件生命周期内始终处于被监控的状态,实现持续不断的质量改进。
此外,ISO/IEC于1995年制订了《信息技术-软件生存周期过程》(ISO/IEC 12207:1995),全面系统地描述了软件生存周期过程,是ISO 9000-3实施指南的进一步扩展。
软件过程技术及其发展
随着软件工程的深入发展,人们逐渐认识到:提高软件生产率和软件质量的瓶颈在于软件开发和维护过程中的支持和管理问题,意识到关键的是“软件过程”
从1984年开始在计算机界掀起了“软件过程运动”,针对软件过程进行了一系列的研究和讨论,进而诞生了软件过程技术。
软件过程就是软件生存周期所涉及的一系列相关过程。过程就是活动的集合,活动又是任务的集合,任务是把输入转换为输出的操作。
软件过程技术的基本思想是:软件开发和维护过程的质量对软件产品的质量和软件生产率影响很大。软件过程技术的目标就是通过工程化、标准化和形式化的方法管理软件的开发过程,从而改变目前基于手工的软件生产方式,实现大规模的软件生产。
目前,软件过程技术的研究大致可分为以下三个方面:①软件过程建模语言。提出各种适合于定义和描述软件过程的方法和手段。②软件过程支持。研究在以过程为核心的软件工程环境的设计和实现中所涉及的各种技术问题,如体系结构、实施机制、工具集成、过程可视化、一致性维护、并发控制和事务管理等。③软件过程改进。研究如何对软件开发机构现有的软件过程进行评估和改进。
由美国卡内基·梅隆大学软件工程研究所(SEI)开发的软件过程持续改进模型-能力成熟度模型CMM(Capability Maturity Model)是软件过程改进技术的代表。
CMM描述了一个有效的软件过程中的关键要素,讨论了不成熟的软件机构发展成为有规律的、成熟的软件机构的改进过程。CMM涉及对软件开发和维护活动进行规划、软件过程工程化和对软件过程进行管理的实践活动。通过这些实践活动,能够提高软件机构满足成本、进度、功能和质量要求的能力。
所有软件都是经过一些过程而产生出来的。但这些过程往往是混乱和不一致的,从而导致缺乏可预见性和可重复性,缺乏改进的基础。为此,在软件开发期间需要连贯的、明确的过程,从而使这些过程能够被连续地执行,并被监督和演化。
CMM对于想要控制软件开发和维护过程,以及希望在机构内部形成良好的开发次序和环境的组织,是有很大帮助的。
  CMM将软件机构的成熟度分为五个等级,如图1所示。
改进软件过程期望达到下面几个目标:
1.提高软件项目的效率。有效地运用项目所拥有的各种资源,包括人员和时间,以达到提高生产率的目的。
2.提高软件项目的可预见性。根据以往的项目经验和数据,尽可能准确地估计开发软件所需的成本和时间,并使这些估计更具鲁棒性,即项目环境和目标的微小变动不会使这些估计无效。
3.提高软件产品的质量,以更高的准确度和可靠性达到预期的目标。 
 

有关专家通过观察发现:遵循系统的和可重复的演化过程的软件企业,与过程是专设的、混乱的软件企业相比,可以保证类似以往成功项目的可重复性,具有更高的软件生产率,开发出来的软件也具有更高的质量。
国外软件企业管理经验介绍
几十年来,美国一直保持着软件霸主的地位。从80年代中期开始,一些大的计算机厂商开始认识到必须改进开发软件产品的过程以提高软件产品的质量和及时交付使用的能力,并组织专门力量进行了这方面的研究工作。IBM的Santa Teresa实验室依据Malcolm Baldrige国家质量奖标准和ISO 9000系列标准对软件开发工作涉及的各个方面进行了评价和改进,把软件质量成熟性水平分成意识、应付、管理和综合4个阶段,形成了一套包括领导、技术和过程方法三足鼎立的质量管理策略。微软的哲理是追求高度的灵活性,其目标是既要达到自由,又要有严格性。在组织产品开发时,有许多并行的小组(每组3至8人),这些并行小组自由地开发产品的功能特性。在扩大产品的同时引入新技术、新概念。强调各小组的工作要同步稳定地进行。
TickIT是由英国贸工部(DTI)发起的、旨在推动IT产业通过ISO 9000质量认证的一项活动。TickIT活动迎合了英国IT产业的需要,并对全球的IT产业产生了深远的影响。通过ISO 9000质量认证的企业在管理方面往往有了很大的改善,提高了生产效率和产品质量,而且在市场竞争中常常占有优势。顾客也更愿意选择通过ISO 9000认证的软件企业作为合作伙伴。
近十几年来,印度的软件业也保持着高速发展的势头。按照世界银行对软件出口国能力的调查评估认为,印度软件出口的规模、质量和成本的综合指数居世界第一位。
印度的软件产业之所以能够在国际市场上占有一席之地,不仅在于它的价格低廉和一定的语言优势,更重要的是印度的软件机构以ISO 9000和SEI CMM为基础,建立了自己的软件项目管理和质量保障体系,并融入所有软件的开发和维护过程之中,不断地改进和完善软件过程。这就大大增强了其软件产品按时按质交货的能力及在国际市场上的竞争力。目前,印度有近百家软件公司通过了ISO 9000或CMM二级质量认证,以至于比尔·盖茨惊呼:“除美国外,下一个软件大国既不是欧洲国家,也不在日本,而在印度。”
由此可见,对软件开发活动进行规范化管理和采用软件过程改进技术,是软件企业尤其是不成熟的软件企业加强质量管理的有效途径。
我国软件企业的管理现状及其分析
据统计,目前国内从事软件开发的企业有数千家,除100多家外资合资企业外,绝大多数企业的规模在50人左右,少数达200人,规模达到1000人企业的只有两三家。无论是从产业规模、企业实力、技术水平,还是从创新能力、市场竞争力和产品的市场占有率来看,都还远远落后于国外同行,我国的相当一部分软件企业处于不成熟阶段,质量管理制度和队伍不健全,质量管理工作滞后,主要表现在以下几个方面:
1.软件过程一般在项目进行中由参与软件开发的人员临时确定。有时即使确定了,可实际上在开发过程中并不严格执行。
2.软件机构是反应型的,缺乏风险分析经验,对软件开发过程中可能遇到的困难准备不足,管理人员往往花费大量的精力去应付突发事件。
3.软件项目的进度和经费预算由于估计得不切实际,所以被常常突破。在交付时间急迫的情况下,往往不得不削减软件的功能,降低软件的质量。
4.软件的质量难以预测。质量保证活动,如质量评审、测试等,常被削弱或被取消。
经过分析发现,造成这种局面的原因主要有以下几点:
1.企业质量意识淡薄,重技术轻管理的思想根深蒂固。企业负责人和技术骨干往往只重视技术,认为只要工具使用得熟练,精通程序设计语言,就能开发出顾客满意的软件。
2.企业战略目标有偏差。企业上层领导对质量、功能、进度和成本之间的相互制约关系缺乏正确的认识,企业往往将经济效益放在突出的地位,当经济效益与软件产品质量发生冲突时,往往是牺牲质量。
3.企业规模制约着质量管理活动的开展。由于规模小,加之质量意识淡薄和战略目标有偏差,企业难以或不愿组织专门力量开展质量管理活动,造成质量管理队伍不健全。许多企业只有测试人员,而无专门的质量保障机构,也没有负责质量管理的部门。
4.员工知识结构单一。在软件企业中,往往是软件开发技术人员缺乏质量管理常识,而质量管理人员对软件开发技术又不熟悉,进而造成软件开发技术人员和质量管理人员之间难以沟通,阻碍了开发工作的顺利进行。
5.软件开发队伍不稳定。企业常常是在签定项目合同之后再在人才市场上招募技术人员组织开发队伍,然而临时招聘来的技术人员往往既对项目环境缺乏了解又难以安心工作,甚至在项目进行过程中途就离开开发队伍,无法保证软件质量。
加强我国软件企业质量管理的途径
我们认为,目前我国软件企业遇到的最大困难既不来自国家有关的产业政策,也不来自市场的竞争,而是来自企业内部管理的不完善和不协调,有相当一部分软件企业的质量管理环节薄弱。因此,软件企业的当务之急应该是苦练内功,通过加强质量管理工作、吸取国外先进管理技术和经验来规范企业内部行为,通过提高软件产品质量来增强市场竞争力。具体途径有:
1.在有条件、员工在100人以上、管理问题较突出的软件企业开展ISO 9000质量体系的建立与实施工作。软件企业在实施ISO 9000标准、建立质量体系时,不能机械地照抄,认真研究和分析软件开发过程的规律和特点,找出现有质量体系需要完善和加强的环节;以ISO 9000标准作为尺度加以衡量,进而找到完善和加强质量管理工作的途径;建立有企业特色的、适用性和有效性强的质量体系。
2.借鉴CMM思想,结合企业实际情况,开展过程改进活动。对照CMM的五个成熟等级,我国绝大多数的软件企业处于2级以下,应主要针对项目计划、需求管理、配置管理、质量保证和项目跟踪及监督5个关键过程领域加强质量管理工作。
3.企业领导在质量管理工作中应发挥积极的引导作用。朱兰8020原则强调,产品质量问题有80%出于管理层,而只有20%的问题起源于员工。日本质量管理专家石川馨认为,QC小组的作用充其量只能解决10%的品质问题,而90%的问题需要由管理层来解决。质量管理工作是自上而下的,尤其在我国软件企业质量管理工作的基础比较薄弱,这样,企业领导就成为其中最关键的因素。需要特别指出的是,企业最高领导对质量管理工作的推动作用是下级各级负责人不可比拟的,也是下级负责人不可代替的。
4.在质量管理活动中,正确理解人的因素的重要性。质量管理的实践充分证明,提高产品质量的根本途径在于不断提高企业全体员工的素质,充分调动和发挥人的积极性和创造性。石川馨认为:“质量管理始于教育,终于教育”。组织培训是提高员工质量意识和素质的重要手段。在软件企业内部,要营造鼓励员工积极参与质量管理活动的氛围,尤其要为软件开发人员创造机会和条件,使他们的一部分工作用在改进软件过程的工作上。最后一定要保持开发队伍的稳定,以保证软件项目开发活动的可持续性。
结束语
在经济全球化的今天,要高质量、高效率地开发出复杂的大型软件系统,已不再是个体或小分队的软件企业所能完成的任务,工程化、工业化和标准化生产已经成为国际软件业通行的趋势。另一方面,面对市场竞争日益激烈的新形势,机遇和挑战同在,希望与困难并存。以质量求效益、求发展,是中国软件企业生存与发展的必由之路。古语云:“不谋全局不足谋一域,不谋万世不足谋一时”。中国的软件企业应该牢固树立“质量第一”的长远观点,将加强质量管理作为当前工作的重中之重,并结合企业的实际情况,建立自己的质量管理体系,这样才能保证企业的可持续发展。 

关键字:ISO标准  过程  改进技术 编辑:神话 引用地址:ISO标准和过程改进技术对我国软件企业的启示

上一篇:中国软件工程标准层次及标准化工作简介
下一篇:ISO/DIS 9000:2000质量管理体系的要求详解

推荐阅读最新更新时间:2023-10-12 20:40

Exynos4412的启动过程分析
做实验时我们是把 bin 文件烧入SD卡,比如前面做的 汇编流水灯 实验。 问:是谁把这些指令从 SD 卡读出来执行? 答:是固化在芯片内部ROM上的代码---它被称为iROM ,iROM是厂家事先烧写在芯片上的,无源码。 iROM把启动设备上特定位置处的程序读入片内存 (iRAM) ,并执行它。这个程序被称为 ,并执行它。这个程序被称为 BL1(Bootloader 1) ,BL1 是三星公司提供的,无源码。 BL1又把启动设备上另一个特定位置处的程序读入片内内存,并执行它。这个被称为 BL2(Bootloader 2) ,是我们编写的源码。 在 汇编流水灯 程序中我们通过mkbl2工具制作的BL2,当时也做了比较详细的讲解,执
[单片机]
Exynos4412的启动<font color='red'>过程</font>分析
金属管浮子流量计安装过程中需要注意的事项有哪些
使用仪器最重要的一点就是仪器仪表的安装,只有正确的安装,并且能够做到仪表周围没有可以干扰到仪表正常工作的外界因素存在,才能保证仪表的正常工作。那么对于金属管浮子流量计来说,安装的过程中,需要注意的事项有哪些呢。 为了能让金属管浮子流量计在使用过程中可以达到一定的测量精度,在安装的过程中,一定要注意以下几点: 1. 金属管浮子流量计应该安装在工艺管线上,并且在其旁边一定要安装一些旁路管道和旁路阀门,这样做也是为了在检测维修的时候,更好的更换流量计和清洗管道,对于金属管浮子流量计日常的检查工作更加方便。 2. 安装磁过滤器和阀门,这可以使得在使用流量计进行测量时,能够顺利的将介质中存在的带有磁性的物质过滤掉,介质中如果含有固体杂
[测试测量]
金属管浮子流量计安装<font color='red'>过程</font>中需要注意的事项有哪些
ARM Linux外部中断处理过程
ARM Linux外部中断处理过程 最近在学习arm linux的整套外部中断的处理过程,在网上汇总了一些资料,整个过程差不多都了解到了。如果没有这些资料我真是没信心从汇编开始读代码,感谢 奔腾年代的jimmy.lee和 linux论坛的bx_bird。 在下面的的注释中有一些我读代码时遇到的问题,要是大家知道是怎么回事,希望多多回复。 ============================================= 一.ARM linux的中断向量表初始化分析 ARM linux内核启动时,通过start_kernel()- trap_init()的调用关系,初始化内核的中断异常向量表. /
[单片机]
LED照明设计过程中关键问题全析
  要设计产品,首先要确定用谁的LED封装结构;接下来考虑怎样适应这些封装形式; 由我们选择的机会不多,光学结构是建立在这些封装之上的;我们很多创意不能很好的发挥。下面介绍LED照明设计过程中的关键问题及分析。   一、半导体照明应用中存在的问题   1、散热   2、缺乏标准,产品良莠不齐   3、存在价格与设计品质问题,最终消费者选择LED照明,缺乏信心   4、半导体照明在电气设计方面与传统照明有很大差别,传统灯具企业需要经验/技能积累过程   5、大家都看好该市场,但是还没有规模上量   特点:   1、通过调整高精度恒流芯片,保证LED亮度、色度的一致性,在模块一级为
[电源管理]
OLED技术及发光过程分析
   在本文中,您将了解到OLED技术的工作原理, OLED有哪些类型,OLED同其他发光技术相比的优势与不足,以及OLED需要克服的一些问题。   类似于 LED,OLED是一种固态半导体设备,其厚度为100-500纳米,比头发丝还要细200倍。OLED由两层或三层有机材料构成;依照最新的OLED设计,第三层可协助电子从阴极转移到发射层。本文主要涉及的是双层设计模型。   一、OLED的结构   OLED由以下各部分组成:      OLED的结构   基层(透明塑料,玻璃,金属箔)——基层用来支撑整个OLED。   阳极(透明)——阳极在电流流过设备时
[电源管理]
OLED<font color='red'>技术</font>及发光<font color='red'>过程</font>分析
单片机串行口接收和发送数据的过程简述
串行口接收和发送数据的过程简述 答:在发送过程中,当执行一条将数据写入发送缓冲器SBUF(99H)的指令时,串行口把SBUF中8位数据以fosc/l2的波特率从RXD(P3.0)端输出,发送完毕置中断标志TI=1。写SBUF指令在S6P1处产生一个正脉冲,在下一个机器周期的S6P2处,数据的最低位输出到RXD(P3.0)脚上;再在下一个机器周期的S3、S4和S5输出移位时钟为低电平时,在S6及下一个机器周期的Sl和S2为高电平,就这样将8位数据由低位至高位一位一位顺序通过RXD线输出。并在TXD脚上输出fosc/12的移位时钟。在“写SBUF”有效后的第10个机器周期的SlPl将发送中断标志TI置位。 接收时,用软件置
[单片机]
基于LTC1760的智能电池系统(SBS)充电过程分析
一个基本的SBS系统由以下部分组成:系统管理总线(SMBus),智能电池充电器和智能电池。SBS的模块化特性使设计闭环电池充电系统变的非常容易,这样的系统允许采用电池组独立充电器(智能充电器),最大限度地降低了硬件和软件的非重复工程(NRE)性成本,并促成了坚固的系统,这对高可靠性电池备份应用尤其重要。而集成到电池组中的高准确度气压计则能一直准确地监视电池,甚至电池不在系统中时也一样。该气压计按照电池的实际容量值进行了校准,因此消除了偏差,确保了准确度。 智能电池的充电和保护 智能电池充电器的主要功能是为智能电池 充电提供电压源和电流源。智能电池通过SMBus接口与智能充电器通信,并可选择与主机通信。为了防止由于SMBus功
[电源管理]
基于LTC1760的智能电池系统(SBS)充电<font color='red'>过程</font>分析
单片机中一个程序的运行过程详解
单片机中一个程序的运行过程分为取指令,分析指令和执行指令几个步骤。 取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。 分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。 下面我们将举个实例来说明指令的执行过程: 开机时,程序计算器PC变为00
[单片机]
小广播
最新模拟电子文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved