【IT168 分析评论】
初探什么是敏捷?
回答这个问题,有一个很简单的办法:到一本权威的现代汉语词典里查一查“敏捷”这个词的含义,或者到一本权威的现代英语词典里查一查什么是 Agile。或者,我们连字典都不用查,运用点小学语文知识,进行拆文解字就可以了。敏捷,无非就是“灵敏”、“快捷”的意思吧,在软件开发中,我们的反应要灵敏,动作要快捷,类似的词语还有:敏锐,便捷,迅捷等等,可以举出不少。
我们认为,敏捷首先应该是指结果,一个软件项目、团队或企业最终达成的结果和状态,而不是什么中间的过程、步骤和做法。我们经常看到一些号称 Agile 的国内项目,按照菜谱、操作指南和教父语录的提示,采用了许多花哨的技巧和实践(做法),是啊,表面上确实 Agile 了,那么结果呢?项目还是不能按时完成,甚至严重超支和超时,这能叫“敏捷”吗?我发觉有一些本土程序员,似乎连中国话也不会说了,他们忘却了一些最根本的东西。
通过分析,可见,敏捷是在建立成熟基础之上的,对个人、项目、团队和企业(组织)提出的更高要求。如果一个“敏捷”项目、团队,“敏捷”的最终结果是连传统的、成熟的软件工程都不如,那么这样的“敏捷”有何用处?敏捷的,必然也是成熟的。当然,张恂也从来不认为,这世界上的绝大部分软件研发团队都只有通过类似 CMMI 这样的标准评估,才能被称之为成熟。成熟的道路有许多条。
其实用咱中国人的话说,什么是敏捷,可以用 4 个字概括:又好又快,或者再精确一点:敏捷就是多快好省。实现这个目标的难度可不小!
为什么要敏捷?
真的有人会反对、讨厌敏捷吗?软件企业的老板、员工、股东和客户,谁会不喜欢“又好又快,多快好省”?显然,就像 5 年前张恂说过的那样,敏捷是一个美丽的词汇,没有一个人会不喜爱它。
所以,真正的问题并不是“我们要不要敏捷?”,而是“我们如何做到敏捷?”。
一家不敏捷的软件企业,软件研发团队,您觉得它会在激烈而残酷的市场竞争中,具有长久的竞争力和生命力吗?怎么可能?
| 第1页: 第1页 |