30 August 2013

说到时下流行的敏捷开发,我想很多人都听说过,既然说到这,不得不提那著名的敏捷宣言。记得有一次参加一场宣讲会,被问到敏捷宣言都有哪些,我没能答上一条,实在羞愧。

那么我们来看看敏捷宣言到底是什么:

  • 个体和交互胜过过程和工具。
  • 可工作的软件胜过面面俱到的文件。
  • 客户协作胜过合同谈判。
  • 相应变化胜过遵循计划。

看起来似乎很高级,但是还是不懂什么是敏捷开发。那么我来问问你,提到“敏捷”你能联想到什么?可能是瘦小的速度奇快的刺客。没错,敏捷开发也体现了这种特点,一是小,二是快。

敏捷开发是一种把以人为本,团队合作,快速响应变化和可工作软件作为宗旨的开发方法,是在一个高度协作的环境中,不断的使用反馈进行自我调整和完善(来自《高效程序员的45个习惯》)。其实,这种方法的思想就像是把一个大问题分解为若干小问题,逐一击破。

敏捷开发需要一个小型团队,大家一起工作。程序员们不断从自己写的代码中得到反馈,并且使用自动化工具不断地构建和测试系统。工作方式采取迭代增量式。

“小”体现在团队的规模要小,迭代开发的时间要短(小)等等。“快”体现在反馈速度要快,测试要快,一起协作工作要快,一切能够使反应加速的地方都要快。

不同于以往瀑布式开发方式,敏捷开发中,程序员需要在很短的迭代时间里采取增量式完成一小部分开发任务,在这个迭代时间段中,需要不断的编码,测试,编译等等。下一个迭代时间,增加新的功能,重复上面这些过程。这些迭代过程中,要确保程序是可以使用的,以方便随时提交发布。这种方法就像刚才“刺客”的比喻一样,灵活、迅速。有问题马上发现并解决,代码的质量得到了很高的保证。

敏捷开发的细节有很多,在此不过多叙述,如果感兴趣,请阅读《高效程序员的45个习惯》。这里我写了一篇关于此书的书评:《几十块买来这么多宝贵的经验你还不知足?》



blog comments powered by Disqus