qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          敏捷開發(fā)的一些體會

           現(xiàn)在在網(wǎng)上看文章,貌似不敏捷就 落伍了。公司內(nèi)部各team在show off的時候也是大談如何從瀑布走向敏捷,貌似一敏捷就藥到病除。最近在coolshell的blog上看到一篇老文“再談敏捷和 ThoughtWorks中國咨詢師”,頓感心有戚戚焉。現(xiàn)在就結(jié)合我這里的具體項目談?wù)勈裁礃拥捻椖窟m合做敏捷以及如何做好敏捷開發(fā)。

            PS:哥雖然有Scrum Master的證書但還是反對什么都往敏捷頭上套。

            公司之所以選擇這個項目進(jìn)行Scrum試點有如下幾個原因:

            1、上一個版本原計劃半年結(jié)果做了1年,公司近三分之一的開發(fā)和測試資源砸了上去。

            2、需求頻繁變化,產(chǎn)品經(jīng)理和開發(fā)測試人員相互扯皮。

            3、產(chǎn)品倉促上線,大量功能未經(jīng)充分測試。

            4、新上任的工程總監(jiān)是敏捷開發(fā)愛好者,正好拿此項目開刀。

             現(xiàn)在Scrum正式開始了,但是我在這里要問一句我們開發(fā)軟件的目的是什么?這個還要問嗎?不就是為了發(fā)行后賺錢嗎!帶著這個問題,我們美國的項目經(jīng)理 我們準(zhǔn)備什么時候發(fā)行?哥承認(rèn)被shock了,那位大哥的回答是:我們現(xiàn)在開始敏捷了,一個sprint接一個sprint做,啥時干完啥時發(fā)行。好吧, 幸虧這個項目的測試不是哥直接負(fù)責(zé),你愛咋地咋地。(其實哥是對自己手下的兄弟有信心,真要做砸了我們估計還能成為僅有的亮點。)

            帶著 同志們的祝福,項目開始了。每個sprint不管3721只要產(chǎn)品經(jīng)理腦袋一拍,一堆需求就塞進(jìn)來了。開發(fā)看著只有一句話描述的需求面對的回復(fù)是:現(xiàn)在是 敏捷開發(fā)了,要多溝通少文檔。溝你妹啊!一個在中國,一個在美國,郵件溝通一來一去一天就沒有了。電話?是你熬夜呢還是我黎明即起?3周一個 sprint,光把需求搞明白就一周去掉了,然后做啊做啊,還有2天sprint就要結(jié)束了,可是突然一看任務(wù)列表,50個只完成了30個,怎么辦?根據(jù) Scrum的教條,sprint是不能延期的,那么做不完的就踢到下一個sprint去好了,反正沒有發(fā)行日期,慢慢做好了。嗯,很好,這個sprint 我們順利完成了35個任務(wù)!做啊做啊,3個月過去了,產(chǎn)品經(jīng)理看看幾個大功能也有模有樣了,很好,我們宣布某某新版本順利發(fā)行!!!(先開槍再畫圈,很好 很強(qiáng)大!)

            顯然這樣的敏捷開發(fā)是不能讓高層滿意的,大家坐下來總結(jié)經(jīng)驗教訓(xùn),推出了2.0版,更新如下:

            1、大老板希望更快的看到成果匯報,sprint周期由三周縮短為兩周。

            2、中美各成立一個Scrum小組,本地測試支持本地開發(fā),每個sprint的任務(wù)按比例分配。

            3、產(chǎn)品經(jīng)理必須提供更完善的設(shè)計文檔。

            4、加強(qiáng)溝通,每周雙方召開例會。

            5、除去在美國的主產(chǎn)品負(fù)責(zé)人和Scrum master,在上海增設(shè)本地的產(chǎn)品負(fù)責(zé)人和Scrum master,部分決策可以就地做出,不必請示美國。

            6、開發(fā)必須寫單元測試

            這些改動,3456點都是對項目整體有利的。第1點帶來的問題是如果開發(fā)工作稍 有延誤,留給測試的空間就十分有限了。第2點則喜憂參半,好處是上海團(tuán)隊有了更大的自主權(quán),壞處是測試開發(fā)比嚴(yán)重不足。因為上海的測試leader要兼任 Scrum master,所以測試和開發(fā)是2.5比7,而美國的測試和開發(fā)則是4比6。不過考慮到本地測試生產(chǎn)率高于美國,而且開發(fā)也愿意擠出時間來幫助測試執(zhí)行測試用例,在2個sprint之后,上海團(tuán)隊表現(xiàn)良好,而美國團(tuán)隊依然落后于進(jìn)度。

            雖然2.0版的Scrum比起1.0版大有進(jìn)步,但是依然存在以下幾個問題:

            1、周期太短,開發(fā)完成工作后留給測試的時間太少。

            2、上海的測試長期超負(fù)荷工作。

            3、因為周期太短,所以沒有時間做測試自動化,這樣導(dǎo)致在無法做自動化的回歸測試,只能依賴手工測試選取幾個關(guān)鍵測試用例保證之前的功能正常工作。

            雖然還是有種種問題,但好歹是穩(wěn)步前進(jìn)了。周期恢復(fù)到三個星期,人手不夠開始招實習(xí)生,自動化測試沒時間做那么就上線后集中拉一段時間補(bǔ)課。

            通過近半年的Scrum實踐,我總結(jié)了一些經(jīng)驗和大家分享一下:

            1、一定要有一個release目標(biāo),要根據(jù)這個目標(biāo)倒過來排計劃。

            2、PO和Scrum master必須有豐富的傳統(tǒng)開發(fā)模式經(jīng)驗,不然項目很容易失控。

            3、每天的例會后Scrum master要迅速跟進(jìn),重大問題要立刻解決,什么工作生活平衡全是扯淡,執(zhí)行力必須是第一位。

            4、雖說搞Scrum要求每個員工都積極主動,但是開發(fā)和測試leader還是要花很多時間分配任務(wù),調(diào)整優(yōu)先級。開發(fā)必須為測試和修復(fù)bug留出足夠時間。

            5、自動化測試非常重要,早做晚做一定要做。

            6、員工之間的知識共享非常重要,誰都有個頭疼腦熱,不能因為一個人暫時離開就影響項目進(jìn)度。

            7、單元測試幫助很大,一是避免了很多基礎(chǔ)的業(yè)務(wù)邏輯錯誤,二是可以讓開發(fā)更清楚業(yè)務(wù)邏輯。

          posted on 2013-05-24 10:41 順其自然EVO 閱讀(290) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2013年5月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 德清县| 龙井市| 花莲县| 葵青区| 伊通| 钟祥市| 长岭县| 遂平县| 长宁区| 临澧县| 湾仔区| 台中县| 澜沧| 武川县| 邵武市| 博爱县| 蒙自县| 黄龙县| 宝鸡市| 河津市| 唐河县| 万山特区| 堆龙德庆县| 台中县| 黄冈市| 望江县| 灌南县| 游戏| 高州市| 五大连池市| 福海县| 眉山市| 巴林左旗| 城固县| 凤城市| 平顶山市| 青龙| 四子王旗| 两当县| 抚松县| 萍乡市|