《上海市国土资源信息化软件质量管理的实践.doc》由会员分享,可在线阅读,更多相关《上海市国土资源信息化软件质量管理的实践.doc(14页珍藏版)》请在三一办公上搜索。
1、上海市国土资源信息化软件质量管理的实践摘要:本文深入地介绍了上海市规划和国土资源信息化建设中软件质量管理的发展历程和现状,总结了如何推进和实施软件质量管理的主要想法和做法,并且阐述了软件质量管理实施过程中的问题、解决办法和取得的成效。关键词:软件质量管理;配置管理中图分类号:P23 文献标识码:A 文章编号:1674-3695-(2010)01-58-051前言近年来,上海市规划和国土资源行业信息化建设取得了可喜的成绩,人们都在满怀信心地期待今后信息化在规划和国土资源管理工作中会有更惊人的发展。然而,如何能更好地进行信息化建设还是一个比较新的课题,而信息化建设的本身又是一个典型的智力密集型工作
2、,如何做好组织和管理,如何使人员的主动性和积极性得到充分的调动和发挥,始终是业内人士,特别是上海市房屋土地资源信息中心各级管理者时时思考的课题。在信息化建设实践中,信息中心的项目组织和管理与项目的质量生产率以及产品能否及时交付密切相关,并且最终反映到开发成果的效益上,这一点已被大量的事实、经验和教训所证实。2发展历程十几年来,我国一直试图采取国际上广为流行的质量管理标准IS09000或CMM来解决问题。尽管有的单位并不十分认真,却也取得了认证。无论如何,通过认证的获得毕竟把发达国家在生产中总结出来并且行之有效地质量管理方法引进到我国,并对我国软件质量管理产生了巨大的影响。然而,我们发现IS09
3、000标准面对的领域极为广泛,对于软件过程中某些质量管理问题不能针对性的解决。相对于IS09000体系,CMM则是更适合于软件质量管理的一套模型。但是事实表明,不同的组织其工作效果存在着比较大的差别。有的成绩显著,有的则不够理想,个别的甚至没有成效或者完全是带来负面的影响。按照对于业界不同情况分析,可以看出,产生差别的原因在于如何对待和处理3个问题。而不是采用哪种质量体系进行管理。对于这3个问题如果回答得好,则必将取得良好成效。这三个问题是:(1)什么是软件质量管理?(2)为什么要实施软件质量管理?(3)如何进行软件质量管理?即所谓的What、Why和How的问题。其中第一个问题是要求理解软件
4、质量管理的内容和含义,把握其精髓。第三个问题则要结合自己的实际,找到可行的方法和途径。如我们已有统一管理平台,及一些管理上的技术规定和规范。如果直接照搬照抄CMM或者ISO的质量管理体系,会造成在实施过程中与信息中心实际情况不匹配,结果导致提交大量无用的文档和工作产品,而且增加了管理难度和成本,最后却没有带来产品质量的提高。对于实施质量管理这一个重要问题可能需要一些探索和实践,并需要借助于一些质量管理标准以及别人的经验和自己以往的教训。显然,如何得到有经验的专家的指点是十分有益的。按我们的理解why是最为重要和关键的核心问题。换句话说:到底要不要进行软件质量管理,动力和原因是什么。动力和原因主
5、要分为两类,一种是外力的“要我做”,另一种是内在的“我要做”。如果内在的“我要做”是进行软件质量管理的主要动力,那么成功就有了一大半。例如:项目建设已达到一定规模,原有的管理方式已经不能适应发展的需求,如果不借鉴成熟的规范化管理模式和经验,将阻碍本单位软件管理上的前进和发展。项目的风险将会因为新项目的不断增多而增大。是该下决心解决问题的时候了。这些来自单位内部的动因,就属于“我要做”的一类。正是基于此背景下,信息中心下定决心,付出了必要的人力和物力,团结信息中心的管理骨干和技术骨干,明确了目标,共同探索适合信息中心实际情况的软件质量管理途径,用实际行动回答了How的问题,坚定不移地追求最终目标
6、。回顾整个软件质量管理体系的建设历程,经历了试点起步,发展等主要阶段。在起步阶段,做了两方面的准备。在组织方面的准备上,除了领导支持,中心还成立了“系统架构小组”,该小组是专门负责编制软件生命周期相关的过程文档以及技术规定等。如应用软件产品技术规定、配置管理程序、测试中心工作服务流程等。在知识方面的准备上,寻找专业的公司提供给专业的培训服务。如我们在编制应用软件产品技术规定、配置管理程序时都大量的听取了开发公司的意见,并请开发公司在相关领域进行针对性的培训。做完准备后则是确定在一段时间内需要达到的目标。然后与相关的开发公司一起进行诊断,将原有的管理方法与目前的现状做比较,找出存在的差距。制定整
7、个改进的计划和实施步骤。整理原有的规范文档,对一些不利于管理的地方进行改进。修改完成后对相对独立的地矿项目进行了试点工作。2009年下半年所有的新建项目都按照目前制定的标准体系进行流转。老系统都已经全部整理完毕按照最新的维护机制进行流转。配置库中目前已进行管理的项目有44个,其中包括2009年新开发的4个项目。这些项目已经全部完成了相关工作产品的版本更新工作以及部分产品的补齐工作。工作产品有:需求、设计、数据库设计、源代码、操作手册等。这些工作大大降低了项目管理的风险。3主要做法软件质量管理从何入手?IDEAI(初始化、诊断、确定、行动、推进)被认为是一个较好的方法,这种方法也是CMM实施推崇
8、的主要方法。如果直接采用的话,会直接面对以下几个问题:巨大的工作量加上缺乏这方面的专门人才和非常薄弱的过程管理基础,会导致面临进退两难的境地;缺乏较好的文档编制规范和模板定义;缺乏较好的版本管理;缺乏较好的工作产品转化规范。根据信息中心的实际情况,先从基本的软件配置管理着手制定完整配置管理工作过程和相关的规范文档,以便在软件质量管理实施过程的早期完善基本软件工程、工作产品模板定义和工作产品转化的规范。具体实施时可采用以下步骤:3.1制定配置管理工作过程和相关的规范文档软件配置管理活动在整个开发活动中是一项支持性、保障性的工作,它本身并不直接产出可以直接赢利的工作成果;而是规避项目的风险,避免由
9、于软件规模较大造成的管理混乱,避免使用非有效的版本,避免大家对软件、文档的随意修改等,好处是显而易见的。根据信息中心实际情况我们编写了信息中心配置管理程序;配置管理计划模板;配置审计计划模板等;确定了配置管理所涉及的角色、职权、配置库目录结构、项目标示及编码规范、配置管理流程以及配置管理审计流程等。3.2划分软件生命周期中的主要工作产品和工作过程这部分工作是整个质量管理的基础工作也是核心工作。我们是以信息中心原有管理规定为基础,充分听取开发公司的意见,然后在这个基础上做了逐步改进。首先我们将原来的过程进行了扩充。目前我们定义的过程有:立项、招投标、需求、设计、开发、测试、部署实施、验收、安全评
10、测、运维、配置管理等然后对重新划分的过程进行分析,整理相关的规定以及模板。整理后的结果如图1、图2、图3。从中我们不难发现有两个过程是没有相关规定的。接下去的工作就显而易见了,补齐需求阶段以及验收阶段的相关规定即可。3.3将整理完成的规定和文档模板按软件过程统一管理我们在配置库中建立了公共库。任何人对公共库都有可查看的只读权限,并在该库中存放已经整理完成的规定和文档模板。这样做便于开发公司或其它相关部门更好的了解每个过程要做些什么,要怎么做。如果实际工作发现制定的规范不适合实施的要求时,我们也将把改进后的文档在该公共库上统一发布。公共库目前除了存放软件过程规定和文档外,还存放开发中使用的公共类
11、库。如:统一用户管理;统一工作流引擎;统一地理服务,统一数据服务等。这样开发公司可以更好的做好开发J作,不必为统一管理平台类库的版本问题而劳心,回避由于使用的类库版本不一致造成各应用系统之间不兼容的麻烦。当然建立公共库,并不只是局限于管理统一的规范、文档等,最大的好处是能够统一管理信息中心的公共资源,大大节约了各工作单位,以及开发公司和信息中心间的沟通成本。3.4建立项目的开发库,对在建设中和维护中的项目进行整理入库这样最终能达到:1)配置管理活动是有计划的编写配置管理计划就是要明确如何实施配置管理活动。配置管理每一项活动都需要消耗人力资源,有些还需要购置专门的工具来支持活动的进行,这些都会导
12、致生产成本的增加。所以,在我们计划实施配置管理时要做哪些事情的时候,要小心地界定每一项活动以及取舍的标准。2)所选择的工作产品是经过标识、受到控制并具有可用性的可以为每个配置项进行一个属性的标识。标识的方法可以分为两种:(1)将不同状态的配置项通过不同的分支来区分;(2)为每个阶段的版本都创建一个基线,对基线进行成熟度的标识。经过标识的工作产品有以下好处:重现性:及时返回并重新生成系统发布版的能力,或者是在项目中早些时候重新生成开发环境的能力。当认为更新不稳定或不可信时,基线为团队提供一种取消变更的方法。可追踪性:建立项目工件之间的前后继承关系。目的是确保设计满足要求、代码实施设计以及用正确代
13、码编译可执行文件。(3)所标识的工作产品的更改是受控的在项目日常的管理中保证配置项的完整性、一致性和回溯性,保证配置项的变更过程规范、受控、有完整记录,受影响的各方均能及时了解情况,并协调一致。(4)相关开发公司或个人和项目负责人能及时了解基线的状态和内容信息中心的项目负责人不再对项目的细节以及开发的具体情况了解出现偏差,可以直接通过配置库查看工作产品,了解项目的现状,更好地控制项目的风险。通过对项目工作产品的管理,信息中心项目负责人将不会再出现和开发公司工作产品版本不对称的情况。3.5选择一个的相对独立的项目,并监控该项目在各管理过程中实施性这部分工作主要是形成一个长效的项目管理制,并检查之
14、前制定的软件管理过程是否具有可实施性。每个管理过程配备相对的审计流程。审计是审过程是否按照制定的流程实施。如果没有按要求实将按照审计流程做出处理,并改进当前的管理过程。通过配置管理人手经过这五个步骤,为软件质量管理的实施打下较好的工程基础;减少软件质量管实施的工作量;缩短实施的周期;当然软件的质量管理是个循环的过程,不是一朝一夕就完成。在每个周都需要总结目前存在的问题并逐步加以改进。4现状和成效4.1简单化和标准化通过信息中心共同实践已经逐步建分了一个标过程,并直接为项目管理提供指导,保证所有的项目有一致的过程。所有的项目负责人都需要遵循这个标准,如果需要,可以根据自己项目的实际情况进行裁剪它
15、使之适合自己的项目。以保证开发的系统具有最好的质量。与之前各个项目负责人通过自己管理的方式相比,这样就把可变范围缩小到来自于这个标准中的少数过程,也简化了软件项目的管理方法。4.2用事实和数据来管理通过软件管理质量的建设使得项目管理中的数据变得更加丰富了。一个根据规范正常流转的项目总会有关于项目绩效的数据,比如缺陷、周期时间、工作量和进度变化等数据。收集分析并提供这些数据给相关领导,让领导们做决策并改进以后的项目。随着以后项目的增多,将会有更多的数据提供给相关领导来做决策,最终大多数领导就以这些数据为基础作决策,改善以往凭着一时热情做决策的弊端。并且对于项目的缺陷、周期时间、成本、工作量将有更
16、精确地预判。目前地矿项目已经完全按照最新的管理体系进行实施,结果是可喜的。较之以往的管理方式,地矿项目能保证项目的每个版本都是可控的并通过长效的管理机制使得库中每个工作成果都是最新的、时时可用。并能随时能够追溯旧版本的工作产品。当然收获不仅仅如此,还得到了管理项目可参考的数据,如开发周期,工作量,成本,缺陷数量,周期,需求变更情况等等,这些数据都是可供其它新建项目参考的数值。5展望目前信息中心的质量管理正逐步进入正轨,管理方式由主要采用人工管理转向采取目前流行的先进管理方法。今后我们将考虑根据目前信息中心质量管理的需求制作项目管理工具。该工具可以作为信息中心项目管理思想、方法的载体,将管理有形
17、化、客观化,降低劳动强度。同时也可以让项目管理工作精确性更高、成本更低廉,使用更简便、记录保持得更丰富、处理速度更快、可维护性和安全性更高等优点。软件质量管理并不是为了获得哪些证书或者是使用哪些工具,而是为了建立一个能够提供最好的软件开发管理团队,并以此帮助信息中心实现在全国国土资源信息化管理处于领先水平的宏伟目标奠定坚实基础。参考文献:l柳纯录主编,信息系统项目管理师教程,清华大学出版社2六西格玛在IT管理中的应用.波尔编,张晓娟,王新才等译.清华大学出版社3过程模式.安不勒著,王海鹏译.人民邮电出版社4软件过程质量管理.苏秦,何进,张谏贤编著.科学出版社5软件工程的敏捷管理.安德森著,韩柯等译.机械工业出版社