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

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