Scrum—官僚者們的游戲

還能愉快的敏捷嗎

(一)

敏捷開(kāi)發(fā),恰如其名,恰當(dāng)?shù)拿艚菽芗ぐl(fā)團(tuán)隊(duì)摧枯拉朽的戰(zhàn)斗力,以迅雷不及掩耳之勢(shì)如破竹的解決掉一個(gè)個(gè)的軟件項(xiàng)目。而Scrum作為一種兼顧計(jì)劃性與靈活性的敏捷開(kāi)發(fā)過(guò)程,簡(jiǎn)直是忽如一夜春風(fēng)來(lái),使得管理者無(wú)人不知無(wú)人不曉,奉為無(wú)字天書,三叩六拜,恨不得立馬進(jìn)行實(shí)踐。

當(dāng)然,敏捷的優(yōu)勢(shì)不在本文的探討范圍之內(nèi),本文就筆者經(jīng)歷的兩家軟件公司,聊聊過(guò)度敏捷、形式敏捷——一場(chǎng)官僚者們的游戲。

(二)

東門慶是一位項(xiàng)目經(jīng)理,他對(duì)Leader畢恭畢敬,堅(jiān)持貫徹Scrum敏捷開(kāi)發(fā)的流程。潘小煉是團(tuán)隊(duì)中是核心程序員,編碼能力強(qiáng),執(zhí)行力強(qiáng)且性格較溫順,吳達(dá)朗是潘小煉的好基友,一名只在乎把任務(wù)完成的程序員。

東門慶在每天的站會(huì)上都要宣導(dǎo)一下這次迭代的目標(biāo),這次版本要在領(lǐng)導(dǎo)面前做演示,非常重要,口若懸河滔滔不絕,一番說(shuō)教下來(lái),程序員們或是呆若木雞,或是埋頭開(kāi)小差,終于,站會(huì)開(kāi)完,潘小煉看了下手表:臥槽,才用了半個(gè)小時(shí),今天效率奇高。

公司采用浮動(dòng)的上班時(shí)間,為照顧大家作息,因此站會(huì)定在10點(diǎn)半,潘小煉喜歡早點(diǎn)來(lái)上班,通常9點(diǎn)就到公司了,離站會(huì)還有一個(gè)半小時(shí),想起昨天有個(gè)業(yè)務(wù)上的問(wèn)題需要問(wèn)下離自己3米遠(yuǎn)的同事吳達(dá)朗,但又轉(zhuǎn)念一想,等會(huì)就開(kāi)站會(huì)了,到時(shí)候再問(wèn)唄。于是約著他一起去蹲馬桶,半個(gè)小時(shí)后,兩個(gè)人一起走出了洗手間。剩下一個(gè)小時(shí),潘小煉打開(kāi)京東,36kr,知乎,Github,開(kāi)始了一天中最愜意的時(shí)光。

10點(diǎn)的時(shí)候,東門慶突然接到通知,要參加一個(gè)短會(huì)議,于是通知整個(gè)團(tuán)隊(duì),將站會(huì)推遲到11點(diǎn)。這種事情已經(jīng)見(jiàn)慣不驚了,站會(huì)的時(shí)間其實(shí)取決于項(xiàng)目經(jīng)理東門慶是否方便,于是,一早上的工作時(shí)間嚴(yán)重的碎片化了。開(kāi)完會(huì)來(lái),東門慶面色凝重,將服務(wù)端、客戶端、QA等跟項(xiàng)目相關(guān)的人員全部召集開(kāi)站會(huì),于是,浩浩蕩蕩的15,16人的站會(huì)……之后便是午飯時(shí)間。

(三)

東門慶身負(fù)與多個(gè)職能部門協(xié)調(diào)的重責(zé),伺候領(lǐng)導(dǎo)和溝通的工作占據(jù)了大部分時(shí)間,自然而然花在業(yè)務(wù)細(xì)節(jié)上和技術(shù)實(shí)現(xiàn)上的時(shí)間就少了,因此迭代計(jì)劃會(huì)成為了他了解業(yè)務(wù)細(xì)節(jié)和技術(shù)實(shí)現(xiàn)的最佳機(jī)會(huì)。潘小煉作為得力干將,一早就根據(jù)需求將產(chǎn)品清單羅列出來(lái),于是,團(tuán)隊(duì)成員不(wu)厭(li)其(tu)煩(cao)的一遍遍重復(fù)的解釋用戶故事和若干技術(shù)細(xì)節(jié),東門慶聽(tīng)明白之后,在他的電腦上,復(fù)制粘貼著用戶故事到思維導(dǎo)圖,于是,團(tuán)隊(duì)成員們對(duì)著投影出來(lái)的墻面,N個(gè)人等待著1個(gè)人,鴉雀無(wú)聲,哈欠連天——迭代計(jì)劃會(huì)向來(lái)冗長(zhǎng)而又枯燥。

