作者在 2008-12-22 19:57:52 发布以下内容
由于软件的开发、部署和维护是一项高度智力密集型的工作,保证进度,降低成本、提高质量的工作最终还要落实到参与的个人。而对于个人而言,影响效率和质量的有四个要素:方法、流程、工具和热情。
所谓软件工程就是将软件开发、部署和维护的过程工程化,其目标无非是保证进度、降低成本、提高质量。由于软件的开发、部署和维护是一项高度智力密集型的工作,保证进度,降低成本、提高质量的工作最终还要落实到参与的个人。而对于个人而言,影响效率和质量的有四个要素:方法、流程、工具和热情。
如果把加入Rational当成入行软件工程的开始的话,那么在我入行的十年中,可以看到软件工程的热点在上述几个要素之间反复切换:
方法:98年-02年,面向对象方法风行
流程:02年-06年,RUP/CMM(I)大行其道
热情:06年-08年,敏捷气候小成
如前一篇博文所述,敏捷的贡献主要在于社会工程,它第一次将注意力聚焦到人的工作热情上。然而,在热点切换的过程中,有几个现象值得注意:
对新热点,期望太高、失望太快:人们往往将新的热点当成银弹,希望能够立竿见影;稍有挫折,就另寻热点了。其实时至今日,有多少项目真正能把面向对象建模作的很好呢?
对原有热点的成果,付之一炬:新热点的引入往往会分散对旧有热点的痴迷,这有它积极的意义,但要避免矫枉过正,全盘否定旧有热点的积极成果;
Ivar最近在谈“Be Smart”,其实我觉得这里Smart应该被翻译成“明智”,其核心就是在针对各要素的改进当中达成一个平衡。其实这暗合了中国的中庸之道:「不偏之谓中;不易之谓庸。」中者,天下之正道。庸者,天下之定理。