续: 关于ISO, CMM的误区. (精彩精彩!!@!!!!!!)不要错过

博客对比了CMM和ISO9000两种软件质量管理标准,指出不能笼统说CMM比ISO9000好,前者注重过程,适用于软件企业自身发展;后者通用性强但针对性弱。还纠正了企业质量管理的误区,如全员参与、写文档等,并提出公司质量管理改进方向。

误区:
1:CMM比ISO9000好:
CMM和ISO9000都只是一种标准,前者只是根据一个研究所的研究报告制订的一套标准,必然有很多不完善的地方.
ISO9000是一个国际标准,通用性强.就软件企业来说,两者在对企业的质量管理的指导原则上的要求是差不多的.
而实现和表述上是不同的,不能笼统的说谁比谁好.

CMM注重过程要求,它的每一级对所要实现的关键过程域都有详细的要求,并且强制企业能自我更新和持续改进,
以实现缺陷预防.这对于推动软件企业自身质量管理素质是非常有利的.ISO9000的94版是以要素为关注重点,它
要求的20个要素做到了,ISO9000就认为你的生产过程能够在一定程度上保障你产品的质量.这是一个很低的标
准.ISO9000的2000版就此改进了一些内容,更大程度上增加了一些强制性的东西,它要求企业持续改进和量化管
理.

但ISO9000的通用性太强,针对性太弱.ISO9000适用范围是所有设计\制造\开发及服务的行业,就对软件质量管
理体系的要求是很低的,通过ISO9000认证的企业就相当于CMM的2级或3级,而且要求不是很具体,CMM对每个
级别的关键过程域都有很详细的说明,就CMM的关键实现的说明就有500页之多。

CMM毕竟只是一个学术报告基础上建立起来的一套评估体系,只适用于美国,而且它的认证结果只是由SEI授权
的首席评估员寄一封带有本人签名的信给你,并在SEI备案,没有任何证书,终生受用,中间不在审查。由于
SEI不是政府部门,这对于中国企业来说,是不可想象的。通过ISO9000认证的企业,要在中国技术监督局备案,
并且发证给企业,并要求每年审查,所有参加多边认可协议的国家必须认可适用性强。

ISO9000认证费用是2-4万元人民币,时间4-6个月,而CMM则需要7-10万美金,每一级向上一级认证时,需要
18-30个月,2003年该标准作废,取而代之的是CMMI。

综述:CMM对于推动企业自身质量管理是有好处的,它的评估标准也是很适合软件企业自身发展的,对于软件
产品不出口到美国的企业,不需要参与此认证。ISO9000的2000版只是能够证明软件企业的质量管理体系能够
保障产品质量,是一个最低质量保证要求,对软件企业的针对性也不强,ISO也正准备发布以过程为关注焦点
的软件质量体系标准ISO15504,也叫SPICE。它与CMMI很相似,但SPICE是国际通用标准,要比CMMI更有说服
力,CMMI也认识到这一点,把表达形式有单一的阶段性表达形式拆成连续性和阶段性两种,便于从SPICE转到
CMMI。

2:企业质量管理是领导的事,跟我们有什么关系。
质量管理八大原则要求企业员工全员参与质量管理,质量管理的重点是对人的管理,领导的作用在对人的
管理占到首要作用,但并不是说员工就不需要参与,因为具体参与设计和编写程序的人是企业的员工。
CMM,ISO9000都强调对人员的培训,尤其是在操作第一线的员工,产品的品质的好坏绝大多数与第一线员
工的操作有密切关系。领导的作用是让员工自觉的贯彻质量方针和政策,并积极参与企业的质量管理。同时
要充分授权给下一级,鼓励他们完成既定目标。

3:我自觉执行上级的命令就可以了,没有必要写文档。
不管是CMM还是ISO9000,都要求写文档,这是质量管理的第一步,也是强调自觉性的重要部分。质量管理
的首要就是可以重复,没有文档就造成了目标的不可重复,也为生产的稳定性造成很大的伤害,试想如果你企
业的核心技术人员因为经不起高薪的诱惑而离去又没有留下文档,后面的人无从跟起。如果推翻以前的成果重
来,浪费的不仅是金钱,更重要的是浪费时间和因为推迟造成的连锁反应。这样,产品的开发进入进退两难的
局面。

四:对比公司质量管理的现状,目前有许多急切需要改进的地方。
1:加强领导重视。
2:制定统一文档格式,强制写文档,加强开发稳定性。
3:加强“法制”行为,削弱“人制”行为,公司应更加制度化。

严重: 配置应用程序监听器[dkcs.cmm.StartContextLoaderListener]错误 java.lang.ClassNotFoundException: dkcs.cmm.StartContextLoaderListener at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1364) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1173) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:491) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:473) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:143) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3935) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4436) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:772) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:870) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.startup.Catalina.start(Catalina.java:757) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473) 11月 07, 2025 2:31:22 下午 org.apache.catalina.core.StandardContext listenerStart 严重: 由于以前的错误,已跳过安装应用程序侦听器 11月 07, 2025 2:31:22 下午 org.apache.catalina.core.StandardContext startInternal 严重: 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件 11月 07, 2025 2:31:22 下午 org.apache.catalina.core.StandardContext startInternal 严重: 由于之前的错误,Context[/NFC_SERVICE]启动失败 11月 07, 2025 2:31:22 下午 org.apache.coyote.AbstractProtocol start 信息: 开始协议处理句柄["http-nio-8090"] 11月 07, 2025 2:31:23 下午 org.apache.catalina.startup.Catalina start 信息: [7984]毫秒后服务器启动 这是什么问题,该如何解决呢
11-08
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值