什么?團(tuán)隊(duì)估算?撲克牌估算?別開(kāi)玩笑了,我不敢相信任何團(tuán)隊(duì)能一直堅(jiān)持用這種方式來(lái)對(duì)任務(wù)所需要的時(shí)間進(jìn)行評(píng)估,這是敏捷里無(wú)聊、耗時(shí)而矛盾的一個(gè)環(huán)節(jié)。項(xiàng)目總的時(shí)間周期是固定的,所有的任務(wù)都必須壓榨在一定的時(shí)間內(nèi)完成,哪個(gè)項(xiàng)目能根據(jù)程序員的真實(shí)時(shí)間估算而不斷的迭代下去?而且!大家在這個(gè)行業(yè)浸淫這么多年,需要用撲克牌來(lái)達(dá)成共識(shí)?而且?。〖热环Q之為估算,就是不一定準(zhǔn)確的,為何還要達(dá)成一共識(shí)?而且?。。∵_(dá)成共識(shí)了有個(gè)屁用,明天要演示,今天就要做完!

幸好,東門慶還沒(méi)搞清楚撲克牌估算的含義,也搞不明白為什么5后面是8,再后面是13,當(dāng)然,公司也沒(méi)配備Scrum撲克牌,總不能用斗地主的撲克牌來(lái)代替吧。萬(wàn)幸,沒(méi)有這個(gè)環(huán)節(jié)。所有的時(shí)間節(jié)點(diǎn)由潘小煉擬定,然后東門慶敲定。

迭代計(jì)劃向來(lái)漫長(zhǎng),基本上每個(gè)人只能在開(kāi)始一個(gè)小時(shí)左右的時(shí)間集中精力,之后便是思考著如何配合整個(gè)會(huì)議盡快結(jié)束,然后艱難的從會(huì)議狀態(tài)轉(zhuǎn)換為編碼狀態(tài)。

(四)

在互聯(lián)網(wǎng)時(shí)期,大部分項(xiàng)目都沒(méi)有甲方和乙方的關(guān)系,因此沒(méi)有了直接客戶這種概念,那么評(píng)審會(huì)演示給誰(shuí)看?沒(méi)關(guān)系,沒(méi)有用戶可以制造用戶,于是,老板,領(lǐng)導(dǎo)、部門經(jīng)理等成為了演示對(duì)象。

東門慶為了快速出成果,及時(shí)的給領(lǐng)導(dǎo)演示和評(píng)審,讓領(lǐng)導(dǎo)得知自己每周的工作成果,于是將每個(gè)版本的迭代周期縮短成為了一周,很棒的決策,在互聯(lián)網(wǎng)時(shí)期,任何公司的文化里都喜歡加上“快速”、“唯快不破”、“開(kāi)始了嗎已經(jīng)結(jié)束了”之類的價(jià)值觀。

一周時(shí)間里,站會(huì)和站會(huì)引起的時(shí)間碎片+冗長(zhǎng)的迭代會(huì)議+為了演示而花費(fèi)的配置環(huán)境的時(shí)間+演示的時(shí)間+制作文檔+程序員偶爾不舒適的大姨夫時(shí)間+……,試問(wèn),留給程序員的開(kāi)發(fā)時(shí)間有多少?答案是加班。夜里此刻,大洋彼岸的科比正在duang~duang~,而東門慶正在ken~ken的拍照,作為一個(gè)項(xiàng)目經(jīng)理,自然不會(huì)錯(cuò)過(guò)這樣的機(jī)會(huì)發(fā)微信、微博:“深夜,我們可愛(ài)的工程師們?nèi)匀粖^斗在一線,為我們團(tuán)隊(duì)而驕傲,加油,棒棒噠~”,點(diǎn)擊發(fā)送,這個(gè)晚上,微信通訊錄里的領(lǐng)導(dǎo)們睡得十分踏實(shí)。

評(píng)審會(huì)成果斐然,因?yàn)橐粓?chǎng)評(píng)審會(huì)下來(lái),下個(gè)迭代的任務(wù)清單里,會(huì)增加上領(lǐng)導(dǎo)們屁股決定腦袋的十幾條建議,而東門慶全盤接受。

