为什么要敏捷?这个问题可能有很多种答案,既有简单的回答,也有复杂的回答,还可以从多个角度、多个层面来问题这个问题,比如个人、团队、企业和组织分别为什么要敏捷等等。
这里,我想列出几个最基本的原因。
任何软件工程、软件过程改进的目标,有点像奥运口号,无非是 BFC: better, faster and cheaper,还有人提出了 cooler, happier ... 显然,敏捷改进的目的是为了比传统管理和开发方法做得更好、更快、更节省等等,这是我们的基本出发点和判断准则。
敏捷方法的崛起是 20 年来世界软件工程的又一次重大革新也许很多人还没有意识到,敏捷变革(agile transformation)是当前正在进行中的世界软件工程史上又一次重大的 paradigm shift(范式转变)。另一次著名的范式转变发生在上世纪末的八九十年代,也就是大家比较熟悉、公认的由传统结构化编程向新型结构化编程(OO,面向对象)技术的转变。
“敏捷”是一个形容词,“敏捷”也是一种状态,敏捷(如快速应变)能力是所有优秀企业/组织、优秀团队和优秀个人都具有的一种基本特质。因此,不出意料,敏捷软件工程、敏捷过程和方法,也率先被世界上最优秀的一批软件研发领导企业、组织、团队所实践和采用,目前业界熟知的有微软、IBM、Yahoo!、诺西、华为等等。
“敏捷”的一个反义词是“迟钝”,作为个人或组织,不能及时地响应变化,适应变化,代表他已经衰老,不合时宜了。进化论告诉我们,物竞天择,适者生存。历史和未来都将证明,不具有敏捷能力的软件研发组织,迟早会被现代市场竞争所淘汰。
敏捷过程改进是国内中小软件企业和组织提升竞争力的重要手段与整体实力和适应能力更强的大中型企业相比,中小企业通常对项目的时间、成本、风险和利润率等要素更为敏感,经不起几次折腾。
而与传统软件过程、传统管理和开发方法相比,敏捷方法具有以人为本、轻载(lightweight)而灵活、成本低、开销小、效率高、见效快等优点,尤其适合中小软件研发企业或组织的软件过程改进和企业业务流程再造(BPR)。
敏捷方法弥补了 CMM/CMMI、ISO 9001 等体系的不足在过去八年中,我们看到真正的 CMMI 专家一直在研究敏捷,学习和吸收敏捷的长处,出现了 CMMI 主动拥抱敏捷、与敏捷集成或融合的显著趋势。既然 CMMI 要拥抱敏捷,就说明敏捷有 CMMI 所缺少的东西,如此庞大的 CMMI 体系仍然是不全面的。
CMMI 与敏捷并非水火不相容的关系,而是可以相互补充、相互促进的关系。现在人们逐步认识到,没有敏捷度(Agility)考量的成熟是不全面(片面)的成熟。
通过了 CMMI L5 之后,软件研发组织的过程改进向何处去?敏捷过程改进是组织过程持续改进的一个重要和主攻方向。就我个人的经历看,这两年来国内不断有拿到 CMMI 证书的客户和朋友向我打听敏捷改进的事情,征求我的建议,CMMI L3 到 CMMI L5 的企业都有。这的确是一个好现象,相信未来 5 年内这样的 CMMI 组织会更多。
事实上,不论您的软件研发组织、企业已经获得了 ISO 9001 证书,还是 CMM 各级证书,或 CMMI 各级证书,甚至 CMM L5 或 CMMI L5 等各类顶级证书,抑或以上各级、各类证书啥都没有,从提高效率、加强内功的角度看,实施敏捷过程改进,或者参考敏捷方法、敏捷过程模型进行持续过程改进,都是一个非常值得考虑的举措。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/