回复关系:

作者 内容
 iewoag  The Mythical CMM(CMM神话):01

The Mythical CMM(CMM神话):01

本文欢迎转载,欢迎大家来信交流讨论。
联系方式:高巍(网名DrCMM), w-gao@263.net,13851926012 。
转载时请保留本声明,谢谢。

Myth(神话),在软件工程的文献中常常指那些流传很广、似是而非的观点。较早也最著名的是Brooks的《人月神话》(The Mythical Man-Moth),而Pressman在其《软件工程——实践者之路》(Software Engineering——A Practioner's Approach)中也列举过软件的10大Myths。CMM因为其繁复的体系结构、晦涩的语句行文,也因为CMM实施中所涉及的诸多复杂情势,自然也有一些流传甚广的“神话”。

神话一:要降低成本,先增加成本
下面是我在CMM咨询的过程中,经常被问到的第一个问题。因为非常典型,摘录如下:
“请问东研咨询,如何让一位软件公司的老总真正认识到搞 CMM培训,不是为了过级,而是为了提高软件的产量和质量,降低成本呢?因为CMM 实施起来,短时间内看不到效果,而且在初期会带来负面影响,老总若立场不坚定,信心不足,面对公司上下的反对声和公司业绩的下降,老总就会放弃CMM。”
之所以把这个问题列为“Myth No.1”,是因为倘若没有处理好,准备实施CMM的企业就会打退堂鼓,以后的一切都无从谈起。而且,这个问题也异常敏感,涉及的是企业最关心的“成本”问题,绝非随便回答可以敷衍过去。

首先,实施CMM究竟是为了什么?这个问题没有统一的答案,按照SEI文献[1]中的说法,软件企业应该根据自己的业务目标(Business Goal),分析企业所处的业务环境(Business Context),明确本企业实施CMM的业务驱动力(Business Driver)。如果企业准备进军外包市场,而客户要求企业提供软件过程能力的资质认证,那么“过级”当然也可以作为目的。甚至,如某些上市公司为了资本市场的运作,需要概念炒作和包装,“过级”作为一种商业手段当然也是可以的。至于“提高软件的产量和质量,降低成本”,在企业能够保证源源不断有项目可作但是开发效率比较低下、程序缺陷较多的情况下,也可以视作目的。比如说某些大型国有软件企业,虽然因为体制问题沉疴积弊很多,却能凭着国企的身份接到其他软件公司接不到的来自公安司法等部门的项目。但是,如果企业发愁的是下一个项目从何而来,它的当务之急就不是“提高软件的产量和质量,降低成本”,而是管理学大师德鲁克所说的”创造顾客“。

其次,如果确定企业本次过程改进周期内的目标是”降低成本“,那么采取的过程改进措施就应该是针对”降低成本“这个目标,其他的改进措施的Priority(优先顺序)就应该低于为”降低成本“服务的改进措施,应该在下一次改进周期中实施。而且,SEI的文献[1]中一直强调CMM的实施要渐进地逐步地改进,每一步都应该有具体成效,然后才能推行到下一步。如果企图一夜之间在企业中实施CMM中的18个关键过程域,300多个子实践,”一口吃个胖子“,自然会”短时间内看不到效果,而且在初期会带来负面影响“。甚至,对企业的正常业务造成相当大的冲击,这是要尽量避免的情况。
如果像某些企业一样,只是为了公关宣传的需要,或者为了方便市场人员与客户接洽谈判的需要,决定以”过级“为目的。那么,”降低成本“就不是目的,而且软件开发从没有规范到建立规范这个变革过于”暴风骤雨“,其在初期的负面影响应该是准备实施前就应该计划到的风险而且有了相应的Mitigation Action(消减措施)的。

再其次,需要说明的是,我们的技术人员并不清楚企业会计中计算成本的方式。安然事件刚过,大家又把注意力集中到了CA(Computer Associate)公司,原因就是该公司对于财务收入的计算方式。由于CA公司对用户使用该公司软件是按照年份来收费,会计中将未来若干年份的收入提前计入,美国联邦政府有关机构则质询其是否有意通过此种会计手法虚增公司帐面价值。对企业的某项成本,应该从整个产品的生命周期来考察,而不是仅仅考察产品的开发阶段成本,而忽略产品的维护阶段成本。产品的维护成本,俗称”滞后成本“,是非财务专业人士容易忽略的。从整个产品的生命周期看,虽然产品的开发阶段成本会略有增加,但产品的维护成本则将大大降低,总的成本还是下降了。如果有意忽略产品维护成本,严格说来也是一种”做假帐“的行为。

再其次,企业实施CMM应该看成一种”投资“,而不是”成本“。CMM实施的ROI(投资收益率)的计算方式,值得讨论。在SEI的文献[2]中有部分数据,但是不同的企业情况不同,更何况国外软件企业与国内企业的具体业务环境相差更大。严格说来,CMM实施的投资收益率只能在实施以后2-3年来计算,在实施之前的ROI(投资收益率)只能是估算,而估算模型总是不精确的。因此,实施CMM作为一种投资行为从本质上说是一个风险,而对投资行为的决策和风险的判断与承担是企业高层领导的职责,不是质量经理甚至不是技术副总裁的职责。
一般情况下总是企业的质量经理或者技术副总和CMM咨询公司首先接触,说句不中听的话,他们的”说服企业领导实施CMM“的心态就是”越俎代庖“,行使了本属于管理层职责范围的决策权。军事战略学科中非常强调参谋人员和决策人员的区别。参谋人员的职责是根据一定的分析方法提出多种选择,以及每种选择的可能后果。决策人员的职责是在多种可能选择中作出决定,或者基于其自身广博的知识和丰富的经验,要求参谋人员再提供更多的参考方案。让参谋人员在提出方案或建议时带有明显的倾向(即CMM应该实施),是代替决策人员行使决策权,以及贬低决策者的学识和经验。
实施CMM是一项牵动企业各个方面的系统工程,需要对企业内外部环境的精准把握和业务形势的判断。那么,谁对企业掌握的信息最全面呢,谁更有决策能力呢?无疑是企业的高层领导。作为质量经理、技术副总或者技术人员,应该做的是提供有关CMM的客观信息,而不是带有先入之见。

最后,CMM实施必须能够实现企业递增的回报才是有意义的,我更倾向于将其理解为一个市场演进的过程。只要目前国内市场环境还允许”软件作坊“维持下去甚至盈利,只要劳动力成本低还将长期是中国软件企业的主要竞争优势,软件行业的生产方式短期内就难以产生显著的变化,我们人为变革或者拔升软件企业的过程现状就会遭遇失败。
我相信,对于CMM实施的投入与回报,我们的企业家比所有的CMM咨询机构和技术人员更清楚。

(未完,待续)
本文欢迎转载,欢迎大家来信交流讨论。
联系方式:高巍(网名DrCMM), w-gao@263.net,13851926012 。
转载时请保留本声明,谢谢。
 02/03/19 23:32 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 ha.win2   因为好文章,所以提前来.大家看

 02/03/20 08:27 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 wind_mark   回复: The Mythical CMM(CMM神话):01

好,有续文吗?
 02/03/20 09:41 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 vagawind   回复: The Mythical CMM(CMM神话):01

不错不错,急切等待下文!
 02/03/20 15:28 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 iewoag  因为是业余写的,我会加紧,谢谢大家的支持!

 02/03/22 13:36 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 wind_mark  很期待您的续文,出来了吗?

 02/03/22 14:44 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 gxd_mark   回复: The Mythical CMM(CMM神话):01

好文章,CMM是管理而不是技术!!!
让所有想进行CMM的企业清醒认识到CMM是一种投资风险。
 02/03/25 10:21 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 iewoag  CMM和过程改进的常用术语解释

CMM和过程改进的常用术语解释

本文欢迎转载,欢迎大家来信交流讨论。
联系方式:高巍(网名DrCMM), w-gao@263.net,13851926012 。
转载时请保留本声明,谢谢。

Watts Humphrey 在其著作《Managing Software Process》的卷首引用了下面两条谚语:
"If you don't know where you're going, any road will do."
"If you don't know where you are, a map won't help."

"如果你不知道你要向何处去,你可以选择任何一条道路。"
"如果你不知道自己所在何处,地图也沒有用处。"

两条谚语非常简洁的表达了软件过程评估的重要性——帮助你认识所处的位置,以及软件过程模型的重要性——帮助你找到前进的目标。

1 通用术语

The Process Management Principle: The quality of a product is largely governed by the quality of the process used to build it. The quality of a software product is largely governed by the quality of the software process used to develop and maintain it.
过程管理的基本原则:产品的质量在很大的程度上取决于生产过程的质量。软件产品的质量很大程度上取决于开发和维护软件的过程的质量。
The Crisis Principle: A mature organization does not abandon its process in a crisis.
危机原则:一家成熟的企业即使在危机时刻也不会放弃过程。
The Process Improvement Principle: Any process can be improved; continuous improvement is necessary to remain competitive.
过程改进原则:任何过程都有改进的可能,持续改进对于保持竞争力是必要的。
The Software Process Improvement Principle: The process to develop and maintain software can be defined, managed, measured, and continuously improved.
软件过程改进原则:软件的开发和维护过程能够被定义、管理、度量并持续改进。
Competence: The competence of the people who do the work is crucial to project performance and organizational success.
专业资质:工作人员是否胜任对于项目性能表现和组织成功极端重要。
Empowerment: A mature process empowers people to work effectively and efficiently.
授权:一个成熟的过程能够使人们更加高效工作。
Technology: The power of the tools used to do the work has a critical impact on the efficiency of the process, with a corresponding impact on competitive advantage.
技术:生产工具的效力对过程的效率有着关键的影响,也从而对竞争的领导地位有着相应的影响。
The Process Un-Supremacy Corollary: A mature process cannot overcome incompetent people or inadequate tools.
过程非至高无上(“过程并不高于一切”):一个成熟的过程不能解决人员缺乏专业资质或者工具不合适的问题。
The Good Management Corollary: A mature process cannot overcome unsound management.
优良管理推论:一个成熟的过程不能解决管理不善的问题。
The Scar-Tissue Proverb: Maturity is a function of scar tissue. - Mark Paulk
“伤疤”谚语:(字典的解释为,Scar Tissue是一种组成伤疤的结缔组织,在新疤中主要是纤维原,在老疤中主要是胶原体)成熟度的作用恰如“伤疤”,提醒企业不能好了伤口忘了疤,要记住来自失败的经验教训。(仅为笔者的个人理解,如有不对敬请斧正。)
Predictability: In custom software development, predictability of cost and schedule is important to the customer.
可预见性:在客户软件开发中,开支和进度的可预见性对客户来说很重要。
Time to Market: In commercial software development, time to market is the major factor in market share.
上市时间:对商业软件的开发来说,上市时间是市场份额的主要因素。
Trade-offs: Pick any two goals from better, faster, cheaper.
权衡:从更好、更快、更廉中选两个作为目标。
The Zero-th Law of Software: If the software does not have to work, you can always meet any other requirement. - Gerald Weinberg
软件第零定律:软件首先要能够正常工作,其次才能考虑更多的需求。
The Quality Decision: Whose opinion of quality is to count when making decisions? - Gerald Weinberg
质量决策:不同人员对于质量有不同理解,在做出决策的时候要考虑清楚所谓“质量”究竟是根据谁的理解。
Investment: Process improvement requires investment.
投资:过程改进需要投资。
Market Realities: A mature process will not generate a market; a bad process will not destroy a lucrative market.
市场现实:拥有成熟的过程,并不意味着自动拥有市场份额;当市场利润较高时,哪怕过程并不成熟也不会对企业造成严重影响。
Customer Satisfaction: The reason for doing process improvement is to satisfy (delight) customers so they will continue to buy your products and services and urge others to do so.
客户满意度:过程改进的理由是满足(取悦)客户,以让他们不断购买你的产品和服务,并且要求其它公司也改进过程。
Competitive Advantage: A mature process contributes to efficiency. In a competitive market, the organization that can produce its products and services most efficiently (and delight its customers) will thrive.
竞争领先:成熟的过程能够提高效率。在竞争激烈的市场中,能够更加高效地生产产品和提供服务(从而取悦客户)的公司才能发展。


2 CMM习惯用语

Software Focus: The CMM focuses on the practices that are under the control of the software function.
软件焦点:CMM集中主要精力于在软件相关实践。
A Road Map: The maturity levels and key process areas provide a road map to prioritize process improvement.
路线图:成熟度等级和关键过程域为确定过程改进的优先顺序提供了一个“路线图”。
The "What-Not-How" Principle: The CMM does not mandate how the software process should be implemented; it describes what characteristics the software process should have.
“是什么-不是-怎么样”原则:CMM并不指定软件过程应该怎样实现,;它描述的是软件过程应该有什么样的特征。
Capability vs. Performance: The CMM focuses on building the process capability of an organization; the process performance of individual projects is correlated but not identical.
能力与性能:CMM聚焦于组织过程能力的获得;单个项目的过程性能与组织过程能力存在联系但不一定相同。
Organizational Improvement: The CMM is a model for organizational improvement. It is not tuned to improving individual projects or helping a project that is in trouble.
组织改进:CMM是组织改进的模型。它并不擅长改进单个项目或者帮助解决处于困境中的项目。
Infrastructure: Without organizational (senior management) support, long-term process improvement is unlikely.
基础结构:组织高层领导的支持才能保证长期的过程改进。
The "Key" Principle: The CMM describes key process areas and key practices. The CMM is not exhaustive.
“关键”原则:CMM描述的是关键过程域和关键实践,CMM并不试图包罗万象,囊括一切。
Comprehensiveness: The CMM does not address all the important factors that impact success. Excluded topics include capable people, systems engineering, and powerful tools.
包容性:CMM没有包括影响项目成功的所有重要因素,排除在外的主题有:人员素质,系统工程,强大的工具。
A Public Model: The CMM is based on the contributions of the software engineering community; the SEI is a steward who coordinates and leads its development and maintenance.
公共模型:CMM基于软件工程界的诸多贡献,SEI只是协调和领导CMM的开发与维护的一个干事。
Technology: No specific tools, methods, or technologies are mandated by the CMM.
技术:CMM并不强制要求任何特定的工具、方法或者技术。
Process Evolution: Key process areas are not processes. Processes evolve, even when that evolution is not explicitly described in the CMM. A key process area describes a process at a particular maturity level.
过程进化:关键过程域并不是过程。过程处于演化之中,一个关键过程域仅仅描述了处于特定成熟度等级的过程。
Orthogonality: The key process areas in the CMM are interrelated. Processes (and key process areas) depend on one another.
正交性:CMM中的关键过程域相互关联,过程之间存在相互的依赖关系。
Level 1 Quality: High-quality products can be, and have been, developed by Level 1 organizations.
等级1组织的质量:等级1的组织能够也确实生产出高质量的产品。
The Repeatable Level Principle: For an organization to mature beyond chaos, it must install basic management controls that instill self-discipline.
可重复级原则:对于从无序向成熟转化的组织,它必须通过建立基本的管理控制以潜移默化一种自律能力。
The Defined Level Principle: For an organization to mature beyond the level of self-discipline, it must use well-defined processes as a foundation for improvement.
已定义级原则:对于已具备自律能力,正在向成熟转化的组织,它必须通过运用完善定义的过程来建立改进的基础。
The Managed Level Principle: For an organization to mature beyond the level of defined processes, it must base decisions on quantitative measures of its processes and products so that objectivity can be attained.
已管理级原则:对于过程已定义,正在向成熟转化的组织,它必须基于对过程和产品的量化度量值来作出决策,以达到组织的目标。
The Optimizing Level Principle: Ultimately, an organization must recognize that continual improvement (and continual change) are necessary to survive.
优化级原则:组织应该从根本上认识到持续改进(即持续变革)对组织的生存极端必要。


3 过程定义的习惯用语

The Documented Process: Documented processes are the basis for consistent performance and improvement. (Say what you do; do what you say.)
文档化过程:将过程用文档记录下来,为各个项目获得一致的性能以及组织范围内一致的过程改进提供了基础。(言行一致)
Usefulness: A process description should be detailed enough to be useful, not so detailed that it is unusable.
可用性:一个过程描述应该足够详细以使其可以在实践中应用,但是过于详细反而无法应用。
A Satisfactory Process: A process can be considered satisfactory when it is practiced, verified and validated, trained, measured, controlled, enforced, and is a basis for improvement.
满意过程:所谓“满意过程”,就是过程在实践中得到应用、验证和确认,而且过程相关人员接受过培训,过程数据已度量,过程是可控的、组织规定必须实施的。这样的过程是组织过程改进的基础。
A Well-Defined Process: A well-defined process has documentation that details what is done, when it is done, who does it, and the things used and produced.
良好定义过程:所谓“良好定义的过程”,是指过程以书面的形式记录下应该做什么、何时做、谁来做、输入和输出分别是什么。
The EITVOX Corollary: A well-defined process has entry criteria, known inputs, a process description of how to perform the task, known outputs, a verification mechanism, and exit criteria.
EITVOX推论:“良好定义的过程”具备入口准则、已知输入、对如何完成任务的过程描述、已知输出、验证机制、出口准则。
Institutionalization: Institutionalized processes are consistently performed across an organization (subject to appropriate tailoring).
制度化:制度化的过程是指经过剪裁后能够在组织范围内一致地得到实施。
Measurement Insight: The purpose of measurement is insight.
测量洞见:测量的目的就是获得“洞见”。
Basic Statistics: Blue-collar workers on an assembly line successfully use statistical process control techniques; powerful statistical techniques do not have to be cryptic and arcane.
基础统计学:装配线上的蓝领工人成功地使用着统计过程控制技术;强大的统计学技术并非神秘不可思议的。
Process vs. Competence: Mature processes enable people to work more effectively.
过程与专业资质:成熟的过程使人们更加有效的工作。
Formality vs. Goodness: A poor process formally described is still a poor process. - Dewayne Perry
形式与本质:一个糟糕的过程,哪怕非常严格正规的描述出来,仍然是一个糟糕的过程。


4 CMM解释和应用的习惯用语

Box's Rule: All models are wrong; some models are useful. - George Box
Box's规则:模型都是错误的,但有些模型却是有用的。
The Rocket Scientist Principle: You do not have to be a rocket scientist to understand the CMM. If something in the CMM is confusing, it is more likely because we explained the concept poorly than that the concept is extremely sophisticated.
火箭科学家原则:你并不需要成为一个火箭科学家才能够理解CMM。如果CMM中有什么不好理解的,并不是因为概念多么复杂,而往往是因为概念解释不清。
The One Right Way: There is no "one right way" to implement a software process.
一劳永逸的办法:软件过程的实施并不存在一劳永逸的办法。
A Normative Description: The CMM practices describe characteristics of a software process that we would normally expect to see at different levels of process capability.
正常化描述:CMM实践所描述的是通常情况下在不同等级的过程成熟度可以观察到的一个软件过程的期望特性。
Stone Tablets: The CMM is not engraved on stone tablets.
石碑:CMM并不是雕刻在石碑上的。
The "Apply Intelligence" Principle: The CMM should be interpreted in the context of the business needs of the organization. Do not do something foolish just to conform to the CMM.
“智慧地运用”原则:应该根据企业的商业需要在特定语境中对CMM作出解释。不要做单单是为了遵循CMM的傻事。
Measured Improvement: If you do not measure the effect of process improvement on time to market, productivity, quality, and customer satisfaction, how do you know that it works and that it should continue?
已度量的改进:如果不度量过程改进在上市时间、生产力、质量和客户满意程度方面的效果,怎么能知道过程改进产生了作用,并且应该继续呢?
Large, Software-Intensive, Contract Bias: The detailed practices (subpractices) in the CMM are expressed in terms of large-scale organizations that do contract work.
大型,软件密集型,合同型项目的倾向:CMM中对实践与子实践的描述用语,隐含的语境是大规模、软件密集型、合同型项目。
Systems Bias: The practices in the CMM are expressed in terms of developing software as part of a system that includes significant nonsoftware components.
系统倾向:CMM中对实践的描述用语,隐含的语境是一个包含了重要非软件部分的系统,其中软件开发只是系统的一个部分。
Tailoring: The CMM should be tailored (or interpreted) to fit the needs of the organization (or sponsor).
裁减:CMM应该根据组织(或者项目的主办方)的需要进行裁减和解释。
Professional Judgment: Professional judgment must be applied to interpret the CMM practices for a particular organization.
专业判断力:对于特定的组织解释CMM时,应该运用专业判断力。
The SCE Corollary: Judgment is not license. Judgments can be defended to a skeptical (neutral) second party.
SCE推论:SCE只是判断,并不是“认证”。但是软件企业可以运用SCE的判断在持怀疑态度的客户面前为自己申辩。
The Evaluation Principle: The true process is revealed by what the project does, not by what it claims to do.
评审原则:真实的过程由项目所做的工作显示,而不是由项目声称如何完成来决定。
Process Goodness: Effective and efficient software processes are critical to successful process improvement, but goodness can only be determined in the context of the business needs of the particular organization.
过程价值:过程的价值是由具体组织的业务需求唯一决定,而不是根据过程是否高效,是否有利于成功的过程改进。
Scoring and Goodness: Maturity level and key process area scores are based on whether a documented process is in place and being used. "Goodness" of the process is important, but is not a CMM scoring issue.
得分与价值:成熟度等级与关键过程域的得分是根据组织中是否存在一个文档化的过程而且该过程得到应用。过程的价值很重要,然而却不是CMM评分所考虑的范围。
Process Effectiveness: It is appropriate for assessments to identify findings and make recommendations on ineffective or inefficient processes even when the process is in place and being used.
过程有效性:即使过程已经存在而且正在使用,也应该对过程作出评估,鉴别其中效率不高或效果不大之处,提出改进建议。
Non-CMM Findings: It is appropriate for assessments to identify problems even when they do not map to the CMM, e.g., nonprocess issues.
非CMM发现:尽管有些问题不属于CMM的范围,但评估并标识它们也是应该的,比如:非过程问题。
The Discomfort Factor: An organization will only change if there is a sufficient level of discomfort (pain) with the status quo.
不适驱动(“贱骨头”定律):一个组织只有在现有状态下感到了强烈的不适(甚至痛苦)才会想到变革。
Simple, Not Easy: Process improvement may be simple, but it is not easy. - Watts Humphrey
简单,并不容易:过程改进也许简单,但是并不容易。
Generic Model: The CMM is a generic model for broad usage. In a specific context, your specific improvement needs may vary.
通用模型:CMM是一个通用模型,可以被广泛应用。在一个特定环境中,组织可能存在不同的特定改进需求。
CMM as a Tool: When improving the software process, use the CMM as a tool to help achieve business objectives of the organization. When selecting software suppliers, use the CMM as a tool to help understand the risks associated with an offeror.
CMM的工具性:在过程改进时,可以运用CMM作为帮助企业达到业务目标的一个工具。在选择软件供应商时,可以运用CMM作为帮助鉴别与某个供应商相关风险的一个工具。

本文欢迎转载,欢迎大家来信交流讨论。
联系方式:高巍(网名DrCMM), w-gao@263.net,13851926012 。
转载时请保留本声明,谢谢。
 02/03/27 23:20 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 wqxq  给你一朵花!

 02/03/28 10:11 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 javalover   剑期乎断,不期乎莫也;马期乎千里,不期乎骥敖。(无内容)

 02/03/28 13:36 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 frankwoo  回复: The Mythical CMM(CMM神话):01

what's CMM?,what's management, what's the difference between management method and management function?,
personally in Software field, I think that the software engineer is the first step even for the management group, then according to this criteria, we derived the right method, then to the whold abstract firm.
as I think software engineer is not just focus on the technology itself, it includes all aspects of the project.the project is the live cell for a health company, so what's more important now?
ISO9000/CMM?
 02/03/28 14:22 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价: