摘自:
敏捷究竟是什么?敏捷到底是什么?
敏捷是关于以下三件事情的:
1. 最重要的,敏捷是一门社会工程学。这是敏捷最大的特点。它关注的是,如何以一个团队的形式开展工作,如何激励团队成员,如何相互合作等等。
2. 敏捷是轻量级的。RUP完全依赖显性知识,与此不同,敏捷还依赖隐性知识。在RUP中,我们设法把我们认为是最佳的实践记录下来。然而,人们根本不阅读关于开发过程方面的书,写下这些书也就毫无意义了。相反,敏捷认为,只要有掌握足够知识的人,就可以开发出优秀的软件。当然,这个观点倍受质疑,但是事实的确如此。
3. 敏捷提供技术实践。这其实是敏捷中贡献最微弱的部分。它所提供的技术实践几乎没有包括新技术。迭代与增量式开发,都是存在很久的观点。用户故事,则是某种特殊类型的简化版用例。最为有趣的新想法就是测试驱动的开发。我并不是说敏捷技术实践毫无价值,而只是强调,如果它仅仅就是这些内容的话,我们就不会为敏捷如此痴迷了。
软件工程与敏捷抓住了软件开发的不同方面。软件工程的强处在于技术性实践;而敏捷的优势则是社会工程。
(个人认为:软件工程是心中有招,而敏捷是无招胜有招。)