(五)

潘小煉的大局觀較強(qiáng),因此很快的總結(jié)了這一周迭代中做得不到位的地方,也算是一針見(jiàn)血。吳達(dá)朗并沒(méi)有這么好的表達(dá)能力,憋出了內(nèi)傷也無(wú)法憋出關(guān)于本周工作中的優(yōu)缺點(diǎn),只好提出了一個(gè)觀點(diǎn)——這一周內(nèi)蹲馬桶的時(shí)間太久,影響了開(kāi)發(fā)效率。東門慶覺(jué)得這個(gè)觀點(diǎn)提得很到位,對(duì)此還展開(kāi)了半個(gè)小時(shí)的分析和糾正方案,對(duì)上廁所的時(shí)間、姿勢(shì)、廁紙的長(zhǎng)度和厚度都詳細(xì)的進(jìn)行了探討并記錄。

是的,這個(gè)會(huì)議叫反思會(huì),一種無(wú)病呻吟的會(huì)議。

下個(gè)迭代到來(lái)時(shí),反思會(huì)上的內(nèi)容會(huì)習(xí)慣性的遺忘,吳達(dá)朗依舊保持著自己上廁所的習(xí)慣,長(zhǎng)進(jìn)的是他會(huì)在這個(gè)時(shí)間點(diǎn)思考下個(gè)迭代的反思會(huì)要講些什么,從而避免沒(méi)話可講的尷尬。

(六)

公司給大多數(shù)scrum團(tuán)隊(duì)都配備了白板,白板上寫著待開(kāi)發(fā),開(kāi)發(fā)中,開(kāi)發(fā)完成,QA測(cè)試,測(cè)試完成,發(fā)布等幾個(gè)狀態(tài),字跡可謂歪瓜裂棗,并貼滿了五顏六色的寫滿了任務(wù)的卡片,感謝scrum給我們提供了練字的機(jī)會(huì)。站會(huì)中,吳達(dá)朗總會(huì)與QA妹紙就這個(gè)任務(wù)是否能從開(kāi)發(fā)完成切換到測(cè)試完成的狀態(tài)而爭(zhēng)執(zhí)半天,而立場(chǎng)不堅(jiān)定的QA通常會(huì)睜一只眼閉一只眼,但是,大多數(shù)QA原則分明立場(chǎng)堅(jiān)定,于是站會(huì)過(guò)后,往往還有長(zhǎng)時(shí)間的私人PK。

這一切似乎都是合情合理,站會(huì)給了團(tuán)隊(duì)每個(gè)人充分溝通的機(jī)會(huì),也給了每個(gè)人足夠的約束保證每天都有產(chǎn)出,同時(shí)白板上的任務(wù)卡片的狀態(tài)趨勢(shì)也體現(xiàn)著每天的項(xiàng)目進(jìn)度狀況。

工具部門在決策者的授意下,開(kāi)發(fā)了個(gè)Scrum的信息化系統(tǒng),UI,交互都做得很棒,可以在WEB上寫story,可以拖拽任務(wù)的狀態(tài),并且很貼心的定義了格式:“作為一個(gè)【**用戶】,我希望可以【**】,這樣才能【**】,使用者只需要在【】中進(jìn)行遣詞造句就可以完成story,是不是很貼心,很萌萌噠!!

可是,可是,各位大哥大姐,大爺大媽,我們希望通過(guò)短暫的站會(huì)大家互相溝通情況,互相了解彼此的進(jìn)度和進(jìn)行中的業(yè)務(wù),我們已經(jīng)有白板了,我們已經(jīng)寫在紙上了,為什么還要錄入一遍到系統(tǒng)里。錄入到系統(tǒng)里,誰(shuí)會(huì)去看,誰(shuí)TMD天天登陸WEB系統(tǒng)里,去查看彼此的任務(wù)和進(jìn)度?又或者,錄入系統(tǒng)里,要采集數(shù)據(jù),要做大數(shù)據(jù)分析,要證明你這個(gè)團(tuán)隊(duì)作戰(zhàn)能力?

呵呵。

(七)

聊了那么多,還沒(méi)切題。為什么說(shuō)Scrum是官僚者們的游戲?

腹黑而論,Scrum提供了一種思維方式,讓項(xiàng)目經(jīng)理更好約束開(kāi)發(fā)者以及更好伺候上層的思維方式。

