论坛首页 综合技术论坛

CMM到底给我们带来了什么?

浏览 197220 次
该帖已经被评为精华帖
作者 正文
   发表时间:2005-05-26  
ozzzzzz 写道
这不是agile的缺陷,但是agile没有围绕软件开发的根本矛盾展开工作这不能不说是其本质上的不足。而作为软件方法方面的研究如果不以解决本质矛盾为最初出发点,其价值就必然大大折扣。

是的,经过我这两年的思考以及和大家的讨论,差不多也能得到这样一个结论。
对于我们的项目开发或者产品开发,最重要的问题还是对于行业业务的深入理解。如何迅速理解和把握一个行业的业务,目前还只能完全依靠经验,而没有想出什么更好的方法。我认为建立针对某个行业的领域模型才是最为重要的问题。而软件的可用性(良好的交互设计和界面)是另外一个相对次要,不过对于赢得市场也非常重要的问题。后面还有良好的面向对象设计等等问题。而 XP 的 TDD 和重构对于第三个问题(得到良好的设计)是非常有帮助的。尽管如此,关键的问题还是在于对于行业业务的理解和把握。

我曾经以为 MDA 是迈向这个方向的一个重要尝试。不过现在还很难说,只有等等看了。
0 请登录后投票
   发表时间:2005-05-26  
dlee 写道
ozzzzzz 写道
这不是agile的缺陷,但是agile没有围绕软件开发的根本矛盾展开工作这不能不说是其本质上的不足。而作为软件方法方面的研究如果不以解决本质矛盾为最初出发点,其价值就必然大大折扣。

是的,经过我这两年的思考以及和大家的讨论,差不多也能得到这样一个结论。
对于我们的项目开发或者产品开发,最重要的问题还是对于行业业务的深入理解。如何迅速理解和把握一个行业的业务,目前还只能完全依靠经验,而没有想出什么更好的方法。我认为建立针对某个行业的领域模型才是最为重要的问题。而软件的可用性(良好的交互设计和界面)是另外一个相对次要,不过对于赢得市场也非常重要的问题。后面还有良好的面向对象设计等等问题。而 XP 的 TDD 和重构对于第三个问题(得到良好的设计)是非常有帮助的。尽管如此,关键的问题还是在于对于行业业务的理解和把握。

我曾经以为 MDA 是迈向这个方向的一个重要尝试。不过现在还很难说,只有等等看了。


MDA,包括普元说的组件化,包括各种平台,据说效果都是“可以复用企业积累的经验”。然则,“经验”是什么?怎么得到“经验”?什么形式的积累可以算是积累了“经验”?这个问题,谁都没解决。用Brooks的话,仍旧没有触及本质。
0 请登录后投票
   发表时间:2005-05-26  
dlee 写道
ozzzzzz 写道
这不是agile的缺陷,但是agile没有围绕软件开发的根本矛盾展开工作这不能不说是其本质上的不足。而作为软件方法方面的研究如果不以解决本质矛盾为最初出发点,其价值就必然大大折扣。

是的,经过我这两年的思考以及和大家的讨论,差不多也能得到这样一个结论。
对于我们的项目开发或者产品开发,最重要的问题还是对于行业业务的深入理解。如何迅速理解和把握一个行业的业务,目前还只能完全依靠经验,而没有想出什么更好的方法。我认为建立针对某个行业的领域模型才是最为重要的问题。而软件的可用性(良好的交互设计和界面)是另外一个相对次要,不过对于赢得市场也非常重要的问题。后面还有良好的面向对象设计等等问题。而 XP 的 TDD 和重构对于第三个问题(得到良好的设计)是非常有帮助的。尽管如此,关键的问题还是在于对于行业业务的理解和把握。

我曾经以为 MDA 是迈向这个方向的一个重要尝试。不过现在还很难说,只有等等看了。

你说的这种东西目前有一些已经存在。比如HL7、NGOSS等。

我的观点是,MDA就目前的情况,实现它的目的只能是个神话。
0 请登录后投票
   发表时间:2005-05-26  
