敏捷开发, 谁不会呀, 不就是
没文档, 出活快, 用户说啥都能改?
下面是一个笑话, 王屋村的大牛说 -
我最近转手接了一个活, 完事能挣四五万, 我拿过图纸一看, 不就是盖一烟囱吗? 我们是敏捷 (Agile) 的团队,要文档作甚? 马上开始干活!
都快盖好了, 客户来检查,把我打了一顿!我冤枉啊!
原来, 图纸看倒了,人家让挖口井。
不过, 我们是敏捷的团队, 被客户打了也要拥抱变化, 好不容易砌好的烟囱不能这么废了, 要不断重构, 代码重用。 于是我们在地上挖了一个大坑, 然后把重构后的烟囱强力插入, 终于把这口 “井”做好了!
我在《现代软件工程》这门课上讲到了敏捷开发流程, 其中内容比“没文档, 出活快, 用户说啥都能改” 要多得多。
下面把敏捷宣言网页中提到的大意转述如下:
现有的做法 |
敏捷的做法 |
流程和工具 |
个人和交流 |
完备的文档 |
可用的软件 |
为合同谈判 |
与客户合作 |
执行原定计划 |
响应变化 |
我们认同“现有的做法”有其价值, 但是我们更倾向于“敏捷的做法”。
关于敏捷软件开发的 12 条原则, 仁者见仁, 智者见智. 我的翻译在这里。