在實際情況下, 有許多號稱敏捷的項目好像也敏捷不到那里去 (這兩天在博客園看到的 例子1, 例子2, 例子3)。 要記住, 有許多最佳實踐在各個開發方式下都在使用, 所以各個開發方式并不是井水不犯河水, 老死不相往來的那種關系.
問: 敏捷難道不是通吃一切的? 你列這個表, 好像沒有給敏捷應得的名分呀?
答: 我酒后的見解就是這樣。 比如有穿全套制服, 開警車出行的警察; 也有很多便衣警察; 他們各有最佳的適用范圍,對吧? 如果你覺得便衣的名分沒得到, 給他們統一打扮起來, 就成了下面的情況:
名分是有了, 但是他們的最佳適用范圍呢?
問: 聽說有大寫的愛腳兒, 和小寫的腳兒之分?
答: 有的, 有些激動的人士把敏捷當作一種宗教, 所以大寫 Agile; 另一些人只是把敏捷當作一個形容詞, 所以小寫 agile.
"we follow an agile process" 一般指團隊的流程比較靈活。 "we follow the Agile process" 指按照官方敏捷流程的教義開展工作。 當敏捷變成了宗教, 你說它還會敏捷么? 當實事求是的做法和教條發生了沖突, 你怎么辦呢?
舉個例子, 果凍晚飯吃了 “小蔥拌豆腐”, 這是歷史悠久的一道素菜。
果凍的朋友不會說-
哇, 這不是最近某大師推薦的么? 你成了他的粉絲?你要吃素?! 你要做和尚么? 有什么想不開的?
我們不要把一些 “有益健康的飲食”和 “投靠某大師/宗教的教義”混淆起來。 當然, 有些大師希望把天下每一道素菜都當作自己首創的, 這另當別論。 如果有人說 - 有些人不適合吃小蔥拌豆腐 (例如痛風病人)。 你可以想象有狂熱者反駁 - 你難道說豆腐不好? 你有沒有搞錯? 你們看到現在吃豆腐多么流行!這么多吃豆腐的人都錯了么?!
半年前果凍還經常吃生的茄子呢, 那滋味怎么樣 。。。 哦, 扯遠了, 我們是在聊什么? 哦, 愛嬌娥, 愛腳兒…
回到敏捷 (agile) , 它是一個形容詞, 不是一個東西, 它修飾的是做事情的方式,不是這事情本身。 所以“敏捷”需要一個動作的執行者和一個動作。 光說“敏捷好”是沒有用的。
問: 我怕宗教,那么如何分清原教旨主義的愛腳兒, 和把愛腳兒當作實踐工具的人士?
答: 很簡單, 你有禮貌地問對方: 敏捷方法有不適用的場合么? 然后冷靜觀察對方的回答和表情, 就可以了. 必要的時候要準備好逃跑的路線。
問: 現在俺們村里有很多發傳單, 推廣敏捷培訓的人士, 他們是哪一種?
答: 他們是賣東西的,掙錢不容易, 我們不必擋別人的財路。無語微笑, 避免過多目光接觸, 走自己的路即可。
問: 要敏捷的話, 是不是手頭用慣了的工具都不能用了?
答: 那倒未必, 有很多工具支持敏捷的方法論, 例如 微軟的 Visual Studio Team System 就支持 Agile 的方法論 (叫 msf-agile)。 它也有自己的一套方法論 - 以前我們不是有一個 白話MSF 的討論么?
有理論而沒有工具, 那理論也是白扯
有工具而不懂理論, 那工具不能發揮最大作用
問: 敏捷的思想是不是能指導軟件開發以外的工作?
答: 當然可以, 例如把下面文章的某某思想換成 敏捷思想, 也是能講得通, 你看那pair-programming 的兩個妙齡少女身手多么敏捷!
問: 我想敏捷,但是項目的期限不能往后拖, 敏捷能幫我早日完成任務么?
答: 敏捷不是萬能的。 敏捷的方法能幫助你更早地知道你是否能如期完成任務, 僅此而已。 敏捷的方法(迭代的方式)能幫你盡快讓用戶看到項目的 部分 價值。 當你盡早交付 部分 價值的時候, 也許用戶對你目前交付的東西已經很滿意了,這樣你就不用再花時間來實現其它事情。 另一種可能是, 用戶看到了部分系統,他們有新的需求,這樣你就可以實現新的需求,而不用再浪費時間實現過時的需求了.
原文轉自:http://www.anti-gravitydesign.com