CMM为我们带来了皇帝的新装.

不要再搞图腾崇拜了 这玩意太原始 !
0 请登录后投票
   发表时间:2005-05-26  
partech 写道
你说的这种东西目前有一些已经存在。比如HL7、NGOSS等。

我的观点是,MDA就目前的情况,实现它的目的只能是个神话。


HL7和NGOSS也并不是灵丹妙药啊
我们一直在说行业标准行业经验,殊不知真正有创造性的企业是不会被行业经验束缚的。

如果一个行业可以用一两套“标准”的IT系统一统天下,那么这个行业的创造性何在?这些企业的竞争力何在?
0 请登录后投票
   发表时间:2005-05-26  
clamp 写道
HL7和NGOSS也并不是灵丹妙药啊
我们一直在说行业标准行业经验,殊不知真正有创造性的企业是不会被行业经验束缚的。

如果一个行业可以用一两套“标准”的IT系统一统天下,那么这个行业的创造性何在?这些企业的竞争力何在?

这完全是两码事。
共享的模型同创造并不矛盾,java就是一个标准,你能说它限制创造性吗?
0 请登录后投票
   发表时间:2005-05-26  
ozzzzzz 写道
QUALITY IS FREE!
我不知道我们还需要对这个问题进行什么讨论?显然在更高质量级别的情况下,你的成本至少应该是不变,而不是提高,更不会大幅度的提高。这样的问题在我看来是常识。
审计的作用在什么地方呢?你无法回答这个问题,因为这个问是CMM不可能告诉你的。当然这个问题其实根本就不是一个软件工程的问题,而是一个管理学和财务学的问题。
同时我再次要对同一个问题发问:“如果你的制度已经可以确实保证你每一天都必须提交代码,那么你的每月一次的审计究竟意义何在?”
可以从开始我就知道你们根本就不会得到什么满足,寻找同道可能性在我们这个工程化的论坛中本身就不存在。而实际上包括你已经其他这里大多数的人对我都有深深的误解,以为敏捷是我的理论基础。其实恰恰相反,我一直的追求就是寻找敏捷的缺陷,从而提出自己的方法论体系。这个工作已经进入尾声,但愿我能完成它。
其实敏捷也好cmm也好rup也好,都是传统软件工程的组成部分,他们各自都有其实现的基础,也有其有效的范围,我们没有必要去证明其中任何一种是万能的。我们的工作应该是以社会现实出发,寻找最低成本投入,最高效果输出的方法,来改造我们的企业,进一步去改造我们的环境。至少你承认cmm不能解决明目前的根本问题,那么你为什么不能承认我们应该去关注究竟什么可以解决目前的问题呢?这样的讨论才会既有学术价值,也有社会价值。
当然最后我必须承认虽然我调查和深入过几个CMM企业,我对于其理解一直只是概念的阶段,而从来没有进入一个心领神会的境界。当然这样的原因并不是我们对于CMM研究的少了,或者对于CMM有什么先天的抵触,而是因为CMM的基本概念在我这里本身就没有成为可以可以自圆其说的系统,从而造成我对其系统的领会永远只能停留在表面。而我一种在寻找一个可以说服我的思想系统,可以解释CMM那不成系统的模型,可惜从来没有人能够说服我。他们往往只是拿着一条一条的CMM宣传手册上的言语,来说明CMM如何科学。既便他们能够脱离那宣传的陈词滥调,也只是拿着一些被阉割的理论来正确CMM确实是基于经典软件工程和管理的产物。可惜我这个人从来都是用自己大脑思维,对于他们的观点我根本就不可能认同。
现在的关键是经典的软件工程已经不能适应社会对于软件的需要,因为银弹早就被证明是不存在的。我想这个上面我们应该是有共识。但是社会并不会因为我们不能制造出银弹就放松对于软件的要求。因此说过程研究对于目前的状况以及将来的状况都不能提供给我们需要的东西。认识到这一点,就会让我们对于CMM和rup以及xp之列有一个清醒的认识,从而避免方法论大战的再次发生。
至于CMM的种种细节在我看来研究的价值不大,因为其从根本上来说是一种标准,而不是方法。标准的一个必然属性就是其必须建立在一个非最佳的基础上,也就是说CMM只能满足于最基本的要求,而不可能成为最佳实践的整合。这一点是CMM从来都不愿意承认的。但是由于一些被证明的最佳实践在CMM中根本就无法得到充分的贯彻,因此其标准地位一直不能得到充分的实现。你们可以继续讨论如何在CMM下实现TDD和迭代开发,看看你们究竟能够提出一个什么样的措施。而作为软件开发成为一个工程的基础措施的SCM最佳实现——持续集成,你们在CMM系统下又能如何实现呢?设计领域的重构你们又如何实现呢?最佳的评审实践PP你们又如何实现呢?最佳的需求实践,用户进度可视化又如何实现呢?最佳的变更管理实践和交流实现又如何实现呢?这些问题需要你们CMM人去解答。
但是既便你们能够解决上面所有的问题,还是无法证明其解决了CMM想要解决的问题,也不能证明其可以解决我们现在所要面对的问题。


