




已阅读5页,还剩57页未读, 继续免费阅读
(企业管理专业论文)铁路软件企业——弘远公司实施CMM进行过程改进的分析.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文摘要 y8 6 1 7 t ;2 中国铁路迅速发展,铁路信息化建设也突飞猛进,作为内部核心的铁路软件 开发面临着机遇和挑战。长期以来,铁路软件是“自给自足”式的,基本上作为 生产任务交给铁路内部的软件企业完成,开发过程的不成熟,尤其是软件需求不 稳定、项目管理失控、质量把关不严的弊病严重影响着铁路软件的质量。 本文首先分析了中国铁路企业软件开发的现状,指出了进行软件过程改进必 由之路,阐述了国内外软件过程改进的发展,从而确定了按软件能力成熟度模型 ( s o f t w a r ec a p a b i l i t ym a t u r i t ym o d e l ,c m m ) 的方法来在铁路公司进行软件过 程改进的试点。论文分析了作为试点企业的中铁信弘远公司现有的质量体系,探 讨了进行软件过程改进的动机,按照c m m 的i d e a l 方法针对公司实际情况设 计了实施的组织结构,制定了过程改进的主要目标,详细论述了过程改进的内在 以及实施的历程。本文还介绍了弘远公司建立的度量数据模型,并根据采集的数 据,对软件过程改进的效果进行了分析。 试点企业的成功,验证了软件开发过程改进是提高软件质量的必由之路,并 给出了中国铁路软件企业进行过程改进的模式。 a b s t r a c t a l o n g w i t ht h e r a p i dd e v e l o p m e n t 0 1 1i n f o r m a t i o n s y s t e m o fc h i n e s e r a i l w a :! y ,s o f t w a r ed e v e l o p m e r i ti s i nf a c eo fc h a n c ea n dc h a l l e n g ea st h ek e r n e l s o f t w a r ew a sa l w a y sa s s i g n e dt ot h ei n t e r i o rc o m p a n i e so f t h er a i l w a ya sa t a s k al o t o fd i s a d v a n t a g e l si n f l u e n c e dt h eq l l a l i t yo fr a i l w a ys o f t w a r e ss e r i o u s l ys u c ha st h e i m r n a t u r cs o r w u r ep r o c e s s ,e s p e c i a l l yt h eu n s t a b l es o f t w a r er e q u i r e m e n t ,l o s i n g c o n t r o lo f t h ep r o j e c tm a n a g e m e n ta n dt h el a c ko f q u a i i t yc o n f f 0 1 t h i sp a p e rw a sb a s e do nt h ea c t u a l i t yo f t h es o f t w a r ed e v e l o p m e n ti nc 1 1 j n e s e :r a i l w a y c o r p o r a t i o n s i tp o i n t e do u tt h a tt h eo n l yw a yw a ss o r w a r ep r o c e s si m p r o v e m e n ta n d c h o o s e du s i n gc m m ( s o f t w a r ec a p b i l i t ym a t u r i t ym o d e l ) t om a k ee x p e r i m e n t si n r a i l w a yc o m p a n i e sa c c o r d i n gt oc o m p a r i n gt h eo v e r s e a sa n dd o m a s t i cp r o g r e s so f t h e s o r w a r ep r o c e s si m p r o v e m e n t t h i sp a p e ra n a l y s e dt h ep r e s e n tq u a l i t ys y s t e mo f s i n o r a i lh o n g y u a nc o w h i c hi sc h o o s e dt ob et h ee x p e r i m e n t a lc o m p a n y , d i s c u s s e d t h em o t i v a t i o na n do b j e c to fp r o c e s si m p r o v e m e n t , d e s i g n e do r g a n i z a t i o ns l x u c t u r e , d e s c r i b e dt h ed e t a i lc o n t e n do f p r o c e s si m p r o v e m e n ta n dt h ei m p l e m e n t a r yp r o c e d u r e , i ta l s oi m r o d u c e dt h em e a s u r i n gd 如m o d e le s t a b l i s h e db ys i n o r a i lh o n g y u a nc o a n da n a l y s e dt h ee f f e c to fs o r w a r ep r o c e s si m p r o v e m e n ta c c o r d i n gt ot h eg a t h e r i n g d a t a t h es u c c e s so ft h ee x p e r i m e n t a lc o m p a n yv a l i d a t et h es o f l 、 ,a 地p r o c e s si m p r o v e m e n t i st h eo n l yw a yt oi n c r e a s e t h eq u l 姆o ft h es o f t w a r e ,i ti n d i c a t e dt h ep r o c e s s i m p r o v e m e n tm o d eo ft h er a i l w a ys o f t w a r ec o r p o r a t i o na n dc o u l db ee x t e n d e dt ot h e o t h e re n t e r p r i s e s 绪论 在中国,铁路一直扮演着“经济大动脉”的角色,无论是大兴安岭的原木, 还是大同的煤矿,以及南来北往的商品,铁路依然在众多运输方式中占有较大的 比重,随着中国的经济腾飞,中国铁路也提出了跨越式发展的口号,从上世纪末 开始,铁道部先后五次下达命令进行大提速。铁路的跨越式发展需要的是重载和 高速,这两个目标对铁路的各方面能力提出了严峻的考验,铁路建设、运输车辆、 运输组织、安全控制均有待提高,而这些又都霞要铁路信息化的支持和保障。 铁路信息化的雏形始于上世纪7 0 年代的铁路“电算化”,真正进行大规模 的应用是1 0 年前的t m i s ( 铁路运输管理系统) 的建设,这是全路及至全国罕见的 信息系统,经过十年的磨砺,子2 0 0 4 年底全面通过验收,共有1 8 个子系统渗透 到铁路运输的各个岗位;例如与中国老百姓密切相关的铁路电子客票系统于 1 9 9 5 年开始建设,2 0 0 0 年实现了全国的联网售票,目前9 0 的客票由计算机打 印而成,原来的硬板所剩无几,仅北京地一日的售票量在2 0 万左右,票款收 入达到2 0 0 0 万,效益相当可观;诸如此类的信息系统还有很多,可以说没有它 们就没有铁路的信息化,没有铁路信息化就没有铁路的跨越式发展,也就没有铁 路的现代化。 铁路信息化不仅需要四通八达的通信网络、先进的计算机设备,更需要与 铁路业务融为一体的应用软件,这也是信息化建设的核心任务。计算机、网络通 信设备等设施可以由硬件厂商来提供,那软件是如何得到的昵? 与文字处理、财 务、制图等商业软件不同,铁路生产中应用软件都是业务性很强的专用软件,市 场上没有现成的商品可买,只能通过开发完成。 十多年来,铁路的应用软件建设还是计划经济的产物,绝大多数以指令计 划的方式,下拨给铁路系统内部的软件企事业单位( 科研所、设计院、电子所) 进 行研发、实施。这种体制在当时的形势下为铁路信息化的创业开端打下了坚实的 基础,在时间、资源紧张的情况下,完成了从无到有的过程,逐渐在全路建立了 信息化的基本构架。也正是借助于计算机软件,铁路运输生产的效率得到巨大的 提升。 然而随着铁路信息化的规模不断扩大,许多原来意想不到的问题也发生了。 有些软件的故障率很高,经常莫名其妙的出错,甚至造成计算机“死机”,严重 影响了生产效率;铁路各地运输组织的模式不完全一样,造成相应的软件版本也 千差万别,对于项目组来讲维护非常困难,软件升级时的工作量更是成倍的增 加;“铁打的营盘,流水的兵”,计算机行业的人员流动大,许多软件的主创人员 离开后,接班人员看不懂程序,维护效率大打折扣,如果再需要修改软件,更是 难上加难,用程序员的话来说,“还不如重新开发一套新程序”:即使是一套新软 件的开发,也是经常不能按时交付,工期一延再延;现有软件作为一个开发项目, 对于投资者( 上级领导) 来说。成本投入与工期就仿佛是个“黑洞”,也不知道 需要投入多少,也不清楚进展情况 另外,随着信息化的建设不断深化,各业务越来越依赖信息系统来完成, 作为用户方的铁路运输组织( 运输局、铁路局、生产站段) 对软件提出了更高的要 求,例如经历了连续五次提速后,北京站几乎每隔1 0 分钟就有一趟火车到发, 对售票系统要求很高,不能停售,更不能出现重席等故障;如此大的运输密度, 使得铁路运输的指挥中心,在调度车辆时也必须依靠软件来帮忙,软件更是不能 有一丝一毫的差错,否则,将两趟车排进同一股道,那就可能造成车毁人亡的事 故发生。还有铁路业务效率的提高,反过来也对软件开发周期提出了更高的要求。 这一系列阕题摆到了铁路的软件开发单位面前,如何摆脱目前窘境,生产 出高质量的软件,已刻不容缓。本文的主要目标就是通过对软件开发过程的研究, 找到解决问题的方法:c m m ,并在铁路的软件研发单位进行实验,以验证其对 于提高铁路软件质量,加强项目管理水平所起到的作用。 1 铁路软件企业面临的困难和原因 1 1 企业遇到的困难 在绪论中提到的问题并不是铁路企业特有的,国内软件业以及国外的软件 企业也同样面临这样的困难。从2 0 世纪6 0 年代末开始,由于软件规模的扩大、 功能的增强和复杂性的增加,使得在一定时间内仅依靠少数人开发一个软件变得 越来越困难。由于软件是逻辑产品,单纯增加人力并不一定能解决问题,相反, 随着人员的增加,人员之间沟通、协调与组织管理问题更为严重。在软件开发中 经常出现时间延迟、预算超支、质量得不到保证、维护困难、移植性差等问题, 甚至有的项目在耗费了大量人力、财力后,由于离目标相差甚远而宣布失败。据 统计,2 0 0 0 美国只有3 0 1 的软件项目按计划峻工,多数项目都会不同程度的延 期,甚至有1 0 的项目因投资超出预算而没有完成。这种情况使人们认识到“软 件危机”的存在。 从中国铁路软件遇到的情况来看,软件在开发中面临的主要困难有: 1 1 。1 软件需求的不稳定 作为铁路运输软件用户的人员,均来自铁路内部的机车、车辆、工务、电 务等传统专业,虽是本专业的行家里手,但多不能将自己的业务准确地描述出来, 而作为开发者的计算机师不乏软件高手,但对于铁路业务来说又是“门外汉”, 也不能很详细的清楚用户的需求,这种差异使得双方讨论得到的需求经常存在二 义性、遗漏甚至错误。为了赶工期,一般采用的就是“先干着试试,边试边改” 的开发方式,项目初期软件需求不能很清晰的界定出来,项目组按自己的理解进 行软件开发,用户又常常在软件开发过程中提出修改、补充软件功能的要求,软 件开发人员对用户需求的理解与用户的本意有所差距,以致开发的产品与用户要 求不一致。返工、作废的现象时有发生,甚至有些项目要到项目结束时,需求方 能稳定。 项目组对于软件项目的范围和软件需求不清楚,不熊进行相应的控制,需 求都不稳定,其项目风险可想丽知了。 1 1 2 开发过程中项目管理的失控 软件开发实施前没有一个详细可行的计划,往往是在项目开发过程中由实 际的工作人员和管理员临时计划,丽即使建立一个软件开发计划,也多是为了应 付领导部门的检查或履行一个行政上的手续,在开发过程中不按其执行,更不可 能进行跟踪计划执行中的偏差,以及在实际情况改变时去变更计划了。 虽说多数项目都建有项目组,但项目的成功取决于团队中个别杰出管理者 和技术“骨干”,而不是整个组织中稳定的过程能力。项目的组织依靠个人的能 力、经验、知识和他们的进取心以及积极程度,往往承受着巨大压力,一旦此人 数据来源自i t 入网站 离去,组织的稳定作用也随之而去。去年年初,广州铁路集团就曾发生了x x 项 目的技术骨干因待遇问题不辞而别后,造成他一直负责的调度软件无法进行维护 和改进,信息部门投入大量人力经过数月的“攻关”,才勉强恢复了软件的正常 秩序。 整个项目的开发过程是不可确定和不可预见的,组织的开发过程在实际工 作过程中被经常改变。也没有一套实事求是的估计进度、预算的方法,因此经费 超支和项目超时经常发生,当最后期限即将来临时,为了按原订时间完成任务, 往往在产品的功能和质量上大打折扣。 在这样的项目中,人们的工作方式处于一种“救火”状态。不断地应付开 发中的可能出现的危机和维护中意想不到的软件缺陷( b u g ) 。 1 1 3 软件的质量得不到真正的保证 在铁路行业里,原来的工程、车辆等专业都有一套比较成熟的技术规范。 与之形成反差的是软件研发单位一般没有一个客观的基准来判断产品的质量、解 决产品和开发过程中的问题,因此产品质量很难得到保证。 由于项目开发过程的不合理,尤其是在进度要求很紧张的时候,项目经理 为完成任务。通常最先牺牲的就是软件质量,测试等为提高软件质量的环节,当 然成为了“奢侈品”。这一点在铁路行业更为突出,经常是一个项目投产了,项 目组也就拴在车站上,在忙什么呢? 除了前面提到的改程序来完成新的功能外, 更多地是处理软件在使用过程中暴露出来的缺陷,加班加点,在所难免,修修补 补,哪有出头之目昵? 但许多用户、项目组已经很习惯这种方式了,而很多项目 组也会因“工作敬业、无私奉献”而被评为先迸工作者。 1 2 造成困难的原因 造成上述失控的原因之一是历史的原因。有“半军事化”特点的铁路行业, 在中国不仅是个运输服务行业,长期以来还具有政治、军事的战略意义,所以一 直沿用自成体系的“封闭”模式,在2 0 0 2 年,铁路可以说是一个自给自足的大 行业,拥有自己的工程队伍、医疗、教育、公检法等,使得内部很少受到外部企 业的竞争冲击,尤其是软件开发领域,由于与铁路的业务结合紧密,有很强的专 业性,普通的软件公司很难在短期内参与到铁路软件的建设之中,即使有,也基 本上是与铁路内部的软件企业进行合作。这也就使得铁路的软件企业缺少了危机 意识,从而忽视了对软件质量和用户满意度的重视。 失控的原因之二是缺乏科学管理方法,尤其是对于软件开发,其工作过程 有自己的特点,而我们没有认清其规律,也忽视了对软件开发过程的学习。这种 忽视主要表现在软件开发过程上让诸多环节失控,而这些失控现象都是项目管理 失败的产物。 大量的教训让铁路软件企业的老总认识到软件质量的重要性,改进软件过 程、提高软件的质量势在必行。 2c m m 模型介绍 2 1c m m 的引入 s o f t w a r ec a p a b i l i t ym a t u r i t ym o d e l ( 软件能力成熟度模型) ,就是软件 开发机构用于定义、实施、测量、控制和改进其软件过程的一种阶段性描述。该 模型使得对现有过程能力的确定,以及对软件质量和过程改进的重要问题的识别 变得方便。从而为选择过程改进策略提供指南。 为了提高软件的质量,克服“软件危机”,人们提出了“软件工程”的概念, 试图用工程的方法和管理手段,将软件开发纳入工程化的轨道。 从世界范围来看,自1 9 6 8 年北大西洋公约组织召开的计算机学术会议上提 出软件工程这一概念以来,人们一直在寻求更先进的制作软件的方法和技术。每 当出现一种先进的方法与技术时,就会使软件危机得到一定程度的缓解,然而这 种进步又促使人们把更多、更复杂的问题交给计算机去解决,于是又需要探索更 先进的方法与技术。几十年来,软件工程的发展经历了3 个阶段。 第一阶段:2 0 世纪7 0 年代,人们提出软件生产工程化的思想,希望使软件 生产走上正规化的道路。人们发现将传统工程学的原理、技术和方法应用于软件 开发可起到使软件生产规范化的作用。提出了软件生存周期的概念,将软件开发 过程划分为不同的阶段( 需求分析、概要设计、详细设计、编程、测试与维护) ; 还将计算机科学和数学用于构造模型与算法上,配合开发了多种软件工具,基本 形成了软件工程的概念、框架、方法和手段,成为软件工程的第一代一一传统软 件工程时代。 第二阶段:2 0 世纪8 0 年代,面向对象的方法与技术受到广泛的重视。8 0 年代末发展起来的面向对象分析与设计方法,形成了完整的面向对象技术体系, 使系统生存周期更长,适应更大规模、更广泛的应用。这时,迸一步提高软件生 产率、保证软件质量成为软件工程追求的更高目标,软件开发过程从目标管理转 向过程管理,形成了软件工程的第二代一一过程软件工程时代。 第三阶段:进入2 0 世纪9 0 年代以后,软件开发技术的主要处理对象为网 络计算和支持多媒体信息的互联网。为了适应超企业规模、资源共享、群组协同 工作的要求,需要开发大量的分布式系统,软件利用和软件构件技术正逐步成为 主流软件技术,软件工程进入新的发展阶段一一构件软件工程时代。 可以看到,在过去的3 0 多年里,为了解决软件危机,国内外学术界、企业 界在软件工程、技术和工具方面投入了大量的人力、物力和财力,希望能找到一 种提高软件质量的有效方法。他们致力于探索开发软件的新技术、新方法,试图 提高软件生产率和质量。这些新技术、新方法确实也为解决软件危机提供了一些 帮助,但这些方法都没有从根本上解决软件危机。软件产品的开发、维护杂乱无 章,软件企业的不成熟状况依然困扰着软件产业的发展。软件企业开始希望有效 地控制软件的开发和维护过程,使企业内部形成优秀的软件工程和软件管理文 件。于是专家们开始从软件过程的管理方面着手解决软件危机问题。 从2 0 世纪8 0 年代开始,由美国国防部资助,卡内基梅隆大学软件工程研 究所( c m u s e i ) 最先提出的“软件能力成熟度模型”2 ( s w - c 心,s o f t w a r e c a p a b i l i t ym a t u r i t ym o d e l ) 在9 0 年代正式发表为研究成果,这一原意帮助美 国军方估计软件供应商能力的成果已经得到了众多国家软件产业界的认可和广 泛应用,成为事实上的软件过程改进的工业标准。 c 删是在原有软件基础上提出来的。人们认识到在开发的过程中,某些可以 被识别的关键过程域( k e yp r o c e s sa r e a ,k p a ) 才是软件开发的重点,要想建立 一个有效的软件过程,必须以k p a 作为衡量的基准。c 棚描述了一个有效的软件 过程的各个关键元素,指出了一个软件企业如何摆脱杂乱无章的、不成熟的软件 :【美 卡内基梅隆大学的软件工程研究所,能力成熟度模型 c m 由:软件过程改进指南,2 0 0 1 7 6 过程,形成一个成熟的、有纪律的软件过程所必须的进化、提高的途径一一判断 企业的过程成熟状态,找出在改进过程中急需解决的若干问题,然后依据c m m 选择过程改进策略,提升企业的软件过程能力。c m m 作为一个指南能够帮助软件 企业选择、采纳和合理使用一些先进的管理方法,并在实践活动中不断提高和完 善软件成熟度的能力。 目前世界上诸如摩托罗拉、h p 、波音等i t 企业都在按c m m 的标准来规范本 公司的开发过程,在这些公司中软件项目按合同完成率高达9 6 3 以上,尤其是印 度,在实旌c 删后,印度软件企业的整体水平和信誉取得了长足的进步,在全球 获得了很高的评价,这也成为其软件能大量出口的坚实基础。1 9 9 4 年我国的鼎 新公司成为国内首家进行c m m 尝试的软件企业,目前我国通过c m m 各级评估的软 件公司已超过i 0 0 家。 根据国内外同行的经验,我们也希望通过实施c m m 来改进我们的软件开发过 程,从而提升铁路软件的质量和软件企业的实力。本文作者先后在原北京铁路分 局电子所和铁道部信息技术中心( 中铁信弘远软件公司) 作为主要成员参与了软 件过程改进工作,与其他组员一起分析了国内铁路软件开发中的一些困难、弊病, 按c 删的要求建立了弘远软件开发过程的体系框架,并参加了c m m 的评估过程。 本文就是通过实施的案例分析,论证进行这一过程改进的效果,并研究其在铁路 的其他软件企业中推广的可能。 2 2c m m 的级别 s e i 的c m m 模型描述和分析了软件过程能力的发展程度,确立了一个软件过 程成熟程度的分级标准。一方面软件组织利用它可以评估自己当前的过程成熟程 度,并以此提出软件质量标准和过程改进的方法及策略,通过不断的努力去达到 更高的成熟度。另一方面该标准也可以作为用户对软件组织的一种评价标准,使 之在选择软件开发商时不再是盲目和无把握的。c m m 的级别螂分如图l 所示 3 数疆来源:计算机世界网一中印软件只差步:项目管理 7 优化级( 5 ) 厂一 厂漩煳船 厂硼戥 褥始级( 1 ) 围1c m m 的5 个级别 资料来源:卡内基梅隆大学的软件工程研究所,能力成熟度模型( c m m ) :软件过程改进指南,第2 章 c 删五个级别的主要特征: 1 ) 初始级。软件的特点是无秩序的,有时甚至是混乱的。软件过程定义几 乎无章法和步骤可循的状态,软件产品所取得的成功往往依赖极个别人 的努力和机遇。 2 ) 可重复级。已建立了基本的项目管理过程,可用于对成本、进度和功能 特性进行跟踪。对类似的应用项目,有章可循并能重复以往取得的成功。 3 ) 已定义级。用于管理的和工程的软件过程均已文档化、标准化,并形成 了整个软件组织的标准软件过程。全部项目均采用与实际相吻合的、适 当修改后的标准软件过程来进行操作。 4 ) 己管理级。软件过程和产品质量有详细的度量标准。软件过程和产品质 量得到定量的认识和控制。 5 ) 优化级。通过对来自过程方面、来自新概念方面和来自新技术方面的各 种有用信息的定量分析,能够不断地、持续地对过程进行改造。 这五个级别的划分,给软件组织提出了实施活动的应用范畴。第l 级实际 是个起点,大部分准备按e m i l 体系进化的软件企业都自然处于这个起点上,并 通过这个起点向第2 级迈进。除第l 级外,每级都设定了一组目标,如果达到 8 了这组目标,贝口表明这个级别达到成熟程度,自然可以向下一个级别迈进。从第 2 级起,每一个低级别的实现均是高级别实现的基础。只要持续不断地进行软件 过程改进,遵循分级标准的规定,将会逐步地过渡到上一级别的成熟阶段。 图2c m m 的5 个级别的可视性圈 资料来源:卡内基梅隆大学的软件工程研究所,能力成熟度模型( c m h d :软件过程改进指南,第2 章 图2 比较形象地展示了5 个级别过程的不屑可视性。在第l 级中,整个软 件过程形状如同一个黑云,对于管理人员来讲,是一个“黑盒过程”,只知道投 入了什么,软件交付时才知道产品是什么样的,风险很大。第2 级情况好转,过 程划分成若干阶段,虽然在过程内部还是看不到的,但毕竟有了不同的里程碑。 到了第3 级,不同的阶段更加细化,而且阶段的划分是按公司的标准过程来执行, 增加了许多数据的检查与收集。第4 级各个小活动都是定量地给出计划目标,不 稳定性减少了,整个过程可以定量的指导和控制。第5 级在前4 个级别的积累中, 不断发现过程中的不足,重新定义了公司的标准过程。可以看到,不同软件成熟 度下,软件项目的可视性以及采用的管理方式是不同的,级别越高,可视性越好, 稳定性越强,项目的风险也就越小。 9 2 3c m m 的结构 c 帆由5 个成熟度等级组成,每个成熟度等级有着各自的功能。除第1 级外, c m m 的每一级都是按完全相同的内部结构构成的:成熟度等级( g a t u r i t yl e v e l s ) 为顶层,不同等级反映了软件组织的软件过程能力和该组织可能实现预期结果的 程序。在每一个成熟度级别中包含了实现这一级目标的若干关键过程域( k e y p r o c e s sa r e a s , k p a ) 。并且,c 埘根据过程改进的规律,约定了公共特性和关 键实践( e e yp r a c t i c e s k p ) 等内容。每一级k p a 进一步包含若干关键实践, 它们统一按5 个公共特性进行组织,这使得整个软件过程改进工作自上而下形成 了一种很有规律的步骤。 2 3 1 关键过程域 所谓关键过程域是指一系列相互关联的操作活动,这些活动反映了一个软 件组织改进软件过程时集中力量改进的几个方面。换句话说k p a 标识了达到某个 成熟程度级别时所必须满足的条件。当这些活动在软件过程中得以实现,就意味 着在软件过程中对提高软件过程能力起关键作用的目标就达到了。目标可以被用 来判断个组织是否有效地实现了某个特定的关键区域,即目标确定了关键过程 区域的界限、范围、内容和关键实践。 在c b t g 中一共有1 8 个关键过程域,分布在2 - - 5 级中,它们在c b i m 的实践 中起到了至关重要的作用,归结为表1 。 表1 关键过程域的分类 、j j :t 鍪l鬟i 、i 鬟蓦i 管穗蒸囊薰黧嚣篓雾罄溅霪燃羹添疆 蠹 蔼蔼赣嘲孱霜;圆霸簿; 过程变更臂理缺陷预防 优化级 技术变更管理 已管理级 定量过程管理软件质量管理 集成软件管理组织过程重点软件产品工程 已定义级 组间协作 组织过程定义同行评审 培硼程序 可重复级 - 软件配簧管理 o :? ? ,。蠢0 碧孽菱惑鬻叠组掺方算瑟j 。一誊i 王程蠢菌, 软件质量保证 软件子合同管理 软件项目跟踪与监控 软件项目计划 需求管理 初始级 无序过程 资料来源:杨一平t 现代软件工程技术与c m 的融合,第3 章 2 3 2 目标 在c m m 中的目标是指某个关键过程域中的关键实践它表示每一个关键过 程域的范围、边界和意图。有目标可以来判断一个组织或项目是否有效地实施了 某关键过程域所规定的内容。即目标是检验关键过程域是否满足的一个指标。 2 3 3 公共特性 为完成关键过程域中的实践恬动,c 将其活动分为以下有公共特性的5 个部分,这些部分的特性有效地指出了一个关键过程域的实现范围、结构要求和 实施内容。这5 个公共特性包括: 1 ) 执行约定( c o m m i t m e n tt op e r f o r m ) 描述的是组织为保证过程得以建 立和持续发挥作用所必须采取的行动。执行约定一般与组织的方针政策 和管理方式有关。 2 ) 执行能力( a b i l i t yt op e r f o r m ) 描述的是在软件过程中每个项目或整 个组织必须达到的前提条件。执行能力一般与资源、组织机构和训练有 关。 3 ) 实施活动( a c t i v e sp e r f o r m e d ) 描述的是实现一个软件过程关键区域 时所必须执行的任务和步骤。实施活动包括建立计划和制定步骤开展工 作,对该工作进行跟踪、以及必要时进行改进的措施。 4 ) 度量和分析( m e a s u r e m e n ta n da n a l y s i s ) 描述的是度量的基本规则, 以确定、改进和控制过程的状态。度量与分析一般包括一些度量的例子, 通过这些例子可以知道如何确定操作活动的状态和效果。 5 ) 验证实施( v e r i f y i n gi m p l e m e n t a t i o n ) 是验证所开展的实施活动与确 立的过程是否遵循已制订的步骤。验证实施活动可通过管理和软件质量 保证进行核查。 2 3 4 关键实践 关键实践就是一些主要实践活动,每个关键过程域最终由关键实践所组成, 通过实现这些关键实践来达到过程域的目标。一般情况下关键实践描述了应该 “做什么”,但并没有规定“如何”去达到这些目标。操作的方法和步骤由项目 组织自己解决。 综上所述,c 州通过内部结构的规范,使软件组织能够制定方针策略、标准 并参照自身的结构来建立软件过程,以提高软件过程成熟度。这些建设性的活动 对组织开展业务、进行实践工作、改进过程的基本环境和企业文化起到了极大的 支持作用。这样,一旦组织内的人员发生变化,组织内部开展的各项活动仍然可 以正常延续下去。这样既保证了软件生产的连续性,又可以把生产实践的经验保 留下来,为组织以后的发展和提高奠定了基础。另外,一个组织的软件能力,类 似一个人在某个领域的能力。是逐步获得和增长的。如果一个在这个领域的改过 能够得到很好的指引,就会不断达到一个个设定的目标,并变得成熟,否则可能 盲目发展,远离目标,甚至南辕北辙。一个组织软件能力的发展也同样需要良好 的指引,c m m 正是这样一个指引,它以几十年产品质量概念和软件行业的经验及 教训为基础,为企业软件能力不断走向成熟提供了有效的帮助。 2 。4c m m 的过程评估与畿力评价 c m m 在应用中有软件过程评估和软件能力评价。 软件过程评估是用来判断一个组织当前的软件过程的能力状态,判断一个 组织所面对更高层次上的与软件过程相关的课题,以及利用组织的鼎力支持来对 组织的软件过程进行有效的改进。 软件能力评价是用来判断有意承担某个软件项目的组织( 也就是投标者) 的软件过程能力,或是判断已进行的软件过程所处的状态是否正确或是否正常。 与i s 0 9 0 0 0 的认证体系不同,c m m 采用的是评估方法,即由一个权威组织针 对某个软件公司的现状进行评估,判断出该组织当前的软件过程能力处于什么级 别,并指出存在的不足,提出改进意见。因为评估通过后,c m m 组织不会向i s 0 9 0 0 0 那样进行年度的复检,我们比较形象地称这种评估为软件公司“体验报告”。当 然由于评估、评价的主体不同( 前者是软件组织主动的行为,而后者多是招标方 对投标方进行考查) 所以评估的目标和重点有所不同,但它们的实施过程是一样 的,可以归结为图3 所示的步骤。 围3 c m m 过程评估与能力评价的步骤 3 弘远公司实旌c m m 的过程 3 1 实施c m m 的动机 中铁信弘远公司依托的是铁道部信息技术中心,是铁路信息系统的开发和 维护的主要单位,在经历铁路应用软件几十年的发展过程中,深刻认识到软件开 发过程对于质量的好坏起着至关重要的作用,所以一直致力于软件过程的规范与 改进。 在经历了多年的摸索后,发现c m m 具有较简易的操作性,c m m 分级的特点, 使企业能分清主次,逐步改进自己的软件过程能力。另外c m m 列举的实践几乎覆 盖了软件开发的所有活动,企业只要把精力放在这些活动上就能保证平稳地提高 自身的软件过程和产品质量,保证交付给客户满意的软件产品。基于这些原因, 弘远公司选择了c 姗,实践也证明了这一选择是非常正确的。 基于此,我们当初制定的目标是经过i 一2 年的努力,循序渐进、脚踏实地 地完善和改进我们的软件开发过程,在众多项目中进行推广实施,提高弘远公司 软件的产品质量,并最终通过c m m 2 级和3 级评估。 3 2 实施c m m 的历程 早在引进c n d 之前,弘远公司就开始了软件过程改进活动,并通过了 i s 0 9 0 0 1 的认证。这对于实施c m m 有很大的帮助。因为不但其中的经验可以借鉴, 而且一些规范甚至文档模板也具有一定的参考价值。 在进行研究和实施软件改进过程时,我们采用了s e i 制订的i d e a l 方法。 i d e a l 是5 个英文单词的缩写( 启动i n i t i a t i n g ,诊断d i a g n o s i n g ,建立e s t a b l i s h i n g , 行动a c t i n g ,推进l e v e r a g i n g ) ,代表着组成软件过程改进周期的5 个阶段,详见 图4 。 圈4 l d e a l 图 资料来源:卡内基梅隆大学的软件工程研究所,能力成熟度模型( c m o :软件过程改进指南 ,第2 章 弘远公司的c 姗过程改进活动于2 0 0 2 年7 月正式启动,成立了公司级的软 件工程过程组( s o f t w a r ee n g i n e o r i n gp r o c e s sg r o u p ,s e p g ) 作为c d m 实旌 的领导小组,小组直接向主管的副总经理负责。启动阶段,s e p g 制定了实施计 划,首先将目标定位在c m m 2 级,经历了1 年半的时间完成,并在公司内选择了 四个试点项目参加评估。 1 4 在诊断阶段,我们首先聘请专家对公司现状进行了一次小型评估,确定了 公司的当前水平,当时评估,虽说有些环节因有i s 0 9 0 0 0 的基础,基本合格,但 多数关键过程域当然还达不到2 级要求。通过小型评估,我们清楚了自己的不足, 明确了改进的方向。 在建立阶段,我们根据评估结果,细化了软件过程改进的计划,排列出活 动的优先级,开始在试点项目中按c m m 2 级的目标要求进行了培训。s e p g 根据原 来i s 0 9 0 0 0 的体系文档,裁剪出一套c m m 的过程体系,并在项目组进行宣讲、培 训。 在行动阶段,主要是将学到的理论运用到实践中去。在实践中总结了经验, 改进了原来做得不好的流程,最终制定出了比较合理成熟的实施规范,并不断地 进行内部评估、改进。经过1 年多的努力,软件过程能力有了很大的提高,2 0 0 3 年1 2 月顺利通过c m m 2 评估。 通过c m m 2 级后,我们没有止步,继续向3 级努力,进入了推进阶段。并且 由于在实施2 级时,已经开始做了一些3 级要求的实践活动,如成立了公司级的 软件工程过程组,并在评审、变更、配置管理等方面做了不少工作。在3 级的实 施过程中将主要精力用于建立组织级的标准软件过程,以便更多的项目组参照执 行。从雨开始了新的一轮i d e a l 过程。 2 0 0 5 年4 月,顺利通过c m m 3 级评估。 3 3 过程改进的组织结构 一个强有力的过程改进组织结构是实施c 删的一个重要保证。在实施c m m 2 级时,我们首先调整了弘远公司软件开发的组织结构,详见图5 。 h $ e p g ! n 霞 1 藏露蕊蕊藤 图5 组织结构图 瓷科米深:中铁信强远软件公司软件开发i 耀一组甥结构圉 这样的视图是我们从实施c 脚角度观察得到的,与真实的组织机构有些出 入,例如,s e p g 组、s q a 组、颡试组、s c m 组在弘远公司就是技术管理部,而项 目管理委员会、技术委员会也不是行政机构,而是由相关部门专家组成的团体。 3 3 1 公司管理层 总经理。是公司的最高负责人。对于c 嘲,职壹是在公司范匿内宣 传软件开发过程改进的重要性,并为实施软件过程改进提供必要的 资源。 副总经理。主管技术管理部,领导s e p g 进行软件过程改进活动。 项目管理委员会,即公司级的变更控制委员会( s o f t , a r ec h a n g e c o n t r o lb o a r d , s c c b ) ,是公司所有项目的管理机构,协助副总 经理工作,协调各项且组关系,评审项目计划,指导项目管理工作, 配合s e p g 组推进软件开发过程改进。作为公司级s c c b ,参与重大 需求、计划及对外承诺等变更的决策。 技术委员会。公司的非常设机构,主要负责各项目技术层面的把关 工作,如系统需求、系统设计及软件设计评审等。 3 3 2c m m 的推进组 弘远公司的软件过程改进工作是由技术管理部来负责的,我们这个行 政部门在实施c m b l 时划分为若干小组: s e p g 负责公司软件开发过程建立、推进执行、持续改进等工作。 制定和维护公司级软件过程资产,包括标准软件过程、软件生命周 期模型、标准软件过程裁减指南、软件过程数据库、软件过程文档 库等。为有效实施软件开发过程改进,评价、引入各类管理及工程 工具;向软件工程组及其它与软件开发有关的小组提供咨询、指导, 并推进软件开发过程改进工作;搜集过程运行反馈信息,持续改迸 公司的软件开发过程。协助培训组实旌有关管理及技术方面的培 训; s q a 组按照公司的标准软件过程,负责实施并监督公司软件开发 过程及产品的质量保证活动。对每一个项目指派专门的s q a 人员, 指导并监督项目的质量保证工作,对项目组不技标准完成的不一致 问题上报公司高层。 援4 试组是一个公司级的常设机构,负责对公司开发的软件产品实旎 系统、以及验收等高层次的测试。 s c m 组整体负责公司的软件配置管理活动,并维护、管理公司的 软件资产。 培训组是一个公司级的组织。培训组负责计划,组织并管理公司范 匿内有关管理及工程技术方面的培训。在现实中,是由人力资源部 承担。 3 3 3 软件开发团队 弘远公司的开发部门设有若干产品线,每条产品线有一位产品线经理,产 品线由施工项目构成,有软件集成项目,有纯开发项目,涉及软件开发的项目设 有软件工程组,小组由项目经理负责。 产品线经理。项目的总体负责人,对项目实行从前期准备、立项、 开发、实施到验收交付的全过程管理,并对项目的成功与否负有最 终责任。系统工程组、采购部门、软件工程组、项目实施部门均对 产品线经理负责。 项目组也有变更控制委员会,由产品线经理、项目经理、项目的 s q a 人员、s c m 管理员及系统测试工程师组成。 软件工程组。是c m m 实施的主要实体,在项目经理的领导下,完 成软件开发活动。组内由分析人员、设计人员、编码人员、测试人 员及s c m 管理员组成。 3 4 现有质量体系的分析 弘远公司在实旌c m m 之前,已经建立了i s 0 9 0 0 0 的质量保证体系,这为 c m m 的实践打下了一个很好的基础。我们于2 0 0 1 年6 月启动质量管理体系运行, 2 0 0 2 年1 月接受第三方审核,并当场通过现场审核,获i s 0 9 0 0 1 :2 0 0 0 版u k a s 、 r a b 质量管理体系认证证书。 3 4 1 弘远公司质量体系结构 弘远公司的i s 0 9 0 0 1 :2 0 0 0 质量体系文件结构共分为三层结构体系,第一层 文件是弘远公司的总体质量方针和目标、职责划分和总体质量保证体系框架。第 二层文件中定义了软件生产中的各类过程、环节和流程,规定了各部门必须遵守 的制度和规范。第三层文件中则包含了完成上述软件生产所必需的文档模版、表 格等辅助性内容。 其中第二层是关于流程、规范的各种控制程序,弘远公司的控制程序分为管 理和集成开发两大方面。前者涉及公司运营的各个方面,后者涉及软件项目集成、 开发的各个环节。表2 列出了所有的相关程序。 袁2 弘远公司的质量控制程序 1 文件控制2 质量记录控制3 内郎沟通控制 4 管理评审控制5 人力资源管理控制6 基础设施和环境控制 管 理 方 7 台同( 标书) 管理控制8 采购管理控制9 顾客财产管理控制 面 1 0 产品防护控制1 1 客户服务控制1 2 内部质量审核 1 3 不台格品控制1 4 纠上f ! :措旋控制1 6 预防措赭控制 。顽齑巍藤j 鬻:2 系统分析控制 鬻爨攀鬻麓菱攀; 集 _ 鼻= :_ = 舞 成 4 概要零;露两黪。j 蚤j藕骥鞲藕? 蠢;i 6 系统设计控制 开 发 ,麟麟瓣霸i 豢: 方 ,一编辑孽攀誊蠹溪l i 震i 9 溺霉髓纛瓣囊囊 面 1 0 系统实施控制 妻l 寨隅麟纂囊瓢懑霁鬻器骥骥囊悫 3 4 2c m m 2 级( 可重复级) 的要求 c 删2 中有6 个关键过程域,主要涉及软件项目管理控制方面的内容。 需求管理( r e q m r e n t sm a n a g e m e n t ,i m ) 就是对软件需求进行管 理。即要在客户和实现客户需求的软件项目之伺达成共识;控制系 统软件需求,为软件工程和管理建立基线( b a s el i n e ) ;保持软件 计划、产品和活动与需求的一致性。 软件项目计划( s o f t , a r ep r o j e c tp l a n n i n g 。s p p ) 是指为软件工 程的动作和软件项目活动的管理提供一个合理的基础和可行的工作 计划的过程。箕目的是为执行软件工程和管理软件项目制订台理的 计划。 软件项目跟踪与监控( s o f t w a r ep r o j e c tt r a c mn ga n do v e r s i g h t , s p t o ) 是对软件实际过程中的动作建立一种透明的机制,以便当软 件的实际动作偏离计划时,能够有效地采取措施。 软件转包合同管理( s e f z w a r es u b c o n t r a c tm a n a g e m e n t ,s 跚) 是 选择合格的软件转包者和对转包合同的有效管理。 软件质量保证( s o f t w a r eq u a l i t ya s s u r a n c e ,s q a ) 是对软件项目 和软件产品质量进行监督和控制,向用户及社会提供满意的高质
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铝电解工主管竞选考核试卷及答案
- 会议策划专业人才能力评估模型-洞察及研究
- 深海油气平台驾驶员劳动合同范本及安全协议
- 预付款担保合同在农产品收购与加工环节的应用
- 郑州二手房买卖合同中物业管理权移交及费用承担协议
- 小端模式下区块链节点同步改进-洞察及研究
- 美发店员工劳动合同范本(含晋升及考核协议)
- 多模态融合环境感知-洞察及研究
- 教育机构续聘合同范本:教师职位续约与薪酬
- 首付比例明确型金融服务首付款合同范本模板
- 日本所有番号分类
- T/CGCC 17-2018商业信誉评价体系
- 商场保洁服务应急预案
- 低空经济培训项目工程方案
- 国际压力性损伤-溃疡预防和治疗临床指南(2025年版)解读课件
- 外贸英语专业课件
- 心血管系统疾病相关专业医疗质量控制指标(2021年版)
- 苏教版六年级上册数学教案:19分数与分数相乘及分数乘法练习
- 2025学校食堂食品安全培训
- 疗养协议合同
- 保险行业组织发展
评论
0/150
提交评论