锁定老帖子 主题:家传秘方
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2004-03-03
我和GIGIX说这个论坛天不怕地不怕前途无量,看来不错。
引用 软件公司最后的成功不是因为实施了 CMM,而是因为开发人员经验和技能的提高造成了开发效率的提升。 说了半天,你仍然不是在重复我说过的东西么。开发效率的提升是为了公司能赚钱。CMM也好XP也罢与公司赚钱之间并没有必然的逻辑联系。一个公司用了某种方法能够赚到钱,是因为这个方法合适市场的机制而不是这个方法有多少先进。国内软件市场的机制是以质量和效率来作为衡量标准的么?国内软件公司真的在乎效率么?我们这边加班加点的作各个软件商的及其产品的评估报告,领导们拍板真的是按照这些报告来选择软件产品么?一个不以产品质量和效率作为首要衡量标准的市场,谈那么多软件工程又有什么用呢?现在国内的软件公司搞软件过程无论你用XP或者CMM,要么是程序员为了少加班在那里剃头挑子一头热,要么是为了那么一些补贴而认证。从来没有一个因为市场竞争,为了企业的生存而发起自上而下的软件开发的改进。 因此我说 引用 为何美国的软件公司普遍的要比中国好?因为在美国的市场环境下,不采用软件工程的公司已经被市场淘汰掉了 的真正含义在于,自下而上的发起软件开发过程的改进无论你采用XP也好CMM也好,对整个企业来说并没有太大的意义。因为市场机制允许效率低下的软件企业存活,即使作为程序员的你因为各种软件问题疲于奔命加班加点对企业来说也是最好的生存方式。什么是务虚,什么务实?不要在理论上谈论可能性就是务实,弄清国内的市场运作方式再来谈该用XP和CMM就是务实。 引用 好象你从来也不说 CMM 的缺点,究竟是为什么? 因为在我看来就目前的国内市场而言,既然提高软件开发效率并不能为企业提供更多的机会那么无论你用CMM也好XP也罢都是等效的。政府为何要为过CMM认证的公司进行补贴?不就是因为过了也这样开发不过也这样开发,没有补贴CMM对所有的国内软件公司来说根本是毫无意义头头脑脑们为了自己的政绩不得不补贴。说的直白一点不要讨论xxx方法能够提高软件开发效率这一套,因为国内企业不以这个东西混饭吃。 引用 我要去编程了
这的确是你应该去做的事情,剃头挑子一头热的改进遥遥无期。 |
|
返回顶楼 | |
发表时间:2004-03-03
是的,我其实发现任何过程实施起来都是有缺陷的,就是你说的南橘北枳。XP 之所以在 Kent Beck 那里有效是因为他有一批开发高手,我们的程序员根本无法达到这个能力。其实我们现在最头疼的问题是对于进度的控制力度不够,承诺给客户的很多事情不能按期兑现。这个确实是影响我们赢利的大问题(我们不是接不到项目,而是由于实施能力的限制不敢多接)。所以目前对于我们提高开发效率才是最迫切的任务。我并不觉得照搬 CMM 或者 XP 可以有多大的帮助。我觉得加强培训是一个方法,还是要提高开发人员的个人能力才行。还有就是通过重构想办法提高代码的重用度也是一个主要的手段。
现在加班几乎已经变成例行公事了,唉! 抱歉说了一些过头的话,希望你别介意。 Good luck! |
|
返回顶楼 | |
发表时间:2004-03-03
dlee 写道 是的,我其实发现任何过程实施起来都是有缺陷的,就是你说的南橘北枳。XP 之所以在 Kent Beck 那里有效是因为他有一批开发高手,我们的程序员根本无法达到这个能力。其实我们现在最头疼的问题是对于进度的控制力度不够,承诺给客户的很多事情不能按期兑现。这个确实是影响我们赢利的大问题(我们不是接不到项目,而是由于实施能力的限制不敢多接)。所以目前对于我们提高开发效率才是最迫切的任务。我并不觉得照搬 CMM 或者 XP 可以有多大的帮助。我觉得加强培训是一个方法,还是要提高开发人员的个人能力才行。还有就是通过重构想办法提高代码的重用度也是一个主要的手段。
现在加班几乎已经变成例行公事了,唉! 抱歉说了一些过头的话,希望你别介意。 Good luck! 不加班,不倒工这都是天方夜谭。我们既熟悉又不熟悉的领域,制造业,建筑业 倒工加班是常有的事情。民工们的工作未必比我们轻松。那种画画图纸就能盖高楼 只是程序员们一厢情愿的想法。这些行业中的陷阱要比我们想象的要多。软件的关键的问题并不是出在程序员的能力范围之内,但是却要程序员来承担。例如需求的收集真的是一张纸,一支笔就能解决的事情么?沟通这两个词的背后又存在什么不为我们所知道的事情呢?做一下广告下期的程序员会发表一篇我写的文章,会浅显的讨论这些问题。等过一个月我贴上来让大家来丢西红柿。 |
|
返回顶楼 | |
发表时间:2004-03-03
在当前的市场机制下,Trustno1讲的是很实际的现实情况,不得不承认,在很大程度上来说,与其抛开商业的影响单纯的谈软件开发过程,不如谈谈在各种现实环境中如何面临和解决各种困境来的有用处。
其实越是在大公司,各种非技术因素的影响就越大;只有那些强势CTO领导的小公司,才能够真正把软件开发过程贯彻的非常理想。 我倒是觉得上面两位争论的不是同一个范畴的东西。 |
|
返回顶楼 | |
发表时间:2004-03-03
Trustno1 写道 软件的关键的问题并不是出在程序员的能力范围之内,但是却要程序员来承担。例如需求的收集真的是一张纸,一支笔就能解决的事情么?沟通这两个词的背后又存在什么不为我们所知道的事情呢?
我们已经意识到这个问题了,所以我们可能很快要做需求评审和设计评审。确实不应该把太多的工作压在程序员身上。这些其实主要都是我的工作。不过我觉得设计让程序员尽早参与进来是非常有好处的(他可能只需要提点意见,重要的是理解设计意图),可以避免他因理解错误而做无用功,而且对于提高他的能力也很有好处。只让他做编程,长期会产生厌倦心理,造成人员流失,无法形成团队胶合(这个对于开发效率真的是非常重要,你有空了最好还是读一下《人件》这本书,不要总是借口中国有自己的国情。关系搞定了,你最终还是要解决一些开发团队自身的问题吧?务虚到底就足够了吗?其实你看我的发言已经很清楚我们目前活着已经是没有任何问题了,我们的问题是如何更快地发展的问题。我现在做 PM,整天想的问题是请客吃饭、如何融资,而不是如何更好地实施项目、控制进度、帮助客户解决好他们最关心的问题,你说我称职吗?),而且也会造成人力资源浪费。其实我也要写不少代码的,不是只做设计。这种方式在你看来到处都是问题,但是恰恰是最适合小公司的开发方式。因为把设计和编程严格分开确实是问题多多,而且很不经济,对于程序员自身的发展也非常不利。 不过我们也不会把这些评审搞得非常正式,原因还是成本问题,我们不想出现文牍主义。这些评审的主要目的还是促进沟通,使一些问题及早地暴露出来。 还有一个就是 o6z 以前所讨论过的,究竟应该采用瀑布式开发模式,一次性做完所有的需求和设计,还是采用 XP、FDD 一类的迭代式开发模式,使得需求可以随着项目的展开而发生变化。不想让需求变化是很困难的,即使客户签字了,他也会反悔。我并不觉得 RUP 的软件需求工程中的需求变更管理过程会有非常大的帮助。我现在觉得 FDD 是更合理的开发方法,但是目前也是纸上谈兵。即使需求可以变化,也一定要控制在一个合理的范围内,因为国内的项目都是签合同时金额就已经定下来了,客户不会再多给你付钱。 你的文章我一定会拜读,但是因为你的经验不是来自于我的亲自实践(你总不能代替我来工作吧?),对于我来说仍然是“待证的假设”,我完全有理由怀疑你说的每一句话。这正是你说这里“天不怕地不怕前途无量”的原因。 |
|
返回顶楼 | |
发表时间:2004-03-03
robbin 写道 在当前的市场机制下,Trustno1讲的是很实际的现实情况,不得不承认,在很大程度上来说,与其抛开商业的影响单纯的谈软件开发过程,不如谈谈在各种现实环境中如何面临和解决各种困境来的有用处。
其实越是在大公司,各种非技术因素的影响就越大;只有那些强势CTO领导的小公司,才能够真正把软件开发过程贯彻的非常理想。 我倒是觉得上面两位争论的不是同一个范畴的东西。 的确不是同一范畴的,cmm是不是好的软件工程和值不值得实施cmm是两个问题。 cmm不见得是好的软件工程方法,我呆的一家公司就是国内首家通过cmm2的公司,但是我所看到的很多都不按照cmm实施,但为什么要过呢? 因为我们公司要靠这个接外包。cmm认证的作用绝大部分在于它是一块敲门砖。 -起码对我们公司而言是这样。 |
|
返回顶楼 | |
发表时间:2004-03-03
zingers 写道 和我们公司的一个海归谈起来,他亦对布什上台后IT的大环境很是感慨,抛开布什的政治利益不谈,为什么原来的IT热潮会遇到冷眼相对,也是自己内部的因素。
正是因为这个原因,在企业对于 IT 的态度趋向于理性、认识更加深刻的今天,再以以前的方式经营软件公司,不狠练内功,想要牟取暴利将会是越来越困难的。 |
|
返回顶楼 | |
发表时间:2004-03-03
这几天太忙了,所有很久没有回答这个帖子,而且过几天也要更忙,只好随便回答几句。
首先我们应该怎么看CMM在印度的成功。我并不是说CMM没有用处,就一点没有可以借鉴的成分。首先我们必须看到印度软件的发展是以外包和突破,并且现在依然是以外包为主的。对这样的企业你让他们实施CMM是和合适的。但是我不知道我们究竟有多少人在做外包,更加准确的说是在美国的政府和军队的外包。其实对待日本人来说,他们的理念很接近CMM的思想,但是他们有自己的一套。而美国的很多外包业务并不看外包,他们更加信任自己的考察。CMM的市场范围只是为了满足非常少的客户的个别要求,而且这些客户我实在看不到会把他们的主要业务外包给中国的可能。而印度人利用CMM赚到了钱,并不能说明我们也可以利用这个东西赚到钱,同时也不能说明当初他们利用CMM赚到钱,现在也可以利用这个赚到钱。 关于说道他们所谓规范,那些究竟是通过自己的积累还是通过实施CMM得到的规范,我们很难说清楚。不过我当初接触过几个在华为的印度人,感觉他们的方法和CMM完全不同,他们非常重视技术人员的核心地位。也许这几个人都是技术人员,他们的做法我看到很多并没有三天两头评审,动不动就追溯。 而同时我也见到过一个公司和印度人合作,在后期由于政策的变化,必须修改一些流程中的参数。但是最后的印度人发来了一个100多页的报表和100页的报告,说明这些东西如何如何不能修改。最后还是我们自己想办法做的一个修改。而当我把这个事情告诉我的那几个印度人的时候,他们说这是最正常的事情。因为他们不想修改,那些表格和文档都是早就有的东西,只是面对不同的问题的时候从新写的一个实例,根本就不是很复杂的工作--也许只要10多分钟就可以完成。这让我们明白,在他们眼里其实根本就没有什么CMM的地位,他们只是利用这个东西做一个敲门砖和推卸责任的接口。 |
|
返回顶楼 | |
发表时间:2004-03-03
当然CMM究竟好不好是一个问题,和实施起来是不是有效益是另外一个问题。现在实施CMM是有政府补贴的,这对那些实施CMM的企业看起来是一件好事情。但是我想这些补贴都是有来源的,绝对不会是美国或者印度政府给我们的补贴。这些补贴都是来自我们这些普普通通的中国人和这些在中国这个市场体系下辛勤劳动的人们,而同时我想有那么多人更加需要我们的政府去救助,有那么多环境问题需要治理。难道我们真的为了自己的那么一点点的利益就要和那些顾问一起来骗政府吗?君子爱财,取之有道。虽然是市场经济但是并不是说只要赚钱就是好的,还必须考虑成本和代价,这也是工程学的一个原则。
|
|
返回顶楼 | |
发表时间:2004-03-03
再来谈谈程序员的责任问题。
当然程序员担负的责任现在看来还不是这个行业的主要问题,但是这难道就说明程序员就可以什么都不作,随便的随意的找一个东西就来乱搞。 我做过销售,我实在是太理解关系是怎么一个问题了。关系只能让你拿到项目,并不能帮你完成项目,而且最后往往是这些关系最关注这些项目究竟是不是完美。越是大的脑袋这样的担心就越是重,搞到最后很多都是有些吹毛求疵了。其实这个道理很简单,谁也不是一个人活在这个世界上,那些关系也有部下也有领导也有同僚,他们也要追求向上,他们部会希望自己搞的事情砸锅,而且我们搞的很多项目都是政绩工程,做不好会影响他们一辈子的。当然你可以认为你可以为他们开一个合适的价格,但是别忘了你的项目才多大,那些人的身价又是多大。多算算帐吧。 那么程序员究竟去选择适合自己的项目的实施方法是不是真的就不能带来利润了呢?我想还是用销售的观点来解答这个问题。关系们的要给你办成事情,并不是你提供了他们的资源,他们就可以保证完成任务,他们还需要你提供一些可以说事的说法。在你们都提供同样的功能的软件的时候,他们自然会看价格。而且他们还会很在乎软件企业的名声,一旦你在一个地方做砸了,你就会在很大的范围内受到影响。 |
|
返回顶楼 | |