Scrum不是銀彈专钉,更不是靈丹妙藥雀监。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? –《Scrum精髓 — 敏捷轉(zhuǎn)型指南》
Scrum是一個(gè)框架立哑,一種用于小團(tuán)隊(duì)開發(fā)的方法論麻削,類比說來致讥,這玩意和軟件開發(fā)中的框架可以做個(gè)比較憎瘸,比如Angular富岳,開發(fā)中一定要用嗎蛔糯?你當(dāng)然可以不用,夠?qū)拍懵銓慾s都行(得到的結(jié)果還可能更好)城瞎,但如果你不是那么屌渤闷,于開發(fā)效率和代碼可維護(hù)性來說,在個(gè)人成長的初期脖镀,套用一些前人思考過的模板飒箭,照葫蘆畫瓢,然后通過總結(jié)和反思蜒灰,把自己的東西加上去弦蹂,慢慢形成自己的方法論。我想這無論于軟件開發(fā)强窖,還是團(tuán)隊(duì)架構(gòu)凸椿,都是一條比較正確的道路。
這不是一篇介紹Scrum的文章翅溺,市面上介紹Scrum的文章多如牛毛脑漫,但如果不去踐行,往往看不下去咙崎,因?yàn)槎际莌igh-level的東西优幸,沒有實(shí)踐永遠(yuǎn)沒有體會(huì)。這里我只想講講實(shí)習(xí)以來褪猛,Scrum在我們團(tuán)隊(duì)的應(yīng)用网杆,以及個(gè)人的一些反思。
Scrum如何應(yīng)用于我們團(tuán)隊(duì)
Scrum中有三種角色– Product Owner(產(chǎn)品負(fù)責(zé)人伊滋,下稱“PO”)碳却,ScrumMaster以及開發(fā)團(tuán)隊(duì)。對應(yīng)于產(chǎn)品的開發(fā)工作笑旺,其內(nèi)容和流程大概是下面這張圖(除了產(chǎn)品內(nèi)部評審->預(yù)評審->驗(yàn)收->需求評審這一條時(shí)間線昼浦,其余工作沒有明確的時(shí)間先后順序):
具體到我們團(tuán)隊(duì)來說,我們開發(fā)小組由3位前端筒主,3位后端座柱,2位產(chǎn)品迷帜,1位測試和1位組長共10人組成。上述中的驗(yàn)收回顧會(huì)議色洞,需求評審會(huì)議以及每日站立晨會(huì),如果沒有特殊情況冠胯,這10個(gè)人都是需要參加的火诸。
我們小組以一周為迭代周期,也就是說上面的流程每一周就會(huì)走一遍荠察。更具體來說置蜀,周二上午需求評審(PO說明這周做什么,并且評定用戶故事的故事點(diǎn)和開發(fā)時(shí)間)悉盆,之后開發(fā)接用戶故事去做盯荤,開發(fā)完成后給到測試,測試測完覺得沒問題就把用戶故事給組長(否則打回)焕盟,組長review過代碼后告知PO秋秤,PO確認(rèn)所有任務(wù)后,就可以把代碼合并了脚翘。周一由PO主導(dǎo)驗(yàn)收和回顧灼卢,順利驗(yàn)收后周二進(jìn)入下一個(gè)迭代±磁總的說來鞋真,因?yàn)樽龅氖且粋€(gè)較新的領(lǐng)域,不斷會(huì)有醫(yī)院的需求加進(jìn)來沃于,所謂“小步快跑”涩咖,這樣小的迭代也是為了保證用戶爽。
有人可能已經(jīng)注意到了繁莹,我們團(tuán)隊(duì)中沒有ScrumMaster這個(gè)角色檩互,這也是我們團(tuán)隊(duì)中欠缺的部分。我剛來時(shí)以為組長是代表ScrumMaster的蒋困,后來發(fā)現(xiàn)組長完全是代表開發(fā)團(tuán)隊(duì)的利益盾似,而不是如很多教程中寫的ScrumMaster的角色。用項(xiàng)目經(jīng)理的話來說雪标,這也是Scrum在我們團(tuán)隊(duì)中踐行得不太好的一個(gè)因素零院。
我(PO)的工作
PO在我們的產(chǎn)品中就是產(chǎn)品經(jīng)理的角色,也就是我實(shí)習(xí)的角色村刨。PO的具體工作內(nèi)容是什么呢告抄?簡短說來就是上面那張圖我標(biāo)紅的部分。
對于一個(gè)PO來說嵌牺,我每周的工作大概是這樣的:
周一驗(yàn)收本次迭代完成的內(nèi)容打洼,主導(dǎo)驗(yàn)收回顧會(huì)議(所有開發(fā)人員都會(huì)參加)龄糊;
周二開評審會(huì)議(所有開發(fā)人員均參加),評定故事點(diǎn)募疮,測試時(shí)間炫惩,和開發(fā)溝通并確認(rèn)本次迭代的開發(fā)細(xì)節(jié);
周三或周四開預(yù)評審會(huì)議(各開發(fā)總監(jiān)和本組開發(fā)組長均參加)阿浓,主要是評定某個(gè)需求技術(shù)上是否可行他嚷;
周五開內(nèi)部評審會(huì)議(所有產(chǎn)品參加),主要是評定某個(gè)需求是否有做的價(jià)值和排列需求的優(yōu)先級芭毙;
其余時(shí)間在準(zhǔn)備用戶故事筋蓖,和開發(fā)人員溝通需求細(xì)節(jié),參加每日站立晨會(huì)退敦,下班前驗(yàn)收開發(fā)人員的工作粘咖,當(dāng)然還有學(xué)習(xí)~~~
哪些地方可以優(yōu)化
于開發(fā)團(tuán)隊(duì)來說(單指我們10人的小組),整個(gè)內(nèi)部踐行這種Scrum還算比較順利的侈百,但個(gè)人感覺無論于團(tuán)隊(duì)還是個(gè)人瓮下,都是有很多可以優(yōu)化的部分的。對團(tuán)隊(duì)來說设哗,主要表現(xiàn)在下面三個(gè)方面:
第一是由于我們有兩個(gè)PO唱捣,迭代是輪值的,這樣會(huì)導(dǎo)致一個(gè)問題–兩個(gè)PO需要保持很順暢的交流和對產(chǎn)品方向的高度一致网梢,否則對產(chǎn)品的方向把握會(huì)產(chǎn)生問題震缭,這或多或少會(huì)產(chǎn)生一些溝通上的問題或額外成本–比如我這個(gè)任務(wù)做不完,扔你的迭代做還是到下次再輪到我再做战虏?這個(gè)我想這周做的拣宰,臥槽你怎么做了?當(dāng)然這些問題都是因?yàn)闇贤ú豁槍?dǎo)致的烦感,如果產(chǎn)生這些問題只能說明PO的工作沒做到位巡社。
第二是如上述所說,我們沒有ScrumMaster手趣,而ScrumMaster是Scrum中一個(gè)很基本的職位晌该。但翻看所有Scrum教程,ScrumMaster是一個(gè)有點(diǎn)“虛”的職位–保證項(xiàng)目推進(jìn)過程中免受干擾绿渣,保證項(xiàng)目的推進(jìn)效率… …這些都很重要朝群,但是不是需要單獨(dú)有一個(gè)人來做這件事呢?他又能怎么做呢中符?很少有書講清楚這件事姜胖,這也是我最近在思考的問題。
第三是流程監(jiān)控淀散,每日晨會(huì)和當(dāng)日驗(yàn)收是每次迭代中非常重要的部分右莱,但如果控制得不好蚜锨,很容易變得非常水–比如晨會(huì)上“我昨天在掰棒子,今天打算掰棒子慢蜓,沒遇到啥問題”亚再,“今天就掰了下棒子吧,下班了”胀瞪。我們把“掰棒子”換成工作內(nèi)容针余,很可能就是開發(fā)人員所說的全部內(nèi)容了。而開發(fā)人員有些敷衍的做法背后的原因很簡單–你一個(gè)產(chǎn)品知道這些又沒辦法幫我解決問題凄诞,我遇到問題肯定找其他開發(fā)解決啊忍级!這樣就導(dǎo)致這兩項(xiàng)工作很流于形式了帆谍,傳遞的信息量非常少,價(jià)值也有限轴咱。
有了對團(tuán)隊(duì)問題的反思汛蝙,我接下來想講講我個(gè)人反思的幾點(diǎn):
第一,于我個(gè)人的性格來說朴肺,我不是那種很熱情去溝通的人窖剑。比如團(tuán)隊(duì)另一位PO經(jīng)常會(huì)下午大聲提醒大家訂飯,這種事情我做肯定比較尷尬… …但這是不是說我就做不好一個(gè)PO了呢戈稿?我想也不是這樣西土,首先我們必須明確PO的目的是促進(jìn)產(chǎn)品的推進(jìn)和溝通的順暢,只要開發(fā)人員都明晰開發(fā)細(xì)節(jié)鞍盗,各環(huán)節(jié)的溝通都到位了需了,PO的任務(wù)就可以算履行得比較好了。至于與開發(fā)建立深厚的私交般甲,這些都是bonus option了肋乍。當(dāng)然這我會(huì)盡量注意,免得大家覺得我是個(gè)迂腐而不喜歡交流的人~~逃(>_<)
第二點(diǎn)來說敷存,由于我們沒有ScrumMaster墓造,那么我PO能不能來承擔(dān)這個(gè)職責(zé)呢?答案也是否定的锚烦。PO和ScrumMaster是代表不同的利益場的觅闽,PO要保證產(chǎn)品的及時(shí)發(fā)布,更多讓用戶爽挽牢。而ScrumMaster要保證開發(fā)內(nèi)部的順暢溝通和效率谱煤,更多讓開發(fā)爽。一個(gè)人能同時(shí)做好這兩件事禽拔,要么他是人際關(guān)系協(xié)調(diào)的高手刘离,要么他就是人格分裂… ….
第三點(diǎn)的話室叉,作為PO,應(yīng)該對產(chǎn)品有更高的責(zé)任感硫惕,這點(diǎn)我確實(shí)是做得不夠好的茧痕。其實(shí)PO這個(gè)角色其實(shí)挺有意思的,作為產(chǎn)品負(fù)責(zé)人恼除,他應(yīng)該管理產(chǎn)品的方方面面踪旷,這一點(diǎn)有點(diǎn)像一個(gè)工程的包工頭,而手下的工人則是實(shí)現(xiàn)工程細(xì)節(jié)的人豁辉,于一般的工程來說令野,這是一種上下級的關(guān)系。而對應(yīng)于Scrum軟件開發(fā)來說徽级,PO和開發(fā)人員是平級的气破,大家共同致力于打造好的產(chǎn)品,但負(fù)責(zé)的卻是PO餐抢。相信大家已經(jīng)看出來了现使,這是一種微妙的關(guān)系,如何處理真是一門哲學(xué)旷痕。
總結(jié)
還是那句話碳锈,Scrum只是一個(gè)框架和方法論,沒有對錯(cuò)可言欺抗。如果一個(gè)團(tuán)隊(duì)的人能貫穿前后端售碳,走通產(chǎn)品線,大多數(shù)事情能自己動(dòng)手搞定佩迟,那我覺得這樣的團(tuán)隊(duì)都不需要什么框架团滥,一流人才自然能打造一流產(chǎn)品。不過在自己牛逼之前报强,還是先模仿灸姊,上升到技能,再慢慢培養(yǎng)成本能吧秉溉。
“沒學(xué)會(huì)走想學(xué)跑從來不是問題力惯,先問問自己是不是天才,如果不是召嘶,就要一步一步來父晶。” ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?–《寒戰(zhàn)2》