Agile是一個重大創新,程序雖亂,由測試鉗製著。結構設計好了,能不斷更新。

來源: easycity 2013-03-22 16:46:51 [] [舊帖] [給我悄悄話] 本文已被閱讀: 次 (2107 bytes)

對小公司和大公司中的小單位,最大的問題是客戶不清楚,客戶需求不清楚或是變動大。這時候就需要一位頂尖高手大概設想這個軟件需要一些什麽功能,大的構架是怎麽樣的,然後迅速地把整個工程分成幾大塊,各個分係統之間如何聯係,每個分係統在每一個施工周期裏要大概完成什麽功能。然後每個程序員認領或被指派這些小功能。每一個這樣的小功能可能需要一個周期設計和試驗,再一個周期Code和測試,測試最好寫成UnitTest,這樣以後不管誰來改,不會捅大漏子。

在好的項目中,剛開始的時候,數據,邏輯,UI,基本的構架Back Bone就寫好了,各個分係統都有MockUp,整個係統可以運行,用戶很早就可以看到一些關鍵的功能的演示,盡管那些都是“表麵文章”。一個施工周期過後,寫好的每一個功能都連到基本的構架上運行,用戶可以看到這些新功能,以及整個係統變成了什麽樣。如果用戶有異議或者任何人有改進意見,下一個施工周期就可以試驗或實施。這應該算是Continuous Integration.

一個施工周期不長,三個星期左右,再有一兩個星期合成,Deploy,測試。一個程序員可能負責幾個功能,一個施工周期內全做完。也會有可能一個程序員要幾個施工周期才能做完一個功能。有大致的計劃和時間表,有大的軟件構架,但是沒有完備和準確的功能清單和交貨時間,這應該是Agile的意思。

至於Code的混亂,有經驗的程序員在忙亂中也能把程序寫得有模有樣。經驗不足的程序員隻能有時間的時候回過頭來清理程序。有Unit Test, 問題不會太大。

這幾年來在市場,用戶,需求,功能都劇烈變化的小公司裏,Agile發揮了很大的作用。但是在大公司,做大項目,是Agile未經驗證的領域。Scrum Master,Micro Management,這些大公司病不可能因為大公司用了Agile就消失。當然,大項目也不會因為有了Agile,所有的難題就自動消失。一切都在探索之中。

請您先登陸,再發跟帖!

發現Adblock插件

如要繼續瀏覽
請支持本站 請務必在本站關閉/移除任何Adblock

關閉Adblock後 請點擊

請參考如何關閉Adblock/Adblock plus

安裝Adblock plus用戶請點擊瀏覽器圖標
選擇“Disable on www.wenxuecity.com”

安裝Adblock用戶請點擊圖標
選擇“don't run on pages on this domain”