Chinaunix首页 | 论坛 | 博客
  • 博客访问: 845947
  • 博文数量: 756
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 4980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:40
文章分类

全部博文(756)

文章存档

2011年(1)

2008年(755)

我的朋友

分类:

2008-10-13 16:10:28

    以下是个人的一些观点,可能与大多数人的不同,所以自认反方,命名为《反方观点》。不一定对,但希望能发出自己的声音。

项目管理,风险和收益
    国内大大小小的软件公司都在做cmm, 相信在炒作的同时,不少公司也确实期望通过完善的项目管理来提高竞争力。但我觉得刚刚起步的小公司,炒作一下也就罢了,还是不要真正实行为好。这里的问题是:为什要进行项目管理。个人认为是为了降低项目的风险,或者说是为了把项目风险控制在某个能承受的范围内。但经济学的常识告诉我们,风险与收益是成正比的,大公司追求平稳发展,实施完善的项目管理体制理所应当。小公司就不一样了,因为还有生存的问题,不发展是死,发展的慢了同样是死。所以小公司需要追求跨越式的发展才行,cmm降低了项目的风险,但同时也降低了项目的收益,想借助cmm来获得高速发展,无异于缘木求鱼。
觉得oshj说的有道理,所以把他的补充进来。    小公司也需要部分发展,这是个平衡问题。如果发展初期一点也不注入,那么后期再来实施会导致大换血以至元气大伤,和重新起步没什么差别,而且容易使管理层形成思维定势,想正规都正规不起来,只能眼看着公司一步步衰败。这种教训很多,一些好不容易发展壮大的公司却很快就消沉下去了或拆分成更小的公司,就是前期不注重管理以及三、五条枪形成的思维定势而埋下的祸根。
总结一下就是:一个公司在不同发展阶段,需要不同风格的项目管理。能不能把公司做大做强,就在于管理层能否适时、平稳的完成不同风格的转换了。

项目不是个人英雄主义
    个人认为这一点只有在所有(或大多数)项目成员是英雄的时候才是正确的。我是唯天赋主义者,并且我也知道,爱迪生的“天才就是1%的灵感加上99%的汗水”的下半句是“但那1%的灵感是最重要的,甚至比那99%的汗水都要重要”。所以,我觉得,对大多数公司来说,一个项目中有一个“英雄”已经很不容易了,期望靠项目管理和团队合作来解决难题,可能真的没有依靠这个“英雄”更现实。

系统设计师不用编码
    这个观点可能最早是由某个(些)国外项目而产生的,记得几年前看到过一篇文章说某某系统的总架构师根本不会编码。到了国内之后,就都开始认为系统设计师根本不用编码,不过大家都忘了的一点:人家是xx(数学?)家,是天才,我们是什么呢?一个真的脱离了编码的设计师,他的职业生命还能有多久呢?

OO无敌
    说实话,每次听到一些人(尤其是初学者)说“面向对象”这个词我就觉得有点别扭(其实我想说:恶心)。干嘛动不动就面向对象呢?这个世界真的全是由“对象”组成的吗?举个例子,最面向对象的两门语言,Java和c#,都有个System,里面一大堆静态成员函数,写程序时候要一会System.A, 一会System.B,粗看好像很OO,但(站在OO的立场上)仔细想想,这个设计是很难看的,根本不OO。所以,所谓的“面向对象”基本上是忽悠人骗钱的东西。其实说白了,一句话:我们写程序是为了解决问题,不是为了面向对象(或面向其他的东西),千万不可本末倒置。
    另外,关于OO的弊端,建议看看《unix编程艺术》,这本书的观点虽然有些偏激,但我觉得还是很有道理的。其认为OO的主要缺点在于:程序中的“黏合层”太多,会把本来已经很复杂的问题弄得更复杂。还有就是我并不反对OO,我反对的是滥用OO(和下面评论中**的观点比较接近)。

posted on 2007-05-16 15:57 局部变量 阅读(3032)   

 re: 反方观点 2007-05-16 17:38

