锁定老帖子 主题:哈哈,张恂找到了最新的银弹证据!
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2004-05-18
其实我认为工艺是工程的组成部分,这大概是我的工作经历告诉我的。
毕业以后做车间主任,天天批评工人不按照工艺严格操作,出膏率和能耗控制不好。至少在我看来你不重视工艺,肯定就不能说你重视工程,而重视工程你就必须从工艺开始。工艺的好处就是提供了一个大概的操作流程和在流程中应该控制的元素,这些只是对你工作的一个提示,而并不能代替人的操作,不然我干吗要写那个工艺呢?我并不认为CMM的初衷有问题,并且认为为软件开发提供一个可以参考的评价各个想过元素的评价体系是很现实的选择。但是CMM更多的关注了你的动作,而不是你动作的结果,认为只要你按照一个规则行事就肯定可以保证一些东西,而实际上任何传统行业的工艺和工程管理流程都强调的是对产品参数的控制,而不是过程的控制。传统行业普遍认识到一个工艺流程可以有多种实现的方式,一个产品的生产可以有多种的工艺流程,随着发展工艺和生产方式都会发生变化,所以你根本就不可能去把一个流程认定为最佳流程。 这其实是很明显的事实,也是传统行业普遍遵守的基本原则。而软件方面则一再强调要向传统行业学习,可是学来学去只是学皮毛,对这些基本的原理都不愿去遵守。其实那些嘴里口口声声说向传统行业学习的人,往往是最不向软件行业学习的人。 |
|
返回顶楼 | |
发表时间:2004-05-18
我绝对不鼓励别的任何人去学习雷锋,我只是鼓励自己去学习雷锋。雷锋做的事情都是正确的,并且是有大智慧在里面的。但是那些鼓励别人向雷锋学习的人,往往是居心叵测的。这个和银弹的问题很类似,往往是说没有银弹的人更加关注软件工程的各种进展,并且更愿意去参与软件工程的各种实践。而那些号称找到银弹的人,往往是那些投机取巧的所谓“聪明人”,他们的目标不在软件工程,手段也往往不是软件工程的。
|
|
返回顶楼 | |
发表时间:2004-05-24
robbin 写道 观点之争的背后是利益之争,这才是不变的真理。
再补充一句话: 公道不在人心,是非在乎实力。 所以不能不争的,争的多,利益就多。这场战争没有胜负,只有利益分配的多寡。 利益是要靠争取的,公道自在人心也是一定要靠斗争的,专业的东西向来不是谁对谁占上风,比如远有三门峡水库的例子,近有有我看到这次台湾的选举的过程,同样也是得到相同的结论. 其实现在的软件工程的问题在于经济模型的缺失,没有什么可行的又可靠的经济模型存在,这点上面才是关键. 什么时候能有一个大家公认的软件评价体系,可以评价各项的技术的优略. 有点像CMM Level5吧? |
|
返回顶楼 | |
发表时间:2004-06-03
国内也不是没有把CMM用得比较好的,比如华为,就比较遵循CMM,当然他们的资源相当充足,CMM的作用主要是用来协调不同水准的程序员一起开发,包括相当数量的外包程序员。传统软件工程的作用就在于此吧。纯粹从技术上来说,他们的java平均水准不高,主要靠管理取胜。
|
|
返回顶楼 | |
发表时间:2004-06-04
从软件开发上看到一个笑话。一次为重型方法提供工具的产品发布会,一个用户问厂家使用什么重型方法。厂家代表说:我们还不想死。
其实华为的实施CMM究竟是不是成功了,这个问题很难说,只是我得到的信息看是问题非常多。而我想这个论坛有对华为比我更了解的人,至少他还没有跟我说过华为的过程是成功的,代价是小的,效率是高的。 说起来国内的这些大公司,内部的那些事情,我们这个老混混还是比较明白的,至少那些记者写的那些东西骗不了我们。 |
|
返回顶楼 | |
发表时间:2004-06-08
我有朋友在北京华为做软件,他们严格尊守CMM5的规范,程序员在其中就是一个蓝领,那里有重设计重评估重测试就是不重代码(相对而言)因为伪代码已经基本等同于代码了,它们采用的V型开发方法,先写根据需求设计写测试代码然后根据测试代码写出伪代码。
ozzzzzz 写道 从软件开发上看到一个笑话。一次为重型方法提供工具的产品发布会,一个用户问厂家使用什么重型方法。厂家代表说:我们还不想死。
其实华为的实施CMM究竟是不是成功了,这个问题很难说,只是我得到的信息看是问题非常多。而我想这个论坛有对华为比我更了解的人,至少他还没有跟我说过华为的过程是成功的,代价是小的,效率是高的。 说起来国内的这些大公司,内部的那些事情,我们这个老混混还是比较明白的,至少那些记者写的那些东西骗不了我们。 |
|
返回顶楼 | |
发表时间:2004-06-08
glchengang
问题在于他们的伪码是怎么来的,经过测试没有? 实际上很多这样的设计都是那些设计这已经用代码完成以后,才转换为伪码。而且我想你可能写伪码不多,至少我是觉得,要写伪码比写代码要累。 华为的所谓软件工程前几年我还是体会过的,水平可以说达不到他们号称的水平。 |
|
返回顶楼 | |
发表时间:2004-06-08
我是一直很佩服那些据说能写出伪码交给“软件蓝领”去实现的人。至少在我看来,写单元测试比写伪码要容易得多——也有价值得多。而有了单元测试以后,还要伪码来干什么呢?要理解程序的接口和契约,看测试;要知道自己的实现代码对不对,把测试跑一遍就行了。
|
|
返回顶楼 | |
发表时间:2004-06-09
我有幸对华为的软件开发有些了解,当然只是一个局部,大概来说就是:
文档格式和审批过程是好的,文档质量是差的; 代码评审是很规范的,代码质量是差的(我看到的是典型的使用Java语言写的面向过程程序); 定量管理是有的,工作量估算是很粗的,结果也是很离谱的;工作量是使用代码行来估算的,程序都是很罗嗦的,我不知道两者之间是否存在关联。 给我的感觉就是,CMM是没用的。 |
|
返回顶楼 | |
发表时间:2004-06-10
IT业发展得这么快,前几年的华为和现在的华为早就不同了。我有一个同事女的,在华为干了三年,年初才出来,她写C,用的是正宗的CMM,每个点都会有评估,你写出了伪代码是有牛人来评估你的代码的(没有测试,伪代码如何测?),也就是有监督,你就不敢偷懒。伪代码是根据测试用例来写的(他们是先写测试用例)。我是没写过伪码,估计是一项蛮痛苦的事。还有她说在华为用的CMM也是经过了一些裁剪的,根据项目不同会有测重点不同
从上面也可知道CMM太重量级了,角色如此之多,没有实力的公司做不下来的,但象华为那种对软件品质要求巨高的公司,除了CMM他们没有更好的选择。 总的感觉CMM是基于不相信程序员这个基础的,也就是把程序员对软件项目的影响力降到最低,你程序员可以随时辞职,也随时会有人能接上,因为文档都很全,(当然核心程序员走了,还是会很麻烦)。这很适合大型软件项目,当人员多达数十人,人员的控制已经不都象小团队那么随心所欲了,CMM就会是个很好的控制方法。 可惜,我没能去华为里体验一把。 ozzzzzz 写道 glchengang
问题在于他们的伪码是怎么来的,经过测试没有? 实际上很多这样的设计都是那些设计这已经用代码完成以后,才转换为伪码。而且我想你可能写伪码不多,至少我是觉得,要写伪码比写代码要累。 华为的所谓软件工程前几年我还是体会过的,水平可以说达不到他们号称的水平。 |
|
返回顶楼 | |