每段偉大的代碼都源自客戶的宏大想法。本文主要闡述如何交付知足需求,且在預計的時間和預算內的軟件,避免成爲軟件開發戰役的陣亡戰士。測試
軟件開發的兩個焦點:預算和時間。編碼
大霹靂式的軟件開發是指開發工做量大,但直到開發完成時,尚未能充分體現客戶的需求的軟件開發。設計
大霹靂式軟件開發的風險:你認爲你正在構建客戶想要的系統,由於沒有實時的客戶反饋意見,直到你認爲你已經完成。遊戲
雖然項目開始之初,確實不多由客戶確切地直到他想要的是什麼。可是軟件開發工做可不是猜猜看遊戲,及時在需求好沒法徹底澄清的狀況下,你也要肯定開發出偉大的軟件。所以,好好與客戶溝通,確認他們的意思是什麼,將細節弄清楚。將你可能用以實現客戶宏大想法的實施方式,清客戶作決定。即,你必須讓客戶融入進來,確保你的開發工做在正確的軌道上。開發
在軟件開發過程當中,你不能置客戶與度外。開發循環就提供了一個手段,在開發過程的每一個步驟,都要問這個問題,「我作得如何?」。同步
在開發循環中,每次有重大進展時,你都會與你的客戶進行確認,並從新確認你下一步要作什麼。並且,在沒有得到客戶的反饋前,你不會作任何重大的決定。軟件
進行開發循環,你會採起構建整個項目時所採起的相同的步驟,而且將這些步驟應用到每一個開發循環中。事實上,每一個開發循環就是一個微型項目,都有本身的需求、設計、編碼、測試等階段。循環
假設你還不能接受開發循環是開發大軟件的一條途徑的話,你能夠考慮把開發循環當作是一個小循環,在小循環中,能夠收集需求、編寫代碼和測試。每一個小的循環都能生產出有效的,品質好的軟件。總結
對要開發的每項功能都要增設一個時間估計值,用來標明實際開發須要的時間。弄清楚每項功能的重要性,對每項功能分配一個優先級的值。把每一項功能沿着開發項目的時間先安排好,在你任務須要的地方增長開發循環。項目
開發循環能使你的開發工做進行在正確的軌道上,所以你可能決定開發循環的時間少於 30 天或多於 30 天。這裏的關鍵是循環得足夠頻繁,以便在你偏離開發目標時,能夠修正回來。