看过太多代码,现在才明白能用C写出lua那样漂亮代码的人,功力才算
真的深厚。

面向对象不能使问题变简单,从根本上。

 re: 反方观点 2007-05-16 17:55

有同感。

项目管理,风险和收益 一项不敢苟同。
小公司也需要部分发展,这是个平衡问题。如果发展初期一点也不注入,那么后期再来实施会导致大换血以至元气大伤,和重新起步没什么差别,而且容易使管理层形成思维定势,想正规都正规不起来,只能眼看着公司一步步衰败。这种教训很多,一些好不容易发展壮大的公司却很快就消沉下去了或拆分成更小的公司,就是前期不注重管理以及三、五条枪形成的思维定势而埋下的祸根。

 re: 反方观点 2007-05-16 18:22

CMM 本身就是民间偏方,而如果你想用它治百病,嘿嘿……

 re: 反方观点 2007-05-16 21:49

路过。经常有学生跟我抱怨oo编程太繁琐,我说oo模式不是为你们准备的,你只有写过50K行以上的程序,你才能体会到oo的必要 。

 re: 反方观点 2007-05-17 09:42

关于个人英雄主义,我一直在考虑这个问题。说的确实很有道理,相当于把握想找到点更明确的说法给明确了。
我前面在一看一本书叫《从优秀到卓越》,一直觉得很有道理,实际上又发现它有个前提,是已经优秀了。

 re: 反方观点 2007-05-17 10:50

我不同意hatemath的观点,oo模式的使用不是看代码量,而是看使用oo模式是否能更清晰的表达。
就像锤子和扳手一样,不能说东西多就要锤子或扳手,而是看要做的工作使用哪个工具更方面。

 re: 反方观点 2007-05-17 21:30

问题在于,代码量和清晰表达项目的难度是息息相关的。很难想想一个10万行代码的项目做的是1+1=2这样的算术。

 re: 反方观点 2007-05-21 16:05

OO还是需要些代码量的
OO本身是一个抽象过程,抽象的基础是大量实例。
System.A 未必不是OO
实体世界是OO的,但程序中有时候需要一些工具来简写代码,这就是静态方法的意义吧,例如假如有个 typeof 的功能,你可以不使用它,而使用OO的object.type方法,但如果做一个 typeof 方法,能让代码简洁一些。
当然,过度的OO实际上会导致程序繁琐度的上升,比如Java

 re: 反方观点 2007-08-01 12:13

我同意这句:一个公司在不同发展阶段,需要不同风格的项目管理。
但是后面的:能不能把公司做大做强,就在于管理层能否适时、平稳的完成不同风格的转换了。
有点不同的意见。公司是否可以做强大,就要看高层是不是个人物,是不是个有着心怀天下,有着仁慈的一颗善心。如果高层只是垃圾或者只是比平常人聪明点的人而已,公司做不大,因为这样的人太多了,太普通了。如股市上,我们需要潜在价值或者黑马。潜在价值,也是说确实有实力;黑马,肯定与众不同了。

至于如何做项目,如何借鉴别人的管理,每个人都有自己的一套看法,每个公司都有自己的决策。但是,最重要的,是看这些东西是否真正的适合自己。
虽然不喜欢读政治课本,但是有一句话是可以借鉴的:“生产关系要与生产力相符合”。如果公司的水平不够,去套用先进的管理,肯定适得其反。如果公司的员工水平较高,那么还沿用落后的思想,势必阻碍公司的发展。

关于编码的问题,这个不好说。我觉得,项目组内的所有的成员,最好都有编码的基础。否则,这个不好交流。虽然不可以明说XX需要看书学习了,但是心里肯定骂了几万遍这个孙子需要回炉另造了。
我倒是遇过这样的PM,完全可以代替项目组内任何一个角色,而且比别人做得更好。只是他没有时间而已。脾气虽大,但是做项目的目的就是把项目做好,使项目有利润,创造价值。

本人不才,一点拙见,请拍砖。拍砖的话,去我那里灌水即可:) 

 re: 反方观点 2007-08-02 08:42


--------------------next---------------------

阅读(376) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~