測試驅動開發
迭代開發
每日會議
在這三點中,我最看重的是“測試驅動開發”,我覺得這一條最難以貫徹而且最能夠改變人的觀點。如果接受了這個思想,其實也就為后續“有序”的開發打下極好的基礎。所以今天晚上,我將把我所了解的測試驅動開發說給大家聽,作為以后的一個鋪墊。
為了闡明測試驅動開發與傳統軟件開發方法的不同和優點,我給大家提了一個有趣的問題:
“如果我現在是你們的客戶,需要你們畫出我心中的劉老師的樣子,你們會怎么做?”
大家各有想法,最容易得到認同的是:先畫出劉老師的樣子,然后給我檢查,并在我的指導之下進行返工。
這確實是一個好辦法,但我認為并不是最好的。因為把圖先畫完再交給客戶,有可能造成前期投入太多無用成本,況且,我們的開發人員其實并不是素描專家,只是剛剛能完成工作而已,而且還有一個更關鍵的問題,其實我這個客戶自己可能都不清楚心中的劉老師應該是什么樣子(我真是一個合格的客戶。,我僅僅是有這個需求而已!如何讓客戶一開始就知道正在開發的東西是不是自己要的東西呢?我的回答是:
“可以考慮創建一些‘標準’的五官,并在客戶面前進行‘組合’的工作,這樣就可以降低開發難度并讓客戶及早的參與進來;當確定了一些五官之后,我們就可以在已經確定的框架上進行細化工作,即使客戶發現五官和細節配合的不好,由于五官之間耦合很小,我們可以輕易的拿出另外的標準五官!
我認為,針對現實的情況,這是更好的做法。其實我一說完大家就懂了,這不就是刑警們干的事情么?對!他們作為這個項目的開發人員再好不過了,雖然他們確實只是剛剛能夠完成工作而已,但是他們往往能夠成功的完成工作。這是方法的威力。
文章來源于領測軟件測試網 http://www.kjueaiud.com/