
| 出版日期:2004-05-31 总期号:1317 本年期号:38 |
|
选择ISO9000的理由
唐东铭 在国家政策扶持、软件市场激烈竞争和软件出口新市场的压力和推动下,中国软件企业纷纷进行CMM评估和ISO9000认证。经过几年沸沸扬扬的认证评估热潮,中国已经拥有了超过100家通过CMM各级评估的软件企业,包括通过CMM5级的企业。 然而,认证评估并没有为企业带来改头换面的变化,也没有带来企业热心期盼的海外订单。企业的大部分员工对此不理解,抵触心理重,认为是走形式,为了拿证增加无谓的工作量。 ISO9000还是CMM? 软件的规模化生产促使软件企业希望像制造企业那样有明确的工作流程、准确的质量控制。在CMM流行之前,已经有很多软件企业开展了ISO9000认证。由于软件企业的业务特点,需求的不确定性、人员的不易控制、产品的不易测量,造成了软件企业对于承袭制造业质量管理思想的ISO9000有着内心的排斥,认为ISO9000不能有效解决软件企业存在的规模化生产的管理问题。当CMM进入我们的视线时,它对软件行业的针对性、国家政策的扶持和出口市场的巨大吸引力,让我们对CMM更加推崇。然而,拿到CMM证书只是软件出口的敲门砖,软件出口市场的打开,是与企业自身的真正实力、资源、人员素质、语言环境等很多因素息息相关的。 CMM是SEI根据美国国防部对软件供应商的要求标准,开发的针对美国大型军用软件企业的能力成熟度考核模型。其内容要求必然是覆盖范围全面、尺度严格,并不一定适用于90%以上是中小型的中国软件企业。企业为通过CMM认证所投入的咨询认证费、人员工作成本等,仅仅换来了一张纸。这与企业作为商业利益体追求效益的目标是完全背道而驰的。 其实,CMM、ISO9000和ISO12207、ISO15504等一样,都是以过程管理的思想来规范企业生产,其核心思想都是相同的。采用什么样的标准,是由企业自身商业目标所决定的。如果企业是针对国外软件外包市场,规模较大,通过CMM评估可以有力促进企业市场发展,那么肯定要去做CMM。作为中小型软件企业,主要市场是国内客户,希望通过科学化管理提高产品质量、降低维护成本,ISO9000是个不错的选择。 相对于CMM,ISO9000咨询认证费用低,标准要求切合实际。制造业发展而来的ISO9000可能有些地方不太适合于软件业,然而我们执行ISO9000,是吸取其过程管理的思想,应用到软件企业管理中去。ISO9000的理论是几十年企业管理经验实践的积累和精华,必然有其科学性和权威性。如果能够充分发挥ISO9000的精髓,全力落实所要求的各项工作,一定可以规范软件企业管理,提高企业效益。 如何执行ISO9000? 编写体系文件是执行ISO9000的重要工作。很多人编写体系文件,是从ISO9000标准出发,按照ISO9000的章节内容组织文件结构。这样的体系文件编写完成,发放下去,会让执行人员无所适从,无法与日常工作联系起来,自然会感觉不适用,抵触心理重,造成ISO9000执行不下去。 ISO9000质量体系文件是需要企业员工去执行的,应该把企业员工作为ISO9000项目的客户,真正去了解他们的需求,了解现有的工作流程。要像做软件项目一样去分析需求,在文件编写过程中不断征求员工的意见,在文件评审时要求流程相关人员参加,得到他们的认可。 体系文件一般分为三层:质量手册、程序文件、指南与模板。质量手册包含质量方针和目标,是指导性文件,可以主要由ISO9000标准而来。程序文件主要描述工作流程,不应该是质量部门闭门造车,而是要充分调查现有流程,在满足ISO9000要求的前提下,尽量减少对现有流程的变动。ISO9000不是专门给人找别扭的,能够被人接受、认可执行的流程才是有用的。指南和模板是执行人员最关心的。一方面他们希望有现成的模板拿来就用,另一方面又对模板的各项要求说三道四,把不愿执行体系文件的责任推到模板不适用身上。对于这一点,质量人员的最佳做法同编写程序文件一样,从现实工作中收集在用的模板,根据ISO9000的要求完善,得到执行人员的签字认可,尽可能地符合执行人员的工作习惯,降低抵触情绪。 然而,有时体系文件编写完成后,公司员工也严格按照体系文件执行,编写需求说明报告、做概要设计详细设计、遵从编码规范、做单元测试集成测试、编写用户手册等,所有的文档都经过评审,所有的流程都实现了,但是效果非常不明显。产品质量没有什么变化,开发人员感觉不到个人能力的提高,认为做这些事情的意义不大,从而对体系文件产生怀疑,造成体系文件难以长期贯彻执行。之所以出现这种情况,与开发人员自身的技术能力和对产品自身的检查效果有关。大家都应该明白,质量是公司每位员工的职责,不只是质量部门的职责。一个产品,如果在生产过程中敷衍了事,造成产品包含缺陷,质量检查再严格,返工再辛苦,它都是一件疵品。 ISO9000和CMM一样,关注的是从过程角度控制产品质量。产品的质量控制分为两部分: 过程控制和产品本身的检查控制。单独保证了过程控制的严格,并不能保证产品的质量。 产品的质量,首先是与一线开发人员的技术水平和工作认真负责的态度密切相关的。产品自身的检查控制,就要认真检查产品各阶段交付物,包括评审和测试。很多评审会议都是在走形式。就技术水平方面而言,一般做分析设计的人员,肯定是公司对产品的义务最熟悉、技术水平最高的人,他写出的东西,如果让公司其他人来评审,怎么可能会有切实有效的意见建议提出来,只能是提出一些错别字、格式调整的无关痛痒的问题。这种情况不改变,产品的质量不可能出现改观。 至于测试,估计大多数公司会放弃单元测试,只是做一些界面的测试。而测试计划、用例基本上是按照程序来编写的。真正有效的测试计划、用例应该是根据需求文档来编写的,因为需求文档才能直接反映客户的需求,测试的目的就是检查产品是否符合客户需求。如果需求文档本身存在质量问题,也会造成测试文档的潜在缺陷,导致无效。因此,需求文档的质量就显得非常重要。 |
|||||||||||||||||||||||||||