我们说CMMI是一个复杂的,标准化的,程式化的软件研发过程,是相对比较重的。然而,敏捷,是轻量级的,快速响应的一种所谓高效的研发方式。二者貌似水火不容,但是,也可以牵手成功。
在对于敏捷这件事上,很多人有几个误区:
- 敏捷很快。
这是很多老板想使用敏捷方法做开发的根本初衷,其实并不然。敏捷是一种快速响应的开发方式,所谓的快速响应说的是,尽可能短时间的发布可交付产品增量,以获取用户或客户的反馈。所以,敏捷不是快,而是快速反馈和快速响应,实践过的人都知道,一个项目用传统瀑布方式和敏捷方式,还不一定哪个周期长呢。
- 敏捷就是迭代开发。
敏捷从根本上来说就是一种思想,或者说通过一系列的实践来遵循这些思想的研发过程,敏捷开发过程是迭代的过程不假,但是迭代的不一定就是敏捷,因为敏捷思想是在迭代过程中起关键作用的。
- 敏捷可以节省成本。
敏捷其实很贵,从成本的角度来说,软件开发会用人天成本来核算,也就是说,最大的成本就是人。然而现今的软件开发,已经工种繁复,专业性越来越强。在搭建敏捷软件团队的时候,对团队成员就有相对高的要求,对比传统方法,这些人一定是贵的。再者,因为快速交付和快速反馈,在每个迭代的成果叫做潜在可交付产品增量,既然是潜在的,就有一定的返工或者废弃的风