他们的观点来自于一个普遍的经济学命题:“边际效益递减”
而你的观点来自“克罗斯比(Crosby)”,而他和戴明的观点又有区别。

http://www.techinfo.gov.cn/dfjj/zhgl/md.asp

是不是算已经是共识,我看也不见得。

你打算建立一个自己的方法论体系,我很感兴趣,还希望能早点拿出来给大家看看。
0 请登录后投票
   发表时间:2005-05-26  
ozzzzzz 写道
QUALITY IS FREE!
我不知道我们还需要对这个问题进行什么讨论?显然在更高质量级别的情况下,你的成本至少应该是不变,而不是提高,更不会大幅度的提高。这样的问题在我看来是常识。

这样的认识在我看来是常识性错误,我可以从我们公司的质量成本统计数据中找到证据,你呢?理论永远都是理论,找个质量提升成本不变的项目做例子来看看再说这个问题吧。
ozzzzzz 写道

审计的作用在什么地方呢?你无法回答这个问题,因为这个问是CMM不可能告诉你的。当然这个问题其实根本就不是一个软件工程的问题,而是一个管理学和财务学的问题。
同时我再次要对同一个问题发问:“如果你的制度已经可以确实保证你每一天都必须提交代码,那么你的每月一次的审计究竟意义何在?”

不是我们无法回答这个问题,而是我们觉得这个道理任何做过项目的人都明白,无需解释。既然你不明白,我愿意给你答案。你相信有任何约束性的制度在没有任何监督的情况下都能起作用么?审计是监督的一种手段。大谈特谈软件工程与管理学和社会学的联系,为什么偏偏连这种道理都需要人解释。
ozzzzzz 写道

