真正接触敏捷开发也有两年了,由于不太喜欢那种按部就班的工作方法,觉得瀑布模型太臃肿,CMMI太繁琐。所以一直在寻找一种更加灵活的方法,当我们在项目中真正使用到了Scrum这种敏捷开发框架,突然发现事情原来是可以这么做的。
那么敏捷方法论到底是个什么玩意?经过与不同的人讨论敏捷,我发现大致有以下这些理解,或者叫偏见:
1) 敏捷就是不需要流程,不需要文档,开发人员看着做就行了……
2) 敏捷就是XP,敏捷就是测试先行,测试驱动开发……
3) 敏捷就是抛弃瀑布模型,抛弃CMMI,抛弃文档和设计,随需应变……
4) 敏捷就是无组织,无纪律,所以我们不需要……
5) 只听说过敏捷开发,没听说过敏捷测试,还有敏捷管理?
6) 只要一帮聪明的人聚在一起,项目就敏捷了,我们需要聪明的人…….
7) 敏捷就是拥抱变化,加强沟通……
8) 敏捷就是灵活使用工具,只要是轻量级的东西,都可以叫敏捷……
正是由于这样的一种现状,才让我深深地感觉得敏捷这个东西太虚,只限于一个概念,大部分人可能还是摸不着头脑,只是有一些片面的了解而已。所以,AgijeJoy有必要使用中国式的语言来传播这样一种方法,使我们本来就不先进的软件行业不要再被一些累赘所拖累,敏捷起来。
那么敏捷到底是什么?如果用一句话来概括的话就是:你感觉你每天真正是在做事了,而不是在为文档和流程疲于奔命。基本上不论XP还是Scrum还是其它框架,都离不开如下一些要点:
1) 简化流程,切切实实地简化,把能去掉的全去掉
2) 简化文档,所有的文档只应该包括客户需要的
3) 简化产品设计,要想使开发和测试过程变得敏捷,产品自己在架构和设计上首先得自己足够敏捷
4) 使用各类成熟的轻量级的框架和工具来开发和测试产品,注意是轻量级的
5) 让项目组全体成员坐在一起,相互讨论,声音可以很大
6) 充分授权,充分奖励,让团队充满活力而不是死气沉沉
7) 沟通,沟通,沟通……
归根结底,“敏捷”本身只是一个概念,只是一种方法论,就像我党“要始终高举社会主义建设伟大旗帜,坚持三个代表,坚持解放思想,………”,这也是一种方法论,而究竟怎么能做到?怎么样才算做到了?答案有很多种,但是最终还是一个原则,确保我们的项目按时按量成功完成。(以上言论仅代表作者的个人观点,不代表51Testing观点)
推荐阅读: