9大理由戲說為什么Scrum不行
這篇文章的原文在這里(原文鏈接)(下文不是全譯,也不是部分譯,我只是把其總結,有我自己的發揮,但是原意大致不變),這篇文章完全是在調侃Scrum的,作者第一段就是一個免費聲明,其說他是Scrum和其它敏捷方法的big fan, 他也認為Scrum 100% 對 軟件開發可行。作者使用Scrum 5年了,也公開作過幾次敏捷的分享會。他覺得寫這篇文章只是為了好玩,因為他們帶上Edward de Bono 的 black hat (黑禮帽 – 是6個思考之帽中的一種——負面思考,思考事物的負面因素,這樣才知道:它會起作用嗎?缺點是什么?它有什么問題?為什么不能做。)
因為本人經常站在Agile的風口浪尖,所以我有必要也來一個“免責聲明”。Shit!其實我想來的是“不免責聲明” ——下文中的九大原因是對中國的各種Agile實踐者咨詢師不注重實際只重方法論的批判,本人必然要和那種只以流程方法論為中心的軟件開發斗爭到底。其實我沒有那么囂張,我只是想說,下面的這些東西相當的現實。希望各種Scrum的實踐者們認識到這些問題,從而可以讓你們明白軟件開發中的人的重要性。
Reason 1: Scrum 的基石是相信人。創造一個安全的環境,這樣每個人都能相互學習,相互直言。但是,這是不行的,這世上有很多人并不關心這些,而且政治和競爭到處都是,辦公室里無小事,你和別人交心,你相信他們,最終受傷的你自己。你真的以為那里有空間讓你可以去犯錯,去冒險嗎?別天真了!你啊,too young, too simple, sometimes naive!
Reason 2: Scrum 認為只要給員工足夠多的自由員工就能做得最好。這該死是理論是基于什么玩意?不可能,人的天性是懶惰的,他們才不會把事做好的,他們只會做相應報酬的工作量,還可能基本還達不到其相應的報酬,誰不想混日子啊。尤其是和經理比起來,誰不想能盡快地成為經理或Team leader啊,因為那樣他們就可以即不干活,又掙得多。另外,你給他們自由,你就會發現,他們會只會做他們感興趣的事,要么聊QQ,要么打游戲,看閑書,反正不干正事。直到你催了,他們才動一動。
Reason 3: 因為前面的原因,所以,我們仍然要把一個PM放在Scrum團隊的上面做管理,這樣才會有產出。于是,PM給團隊分配任何,管得細枝末節,事無巨細,天天讓你做進度匯報,等等。直至把團隊拖垮。
Reason 4: Scrum 只不過是一個流程。這世上有太多的流程,尤其是那那些操CMMi的公司。幾乎所有玩CMMi流程的公司,你都能看到的是員工都是那一副副苦逼的臉。所以,Scrum的流程同樣會這樣。因為這些都不是開發團隊自發出來的,而是上面管你喜歡不喜歡按給你的。 Scrum 根本不可能增進你的軟件質量和技術,只能是優秀的人才才可能!使用Scrum的公司都是些吝嗇鬼,他們不愿花大錢招優秀的人,他們妄圖使用Scrum這種東西讓現有的這些廉價勞動力發揮更大的生產效率,Scrum成了push程序員最有用的工具。
Reason 5: Scrum delivers ‘business value’。不是這樣的,實際上,Scrum不可能。這有很多原因。真正了解業務的那幫人根本不可能加入項目團隊,那些人誰TMD愿意和苦逼的技術人員加班啊。 那些人喜歡和我們的用戶吃吃喝喝,花天酒地的,根本不會和你們那些奇怪的東西(如:backlog)或是那堆ugly的內向古怪的技術人員打交道,更別說什么技術了。所以,你的團隊就像一個客服團隊或救火隊一樣疲于奔命。
Reason 6: 一個敏捷的團隊應該是持續進步的。這就是為什么Scrum總是在問什么干得好,什么需要改進,并定義行動方案。你真的以為員工想進步嗎?讓他們不得不去想想自己和團隊怎么進步,然后他們還不得不去執行行動方案。別天真了,人的天性是不喜歡改變的,人的天性是習慣于一些按部就般的事的,也許那樣做令人討厭,但是人家還是能干出來。如果你逼著人家改變,你就是在壓迫人家,人家自然會反抗。
Reason 7: Product Owner 專注于 ‘what’ 和 ‘why’ 的問題,開發團隊決定 ‘how’。很不錯的分工,于是可以造就一個即高速有重質量的團隊。然而,這根本不行。你的Product Owner馬上就想要這個功能,他才不管你的軟件開發的技術難題,人家只要快,要你meet deadline,要你給我們重要的客戶做出承諾。另外,你千萬不要以為你們可以哄走這個初級的product owner,因為他的后臺是直接匯報到高層管理。你作為一個程序員可能只是其個小部門的一個小嘍啰,或者只是外包公司,你覺得可能嗎?你覺得建立信任可能嗎?
Reason 8: 軟件質量和生產率成正比。也就是說,質量越高,生產率越高。如果質量不高,你開發效率就會低下,但是誰管呢?我們朝九晚五的上班,質量好了也是做8小時,質量差了也是做8小時,無所為嘛。另外,我們的 project manager (或者是Scrum master!) 總是會批評我們沒有按計劃完成。所以,這根本 不可能。
Reason 9: “是的,如果我們只做需要的功能,那么我們就會最低的成本,對嗎?”,為什么這世上總是會有這些幼稚的人?這種事怎么可能啊。很多很多的銀行或保險公司的項目在你還沒有啟動項目前就談好了一個價格(可能還會有回扣),為了打單子,銷售什么都干得出來,讓你去做項目是因為你是廉價勞動力,而且,他們會不斷地加需求,因為軟件合同談好的價格時候,連需求都沒有,你去做了才有,還是模糊和不確定或根本就是錯的,然后需求是越來越多,越改越多。等你精疲力盡的時候,你才意識到,銷售早就把你賣了。

爽啊,戴著黑禮帽思考問題比我想像中的要有趣得多,現在我必需要把它摘下來了。
看完這篇文章,你覺得是人的問題還是軟件開發方法的問題?
原文:http://coolshell.cn/articles/5044.html
【編輯推薦】