可以从开始我就知道你们根本就不会得到什么满足,寻找同道可能性在我们这个工程化的论坛中本身就不存在。而实际上包括你已经其他这里大多数的人对我都有深深的误解,以为敏捷是我的理论基础。其实恰恰相反,我一直的追求就是寻找敏捷的缺陷,从而提出自己的方法论体系。这个工作已经进入尾声,但愿我能完成它。
其实敏捷也好cmm也好rup也好,都是传统软件工程的组成部分,他们各自都有其实现的基础,也有其有效的范围,我们没有必要去证明其中任何一种是万能的。我们的工作应该是以社会现实出发,寻找最低成本投入,最高效果输出的方法,来改造我们的企业,进一步去改造我们的环境。至少你承认cmm不能解决明目前的根本问题,那么你为什么不能承认我们应该去关注究竟什么可以解决目前的问题呢?这样的讨论才会既有学术价值,也有社会价值。
当然最后我必须承认虽然我调查和深入过几个CMM企业,我对于其理解一直只是概念的阶段,而从来没有进入一个心领神会的境界。当然这样的原因并不是我们对于CMM研究的少了,或者对于CMM有什么先天的抵触,而是因为CMM的基本概念在我这里本身就没有成为可以可以自圆其说的系统,从而造成我对其系统的领会永远只能停留在表面。而我一种在寻找一个可以说服我的思想系统,可以解释CMM那不成系统的模型,可惜从来没有人能够说服我。他们往往只是拿着一条一条的CMM宣传手册上的言语,来说明CMM如何科学。既便他们能够脱离那宣传的陈词滥调,也只是拿着一些被阉割的理论来正确CMM确实是基于经典软件工程和管理的产物。可惜我这个人从来都是用自己大脑思维,对于他们的观点我根本就不可能认同。
现在的关键是经典的软件工程已经不能适应社会对于软件的需要,因为银弹早就被证明是不存在的。我想这个上面我们应该是有共识。但是社会并不会因为我们不能制造出银弹就放松对于软件的要求。因此说过程研究对于目前的状况以及将来的状况都不能提供给我们需要的东西。认识到这一点,就会让我们对于CMM和rup以及xp之列有一个清醒的认识,从而避免方法论大战的再次发生。
至于CMM的种种细节在我看来研究的价值不大,因为其从根本上来说是一种标准,而不是方法。标准的一个必然属性就是其必须建立在一个非最佳的基础上,也就是说CMM只能满足于最基本的要求,而不可能成为最佳实践的整合。这一点是CMM从来都不愿意承认的。但是由于一些被证明的最佳实践在CMM中根本就无法得到充分的贯彻,因此其标准地位一直不能得到充分的实现。你们可以继续讨论如何在CMM下实现TDD和迭代开发,看看你们究竟能够提出一个什么样的措施。而作为软件开发成为一个工程的基础措施的SCM最佳实现——持续集成,你们在CMM系统下又能如何实现呢?设计领域的重构你们又如何实现呢?最佳的评审实践PP你们又如何实现呢?最佳的需求实践,用户进度可视化又如何实现呢?最佳的变更管理实践和交流实现又如何实现呢?这些问题需要你们CMM人去解答。
但是既便你们能够解决上面所有的问题,还是无法证明其解决了CMM想要解决的问题,也不能证明其可以解决我们现在所要面对的问题。

从你这一大段论述确实可以看出,如你自己所说,虽然深入和调查过几家CMM企业,但是对其理解一直只停留在概念的阶段。然而原因却未必是因为CMMI不成系统而让你不屑一顾,而是因为你只停留在观察的层面上。未曾在工程环境中实作过就能评述其中标准和方法论的实际价值,甚至未曾做广泛调查就做出类似“CMMI只适合外包企业”这样的结论,在我看来是不可思议的。既便是专门做工程理论研究的大学教授之类,也不应如此妄下断言。

我从来不想宣传CMMI什么,它也用不着我来宣传,也不想证明CMMI是不是经典软件工程的产物,这种论点不是我们需要讨论的话题。我们一直希望搞清楚CMMI的真正价值所在,如何在工程实践中发挥出这种真正的价值,但是你总是试图从理论出发来讨论理论,这其实跟你自己也承认的工程学是基于经验的学科完全相悖,同时也让我们向你阐述我们的实践经验时倍感困难。看看我前面给了你多少实例?然而你刚开始就拿我的年龄来否定CMMI,然后大玩概念避实就虚,直到现在还未拿出哪怕一个案例和实际操作经验。就这篇帖子来说,除了宣传你所谓的软件工程理念,系统论,认知学之外,对于楼主所言的问题,你可曾给出过什么有实践价值的建议?是否我可以就此推断,其实你所有的东西都只是停留在理论层面而未曾有过实际经验呢?我这个推论很武断,所以你很容易用事实推翻。来推翻它吧。

至于你最后提的那几个问题,的确是很基本的软件工程所必须面对的问题,也许你确实不了解实际情况,我们公司如果在那些方面做不到,是不可能让这么多的客户满意的。青海鱼风已经开始回答这些问题了,我也会慢慢地把我的认识写出来。

