以前有個小朋友,特別有好奇心,也喜歡動手搗騰。有一天,他做出來了一個圓圓的,會滾動的東西,感到特別興奮,到處去向別人展示自己的"新發(fā)明"。結果他發(fā)現別人一點都不稀奇,原來這個東西叫做“輪子”,早在幾千年前就有了,現在已經發(fā)展出了上百種的不同規(guī)格、材質、樣式,自己的這個相比之下太不完善了,根本不能算是什么發(fā)明。這個小朋友,現在就藏在我們的心里,尤其是經驗不夠豐富的程序員身上。 幾年前我曾經做過一個項目,經過長時間的掙扎之后,項目依然失敗了。主要的原因之一,就是我們重復發(fā)明了太多的輪子。事情是這樣的,時任項目核心開發(fā)人員的 同事很有鉆研精神,也相當自信,當時客戶提出的一些基本功能,譬如用戶管理、輸入驗證、......
1. 明確范圍 如果說要把整個項目(假設持續(xù)2個月,分為4次迭代)的范圍,在一開始就明確下來,對我們、對客戶都很困難,因而這個期望不太現實;更可行的辦法是把范圍的明確,也拆分成更小的單位,譬如按照每個迭代(每兩周)來明確;我們雙方只要保證,對這兩周要提交的內容,有明確的共同認識即可;然后不斷循環(huán); 明確下來的范圍,要有個Task List或者Plan來作為以后判斷是否發(fā)生范圍改變的依據; 2. 范圍變更 如上所述,如果每兩周一個迭代,每次迭代都有明確的Task List或Plan;那么在這個過程中,任何不在這個List和Plan中的任務,都可以視為需求變更、范圍變化; 這種變更,需要在客戶剛提出來時,就進行評估,明確告訴客戶這個改變所需要的額外時間,......
瀏覽:11753次
更多