現(xiàn)在在網(wǎng)上看文章,貌似不敏捷就落伍了。公司內(nèi)部各team在show off的時(shí)候也是大談如何從瀑布走向敏捷,貌似一敏捷就藥到病除。最近在coolshell的blog上看到一篇老文“再談敏捷和ThoughtWorks中國咨詢師”,頓感心有戚戚焉。現(xiàn)在就結(jié)合我這里的具體項(xiàng)目談?wù)勈裁礃拥捻?xiàng)目適合做敏捷以及如何做好敏捷開發(fā)。
PS: 哥雖然有Scrum Master的證書但還是反對(duì)什么都往敏捷頭上套。
公司之所以選擇這個(gè)項(xiàng)目進(jìn)行Scrum試點(diǎn)有如下幾個(gè)原因:
現(xiàn)在Scrum正式開始了,但是我在這里要問一句我們開發(fā)軟件的目的是什么?這個(gè)還要問嗎?不就是為了發(fā)行后賺錢嗎!帶著這個(gè)問題,我們美國的項(xiàng)目經(jīng)理我們準(zhǔn)備什么時(shí)候發(fā)行?哥承認(rèn)被shock了,那位大哥的回答是:我們現(xiàn)在開始敏捷了,一個(gè)sprint接一個(gè)sprint做,啥時(shí)干完啥時(shí)發(fā)行。好吧,幸虧這個(gè)項(xiàng)目的測試不是哥直接負(fù)責(zé),你愛咋地咋地。(其實(shí)哥是對(duì)自己手下的兄弟有信心,真要做砸了我們估計(jì)還能成為僅有的亮點(diǎn)。)
帶著同志們的祝福,項(xiàng)目開始了。每個(gè)sprint不管3721只要產(chǎn)品經(jīng)理腦袋一拍,一堆需求就塞進(jìn)來了。開發(fā)看著只有一句話描述的需求面對(duì)的回復(fù)是:現(xiàn)在是敏捷開發(fā)了,要多溝通少文檔。溝你妹??!一個(gè)在中國,一個(gè)在美國,郵件溝通一來一去一天就沒有了。電話?是你熬夜呢還是我黎明即起?3周一個(gè)sprint,光把需求搞明白就一周去掉了,然后做啊做啊,還有2天sprint就要結(jié)束了,可是突然一看任務(wù)列表,50個(gè)只完成了30個(gè),怎么辦?根據(jù)Scrum的教條,sprint是不能延期的,那么做不完的就踢到下一個(gè)sprint去好了,反正沒有發(fā)行日期,慢慢做好了。嗯,很好,這個(gè)sprint我們順利完成了35個(gè)任務(wù)!做啊做啊,3個(gè)月過去了,產(chǎn)品經(jīng)理看看幾個(gè)大功能也有模有樣了,很好,我們宣布某某新版本順利發(fā)行?。?!(先開槍再畫圈,很好很強(qiáng)大!)
顯然這樣的敏捷開發(fā)是不能讓高層滿意的,大家坐下來總結(jié)經(jīng)驗(yàn)教訓(xùn),推出了2.0版,更新如下:
這些改動(dòng),3456點(diǎn)都是對(duì)項(xiàng)目整體有利的。第1點(diǎn)帶來的問題是如果開發(fā)工作稍有延誤,留給測試的空間就十分有限了。第2點(diǎn)則喜憂參半,好處是上海團(tuán)隊(duì)有了更大的自主權(quán),壞處是測試開發(fā)比嚴(yán)重不足。因?yàn)樯虾5臏y試leader要兼任Scrum master,所以測試和開發(fā)是2.5比7,而美國的測試和開發(fā)則是4比6。不過考慮到本地測試生產(chǎn)率高于美國,而且開發(fā)也愿意擠出時(shí)間來幫助測試執(zhí)行測試用例,在2個(gè)sprint之后,上海團(tuán)隊(duì)表現(xiàn)良好,而美國團(tuán)隊(duì)依然落后于進(jìn)度。
雖然2.0版的Scrum比起1.0版大有進(jìn)步,但是依然存在以下幾個(gè)問題:
雖然還是有種種問題,但好歹是穩(wěn)步前進(jìn)了。周期恢復(fù)到三個(gè)星期,人手不夠開始招實(shí)習(xí)生,自動(dòng)化測試沒時(shí)間做那么就上線后集中拉一段時(shí)間補(bǔ)課。
通過近半年的Scrum實(shí)踐,我總結(jié)了一些經(jīng)驗(yàn)和大家分享一下:
聯(lián)系客服