玩虚的没有用,我这样的年轻人说的事实或者所谓经验大家也不是怎么相信,不妨期待一下大名鼎鼎的o6z来指导一下实践吧。我下面的问题可以作为你授课的大纲,希望不要再来一个紧急爬升,会吓坏大家的:

1. 这个是已经问过的但是你没有给我答案:除了统计学方法,你还有什么方法么,比如在XP过程中,你用什么方法来收集和分析你的数据?愿闻高论。

2。你问到了评审,让我们再深入一点。你的项目中如何度量和统计effort这个关键参数?这个度量的过程要不要审查和监督?你如何让你的团队成员不怕麻烦去做这一点?假如你觉得根本不需要计算effort,分享一下你的成功经验吧,我们正在梦寐以求地想知道这种神奇的管理方法。

3。 你问到这么多的最佳,我想知道的是,你如何衡量这个最佳?你怎么知道这个评审实践最佳而那个不行?

4。你是如何关注团队成长的?你如何知道在你的方法下,你的团队确实成长了呢???

话不在多,这几个问题的答案应该都是很多人想知道的,麻烦解释一下,先谢过。
0 请登录后投票
   发表时间:2005-05-26  
dlee 写道
青海渔风 写道
所以,对待CMM,我们不能因为它在国内普遍的失败案例去否定它的价值。而应该看到:它在印度之类的大企业中的成功本身就已经说明它的价值是很大的。现在我们应该讨论的是,如何学会动用CMM这个工具来与参与国际竞争。

我不知道你为什么一定要完全否定我们自己同胞的一些实践经验。认为大部分实施 CMM 失败的公司所有的责任都在他们自身,而这个标准或者过程就是完美无瑕的。
正如 o6z 所说,好的软件工程研究者需要广泛涉猎,而不仅仅是局限于 SEI 的书籍和资料。软件工程涉及的范围非常广泛,包括技术、管理、心理学等等。管理是不可以移植的,而且管理方法确实存在着人种学的差异,针对日本人有效的管理方法对于美国人未必完全有效,而针对印度人有效的管理方法对于中国人也未必完全有效。为什么你认为我们中国的开发者和管理者就完全没有能力发展出来一套适合自己的软件工程理论和开发方法?

另外,你所说的这些再次证实了 CMM 基本上只适合于外包类软件企业这个我们以前得出的结论。

to Dlee,我们没有任何要否定同胞实践经验的意思,要否定的也只是失败的那一部分,而且我前面也给过国内认真做CMMI并藉以提升软件能力的而且也不是外包企业的例子。很显然,在这里讨论的都是对软件工程比较有兴趣的人,我们——中国的开发者和管理者,都在迫切希望发展出一套自己的方法。但是不是一蹴而就的事情,首先要做的是学习别人的理论和总结自己的经验,这一直是我和青海渔风在这里讨论的目的。
0 请登录后投票
   发表时间:2005-05-26  
gigix 写道
askycn 写道
gigix 写道
askycn 写道
呵呵,很多通过ISO的软件公司,都还要去通过CMM的。这就可以说明一些问题吧。

很多做ISO-9000认证的公司在ISO-9000被搞烂了没人信了之后立马转行做了CMM,这确实就可以说明一些问题了,起码可以说明为什么有你说的这个现象。


青海渔风
=====

虽然不排除在国内有这样的倾向,但是,其内在的驱动力不是这样的。其实,就算有些企业是因为这个而来,也至少证明了,CMM本身存在是有其道理的。

万事万物存在都是有道理的。CMM的标准卖价20万,通过CMM的企业国家补贴80万,这就是它存在的道理。


青海渔风
=====
可能你理解错了我的意思。如果你说的20万或80万是属实,至少说明在政府层面上对于CMM的肯定,当然,下面的操作层面上走样,是另外一回事了。我能够你在这样说的背后,其实是对于国内CMM实施的失望。但是,失望是一回事,关键还在于我们能够做些什么?不是么?别忘了,我们也是中国软件业的一份子,虽然可能是很小的一份。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics