本人经历过CMM2、CMM3、CMMI4和5,随着对CMM的理解的深入,越发产生了深层次的思考。CMM对我个人影响也很大,的确有很多好的实践和理念供我们学习和借鉴。本文不是全面否定CMM,而是从批判的角度审视我们对CMM的认识。大家可以共同探讨。
中国人实际是一个很特殊的人群,中国人的思维方式、价值观和处世方式与西方国家的区别很大,这与中国历史几千年漫长的中国文化和集权管理有直接的关系。
西方历史的发展是以科技为主线的,因此在西方的管理学中明显体现的是科学学科的态度和方法。在西方的管理学中分权和量化是两个重要的特点,而在中国的管理学中,为人处世却是主体,西方管理以事为主体,中国的管理以人为主体。
国内现在通过了CMM/CMMI从二级到五级那么多的企业,有多少企业生存的比以前好?又有多少家企业从此就消失在这个行业中了?
纵观国内软件行业的大局,究其原因有如下:
1. 引入了模型却引入不了文化:
任何一项管理制度和管理的方法模型都有其生长的根源和文化背景。比如独裁的管理、民主的管理等等。CMM起源于西方的软件行业,很多考虑问题的思路是有其背景的。比如分权治之的思想、量化管理的思想等。
管理不仅仅是科学,尽管我个人认为过程管理更多是一门科学。但是管理离不开对人的管理,只要涉及到人在中国就不是一件单纯的事情了。
另外国内的软件企业很少有成熟的企业文化的,这也是不论是CMM还是ISO9K都面临失败的原因之一。实施CMM更是一种文化的塑造和改革,是全体意识的提高和变革。自己本身都没有成熟的企业价值观和文化观,怎么可能让CMM在企业生根?不能在企业每个人的头脑中生根的CMM又怎么能发芽、开花、结果呢?国内企业通过CMM基本上都只是一个研发部或者产品部通过的。
2. 软件,人的因素更重要:
从软件技术开始,其质量和产出就是人的创造性和智力的结晶。尽管很多人鼓吹“软件蓝领”、“软件工厂”的概念,但是至少在二十年内,还看不到曙光。凡是可以用蓝领进行工厂化实现的技术具有如下的特点:
■ 机械性,可明确切割动作(如泰勒实验中描述的);
■ 可替代性,入门容易,任何一个人的工作是可替代的,或者替代的成本是比较低的;
■ 成本主要是材料,而不是人工;
■ 标准化,生成工艺和成品是可以标准化的。
从上面可以看到,软件行业明显与此是不同的。软件从最开始的Coding、Debug阶段都引入工程的概念在生产效率上提高了很多。但是目前不论是组件开发和面向对象还是代码生成都没有显著改变软件开发的质量和效率。我不否认软件工程或者传统行业的很多实践是可以引入到软件行业中的,但是我反对把软件生产当作传统行业生产的。至少在目前是做不到的,也许到了未来的人比现在聪明数倍、软件的标准和工具发展到想现在的扳手和车床一样。这似乎是个奢望。
大家知道,同一个学校出来的学软件的学生,其生产效率和开发质量相差几倍甚至十倍是非常正常的事情,即便是同一个人,在受到公司重视,心情好的时候比他即将离职,对公司不抱有希望的时候的生产效率差几倍也是再正常不过的事情了。
软件行业的人比其他行业的材料、工具和技术工人更复杂,其工作的动机更复杂、其社会和心理需求层次更高、人的个性差异性比较大。因此对于软件企业的人力资源的管理就更富有挑战性和以人为本。而CMM是过程模型,因此除了培训过程几乎是不关心人的。
3. CMM更适合大型项目
这是不争的事实,因为当初CMM的起源就是美国国防部为了有效控制和管理其项目而委托SEI的研究成果。国防部的项目100人月的项目就算是小项目,大部分都是几百人月甚至上千人月的项目。这种情况下没有规范的过程是不可行的事情。回头看看中国国内的情况,100人月的项目绝对算是大项目了,超过500万合同额的软件项目很少,有些甲方为了将项目分给更多的关系企业,往往人为地分成不同的项目来分包给不同的开发商。这些小项目往往是3-6个月的工期,交付的压力很大,客户的不成熟又往往看眼前的进度,而不是日后的质量。这就导致了国内很多项目是摇摇晃晃上线,提心吊胆维护,最好软件改的差不多稳定了,钱也花的差不多了。看起来是花很少的钱开发完成了,但是花更多的钱来修补。其实如果前期就能够按部就班,按照客观规律来做事,Total Cost就会减少很多。
4. 分权与量化的尴尬
在中国的历史中,最高管理者往往利用制衡的手段来统治和管理国家的。但是大家注意的是制衡,而不是分权。5000年的历史形成的文化和价值取向,分权是不现实的。从台湾的民主分权政治中我们也会发现缘由,中国人的民主分权意味着低效和成为独裁的幌子。再看软件企业,实施CMM的单位大部分都是在部门级或者技术范围内,很难看到分权和监督的作用。
关于量化也是一样,我相信大多数中国人不是太相信数字的。因为中国人的头脑中都有自己的标准,而很少有人优先想到别人或者另外的标准。台湾曾仕强老师讲过一个例子,就是一家德国的机床厂家发现卖到中国的机床很容易坏,经常更换配件,对质量一贯比较严谨的德国人派人到中国考察原因。原来是说明书中说在机床底座固定螺丝在安装的时候必须要做到拧四圈后要放半圈。自以为聪明的中国人便按照自己的标准计算,拧四圈放半圈,那不就是拧三圈半吗?这样的量化出问题就不奇怪了。
还有就是国家权威部门的统计数字往往是相互矛盾,口径不一,让劳动人民看得一头雾水。
在中国要让数字说话,就很容易滋生造数字,大到国家政府统计部门,小到企业财务,再小就到每个人年龄、财产填报。只要是对自己有利,而别人又不容易发现,那就可以造假,因为造假成本低,打假成本高。
再有就是哪个老板相信别人的数字?
5. 是什么推动了CMM在中国的风行?
CMM其实在欧洲和美国知名度并不高,很多大的软件企业甚至都不知道这是个什么东西,但是在中国,随着各地政府的优惠,加上不成熟的客户的跟风。大部分的企业看中的是一纸证书和政府的买单。很多国内知名的软件企业拿到证书后就解散了CMM的SEPG小组。而且国内的通过率历来是100%的事情,大家相信这其中没有猫腻?不在少数的通过CMM3级甚至5级的软件企业,这一两年过去后反而关门了。因此说如果没有一个正确的态度和企图来过CMM,那么再好的模型可能也起不到它的效果。
http://blog.csdn.net/li_hualing/
分享到:
相关推荐
不久以前看过一篇文章:《CMM欺骗了中国的软件业》,内容是对CMM热的反思。CMM当然不会主动欺骗人,实际上是我们的软件业自己欺骗自己。我们从来不缺少“某某模式”,“面向某某”,“某某认证”等等听起来美妙无比...
基于Qt开发的截图工具.zip 截图工具(QScreenShot) Qt编写的一款截图工具。 特点 - 支持全屏截图 - 支持自定义截图 - 支持捕获窗口截图 - 支持固定大小窗口截图 - 颜色拾取 - 图片编辑 - 图片上传到wordpress 环境 Qt6.2 QtCreate 8
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
基于ASP.NET技术的班级展示网站构建资源,是一套针对教育机构或学生团体,旨在通过ASP.NET框架开发班级风采展示平台的指导资料或教程。此资源详细介绍了如何利用ASP.NET的强大功能,快速搭建一个功能完善、界面友好的在线班级展示平台。 该资源涵盖了从需求分析、数据库设计、前端页面制作到后端逻辑实现的全过程。通过实例演示,指导用户如何设置班级信息、学生风采展示、活动公告、图片上传与浏览等核心功能模块。同时,结合ASP.NET的MVC架构,实现了前后端分离,提高了代码的可维护性和可扩展性。 此外,该资源还提供了丰富的代码示例和注释,帮助开发者深入理解ASP.NET框架的工作原理,掌握如何运用其强大的数据库操作、用户认证与授权等特性。对于初学者来说,这是一份难得的入门教程;而对于有一定经验的开发者,则是一份提升技能的参考资料。 总之,基于ASP.NET技术的班级展示网站构建资源,是教育机构和学生团体实现班级风采在线展示的理想选择,也是开发者学习ASP.NET框架应用的宝贵资源。
基于springboot的流浪动物管理系统源码数据库文档.zip
基于springboot+vue的实践性教学系统源码数据库文档.zip
基于Python+Django家居全屋定制系统源码数据库文档.zip
Umi-OCR-main.zip
基于springboot复兴村医疗管理系统源码数据库文档.zip
基于springboot二手物品交易系统源码数据库文档.zip
2024年西安外事学院数学建模校赛题目.zip
基于springboot医疗废物管理系统源码数据库文档.zip
GEE训练教程
内容概要:本文详细介绍了Spring Boot的设计和应用,涵盖了从基本概念到高级用法的全方位教学。首先通过环境搭建、首个项目创建、核心概念解析等步骤帮助读者快速上手。接着阐述了Spring Boot的设计原则与最佳实践,强调代码整洁和系统可维护性。最后,提供了两个实战案例:构建简单的RESTful API和电商网站后台管理系统,涉及项目结构、依赖配置、数据库设计、实体类与控制器的创建等内容,指导读者进行真实项目的开发。 适合人群:适合初学者到中级开发者的Java开发人员,尤其是对企业级应用开发感兴趣的人士。 使用场景及目标:①帮助开发者全面掌握Spring Boot的基本用法及其设计理念;②提供实用的实战案例和资源,使读者能够在实际项目中熟练应用Spring Boot技术。 阅读建议:跟随文章提供的步骤逐步操作,并结合实际开发需求灵活运用所学知识。建议多动手练习,加强对Spring Boot的理解和掌握。
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
内容概要:本文详细介绍了一个课程考试系统的设计与开发过程,涵盖语言教程、实战案例和项目资源。主要内容包括:选择Java作为开发语言,详细讲解Java基础语法和Web开发基础;实战案例包括用户管理、课程管理和考试管理模块的实现;提供了项目结构、数据库设计和依赖管理的详细示例。 适合人群:适用于初学者和有一定经验的开发者,希望通过实际项目掌握课程考试系统的设计与开发。 使用场景及目标:帮助学习者全面提升从理论到实践的能力,最终能够独立完成一个完整的课程考试系统。无论是学习编程基础还是进阶实战,本文都提供了全面的指导。 其他说明:项目涉及多个关键技术和知识点,如Servlet、JSP、JDBC、MVC模式等,有助于深入理解和应用这些技术。此外,还包括项目部署和运行的具体步骤,方便学习者快速搭建和测试系统。
《伯牙鼓琴》教学课件.pptx
基于springboot面向社区的智能化健康管理系统研究源码数据库文档.zip
基于springboot+javaweb宿舍管理系统源码数据库文档.zip
基于SpringBoot的遥感影像共享系统源码数据库文档.zip