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