第一、站會(huì)無(wú)形中給開(kāi)發(fā)者增加了約束和壓力,每個(gè)人都需要每天有所產(chǎn)出,能在站會(huì)上有所描述,當(dāng)然這一點(diǎn)有利有弊。從成果的角度來(lái)看,一個(gè)三天的任務(wù),第三天能夠完成就OK了,過(guò)程自己安排,但是這樣風(fēng)險(xiǎn)顯然更大點(diǎn)。所以,站會(huì)是管理者對(duì)開(kāi)發(fā)者進(jìn)行監(jiān)控的十分有效的工具。

第二、評(píng)審會(huì)的周期往往兩周一次,更有甚者一周一次,甚至一天一次內(nèi)部評(píng)審。評(píng)審會(huì)提供了一個(gè)很好的機(jī)會(huì),讓項(xiàng)目經(jīng)理展示工作成果的機(jī)會(huì),所謂臺(tái)上一分鐘臺(tái)下十年功,短周期而頻繁的演示,會(huì)讓開(kāi)發(fā)人員花費(fèi)大量的時(shí)間在重復(fù)的環(huán)境配置和調(diào)試演示腳本的工作中。而這部分工作往往以前一個(gè)月只需要做一次或者里程碑事件里才做。

第三、Scrum之下,成果必然不會(huì)差,大部分迭代都能如期進(jìn)行,這是項(xiàng)目經(jīng)理加官進(jìn)爵的有效籌碼。而在這背后,是開(kāi)發(fā)團(tuán)隊(duì)夜以繼日的工作,長(zhǎng)時(shí)間的加班付出。

第四、長(zhǎng)時(shí)間的高壓之下,必然心生抱怨。但是Scrum提供了這樣一套方法論,而且成果卓越,一切似乎理所當(dāng)然,有理有據(jù)之下,似乎抱怨顯得無(wú)理取鬧。

(八)

開(kāi)發(fā)者們經(jīng)歷了很多項(xiàng)目,無(wú)論敏捷與否,往往都能順利的完成項(xiàng)目開(kāi)發(fā)。在這眾多項(xiàng)目中,我們經(jīng)歷過(guò)很多軟件開(kāi)發(fā)模式,每種模式都有其華麗的學(xué)術(shù)名稱,瀑布、原型、迭代、螺旋、敏捷,還有放羊式的。而其實(shí)這些模式最大的區(qū)別,不在于成果,而在于達(dá)成目標(biāo)的過(guò)程的難易程度。

打個(gè)比方,每個(gè)人從家里到公司上班,可以選擇多種方式,比如開(kāi)車,電動(dòng)車或自行車。無(wú)論哪種方式,我們最終都會(huì)在規(guī)定的上班時(shí)間抵達(dá)公司。區(qū)別在于,開(kāi)車可能最快,但是要忍受高峰期堵車。電動(dòng)車靈巧方便,但是要注意安全。自行車最慢,但是強(qiáng)身健體。而使用哪種方式上班,取決于當(dāng)天的路況和我的心情。

所謂的項(xiàng)目管理或者軟件開(kāi)發(fā)模式,我認(rèn)為最大的目的不在于將軟件開(kāi)發(fā)完成,而是如何讓團(tuán)隊(duì)以一種更健康和輕松的方式達(dá)成目標(biāo)。而評(píng)價(jià)什么方式是健康而輕松的唯一標(biāo)準(zhǔn),就是加班的次數(shù)。

所以,請(qǐng)去掉敏捷華麗的外衣:

1.站會(huì)一定要簡(jiǎn)短,時(shí)間一定要固定。

2.迭代計(jì)劃會(huì)之前,核心人員參與分析和計(jì)劃,做好充足的準(zhǔn)備,會(huì)上,其他人傾聽(tīng)和提問(wèn)即可。

3.去掉任何的信息化系統(tǒng),使用白板。

4.請(qǐng)延長(zhǎng)評(píng)審周期,不要太過(guò)頻繁,實(shí)在苦不堪言。

5.若做不到團(tuán)隊(duì)扁平化,有官僚傾向,那就別敏捷了,換其他一種方式。

6.敏捷中會(huì)議的種類很多,開(kāi)會(huì)不是程序員該干的事情。適當(dāng)刪減,以及無(wú)需每次都全員參與,把時(shí)間還給程序員。

7.不要為了敏捷而敏捷,這只是個(gè)方法論,不是放之四海而皆準(zhǔn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容