1. 程式人生 > >讓scrum落地的方法(一)

讓scrum落地的方法(一)

Scrum的精華有兩點,第一是短迭代,第二是自組織。
短迭代讓團隊可以形成節奏感,並在每個迭代後有機會進行迴歸,並在下一個迭代中提高。相比傳統的瀑布流程,因為缺乏這樣的反饋機制,團隊的改進相對困難。
自組織的目的是讓團隊對目標進行自我承諾,激發團隊最大的能量以達成目標。這是在公司這種權威組織中實行的小規模民主激勵。對於自尊心較強的工程師團隊,相當有效。不過也有缺點,那就是團隊自我意識可能過強,導致跨團隊合作出現問題。

但如果僅僅實現這兩點,Scrum的結果可能是非常糟糕的。特別是短迭代造成兩個負面後果:
第一,短迭代傾向於產生短期設計,在將來的迭代中需要經常重寫。
第二,短迭代導致沒有時間進行全面的迴歸測試,導致bug數量上升。

為了有效的解決這兩個問題,Scrum必須伴隨一些關鍵的工程實踐。
第一,最重要的,是測試自動化。無論是單元測試還是功能測試,都是在短迭代下保證質量的重要,甚至是唯一手段。
第二,重構。有了自動化測試,敏捷團隊應該勇敢的不斷重構程式碼,消除技術債務
第三,持續整合。有了自動化測試,持續整合可以在最短的時間內報告問題,並要求團隊將CI的錯誤作為最高優先順序立即處理。

所以可以看出來,自動化測試是scrum最重要的實踐之一。一個沒有自動化測試的組織,採用scrum雖然也可以受益,但達不到“高績效團隊”的水準。