作者:吴穹 来源:CSDN博客   酷勤网收集 2008-09-29

摘要
  由于软件的开发、部署和维护是一项高度智力密集型的工作,保证进度,降低成本、提高质量的工作最终还要落实到参与的个人。而对于个人而言,影响效率和质量的有四个要素:方法、流程、工具和热情。

所谓软件工程就是将软件开发、部署和维护的过程工程化,其目标无非是保证进度、降低成本、提高质量。由于软件的开发、部署和维护是一项高度智力密集型的工作,保证进度,降低成本、提高质量的工作最终还要落实到参与的个人。而对于个人而言,影响效率和质量的有四个要素:方法、流程、工具和热情。

 如果把加入Rational当成入行软件工程的开始的话,那么在我入行的十年中,可以看到软件工程的热点在上述几个要素之间反复切换:

  • 方法:98年-02年,面向对象方法风行
  • 流程:02年-06年,RUP/CMM(I)大行其道
  • 热情:06年-08年,敏捷气候小成

如前一篇博文所述,敏捷的贡献主要在于社会工程,它第一次将注意力聚焦到人的工作热情上。然而,在热点切换的过程中,有几个现象值得注意:

对新热点,期望太高、失望太快:人们往往将新的热点当成银弹,希望能够立竿见影;稍有挫折,就另寻热点了。其实时至今日,有多少项目真正能把面向对象建模作的很好呢?

对原有热点的成果,付之一炬:新热点的引入往往会分散对旧有热点的痴迷,这有它积极的意义,但要避免矫枉过正,全盘否定旧有热点的积极成果; 

 Ivar最近在谈“Be Smart”,其实我觉得这里Smart应该被翻译成“明智”,其核心就是在针对各要素的改进当中达成一个平衡。其实这暗合了中国的中庸之道:「不偏之谓中;不易之谓庸。」中者,天下之正道。庸者,天下之定理。

评论

#jiangtao 发表于2008-06-28 09:47:48  IP: 221.220.17.*
敏捷的风行是否和基于互联网的快速开发模式驱动有关呢?
2008-06-29 22:10:57作者回复
我个人认为,敏捷的风行的原因有如下几个因素:中间件的大规模应用使软件开发团队的规模大幅减小,互联网交付速度对开发进度的压力,以及对过分强调过程的CMMI/RUP/IPD/PMP的反弹。<br />
#jackhatedance 发表于2008-06-30 13:16:34  IP: 61.241.79.*
小团队管理应该很容易吧,软工要解决的应该是大团队的管理问题。
#chjl2020 发表于2008-07-01 00:14:20  IP: 58.60.44.*
小团队需要管理,大团队需要好的管理.
一些小公司的团队.就那么五六个人.根本就没有管理的概念,
#routent 发表于2008-09-12 13:00:14  IP: 219.238.182.*
敏捷的真正价值在于它明确肯定了人在软件开发中的作用,把人作为软件开发的第一位要素。至于迭代开发,适应性开发都可以在其他开发方法中找到影子。这和以前的RUP,CMMI强调过程的作用是不同的。虽然RUP,CMMI也不否认人的作用,但是从来没有提到这个高度。
所谓人的作用,不止是热情,还有能力,素质等等的集合。这些都是开发高质量软件的关键因素。

强调人的作用,就要理解软件开发过程就是要为人,开发者服务的,而不是相反,或者是为管理者服务。这也是敏捷方法和其他方法的区别。有兴趣可以看一下我的博客:
http://blog.csdn.net/routent/archive/2008/09/06/2892331.aspx
欢迎讨论
2008-09-12 23:47:25作者回复
非常同意
#greenqingqingws 发表于2008-09-22 21:35:03  IP: 210.45.251.*
团队的人数越多,管理难度越大。如果团队成员没有团队协作精神,管理起来就相当复杂。所以我认为团队成员的团队精神和工作能力一样重要。
#greenqingqingws 发表于2008-09-22 21:43:09  IP: 210.45.251.*
"chjl2020:小团队需要管理,大团队需要好的管理.
一些小公司的团队.就那么五六个人.根本就没有管理的概念,"----我不是很同意你的观点。五六个人的团队,同样也需要好的管理,怎么样让这五六个人的能力都发挥出来,是一个很实在的问题。这时就需要一个好的管理方式。

来自:http://blog.csdn.net/adwu73/archive/2008/06/27/2590787.aspx

分类: 软件工程 项目管理 系统架构 软件测试

上一篇:软件工程未来发展趋势   下一篇:软件工程的25条建议