在理想狀況下,如果決定采用敏捷軟件開發的方法,你就應該在一個經過管理層許可的敏捷開發實驗項目里嘗試所有的作法。這是掌握敏捷開發的最好方法之一,因為這樣能保證得到支持,為你的努力提供更多的回報,幫助捕捉學習到的東西,這樣你才能讓敏捷開發過程來適應你獨特的環境。
然而,這并不總是可行的,所以有的時候最好采用步步為營的方法。在這種情況下,我們建議從最里面的圓環向外面的圓環推進。也就是從開發人員實踐開始,然后是小組這一層次的做法,最后再融入“統一小組(one team)”的概念。
為技術優勢設個限——開發人員做法
技術優勢是敏捷開發過程的核心。為了讓其他的做法真正生效,我們必須在開發人員中進行技術優勢的培訓。從表面上看,技術優勢可能看起來并不是核心優先對象,但是如果把我們注意力都放在上面,它將確保我們編寫出不同尋常的優秀代碼。這反過來同樣會給予公司、客戶,以及用戶對軟件和對我們交付能力的信心。
開發人員做法(developer practice)是我們推動技術優勢的切實可行的方法。即使是獨立完成,而沒有其他敏捷開發做法的介入,開發人員做法也能夠給你的軟件帶來巨大的收益。
開發人員做法可以被分解為四個做法(如果你把實際的編寫代碼的過程加上去就是五個做法)。它們分別是測試-編碼-重整循環(Test-Code-Refactor cycle)、配對編程(Pair Programming)和簡單設計(Simple Design)等。
測試-編碼-重整(TCR)循環——第一步由測試驅動的開發和重整常常被當作是各自獨立做法,但是它們事實上是TCR循環的一部分。要建立我們正在尋求的緊密反饋循環,我們就需要把它們放在一起。
我們在這里的目標有兩層:測試讓我們對代碼質量的充滿信心,并能表明我們加入新代碼的時候沒有破壞任何東西;重整和測試有助于讓代碼變成我們就代碼實際在做什么而進行溝通的最真實形式——任何人都應該可以看到它,并知道什么是什么。
由測試驅動的開發(TDD)是一個循環,它從測試失敗開始,然后是編寫足夠的代碼通過測試,再是重整代碼,使得代碼在實現系統當前功能的條件下盡可能地簡單。
測試-編碼-重整循環非常短暫——也就幾分鐘。如果超出這個時間范圍那就意味著測試的級別過高,有可能加入了未經測試的實現代碼。
文章來源于領測軟件測試網 http://www.kjueaiud.com/