 |
 |
迭代,兩層意思:重復、前進。典型的迭代方法有XP、Scrum等等。 敏捷,含有快速、高效、準確的意思,敏捷開發(fā)方法通常應用時間定量的迭代和進化式開發(fā)、使用自適應計劃、提倡增量交付并包含其他提倡敏捷性(快速和靈活的相應變更)的價值和實踐。(摘自《UML和模式應用》) 隨手翻翻關于軟件設計與開發(fā)中的迭代、敏捷,感覺在這些概念出現在自己視野之前,其部分零碎的思想早早出現在過去軟件項目實施過程中。記得研究生時和另外一位同學,跟著一位有豐富軟件開發(fā)經驗(8年)的博士師兄做項目,那是個遺留項目,開發(fā)人員不穩(wěn)定,項目需求變動大,并且我們和之前的項目開發(fā)組之間沒有項目交接,實施過程中碰到了不少困難,當時我想著充分利用之前積累的客戶需求資料,加上經常和客戶業(yè)務人員溝通,先整理出整個需求文檔,重新做軟件業(yè)務建模、對象UML設計、數據庫設計等等,然后干干凈凈重寫代碼。師兄的想法就是先根據已有的資料做出軟件的整體框架和業(yè)務應用的主干,在最快的時間內到用戶現場去安裝,讓用戶提意見,然后我們再修改、完善,重復幾次,每次都是一次迭代,是從細化到構造的過程,最終穩(wěn)定整個開發(fā)框架與思路,完成軟件開發(fā),當時沒有明確的敏捷UP開發(fā)理念,但回想起來基本就是典型的敏捷UP案例,包括每階段開發(fā)的會議、建模、編碼、測試……。自己是個完美主義者,特別是在校園年代,自己當時心里真的是一百個不愿意,覺得軟件開發(fā)應該遵從標準軟件開發(fā)模式,這樣才能做出文檔、軟件設計、代碼注釋等等皆完美的軟件,對軟件不停修修改改,甚至有時局部顛倒重來極為反感!現在看來,按照師兄的方法,項目完成了,如果按照自己的想法,也許我們留下的不是一個實用軟件,而是更多亂七八糟的文檔給接下來的師弟師妹們。 不知道師兄是不是有意按照迭代、敏捷思想來推進項目的,但之前的軟件開發(fā)經歷說明了迭代與敏捷確實是實際軟件開發(fā)的經驗總結,特別是在應對需求不穩(wěn)定的情況下,能夠體現出它獨特的一面,畢竟我們是以應用、軟件為核心,而不是完整的項目artifact,現在關于UP、XP、Scrum、敏捷方面的書籍和網絡資料非常多,有時感覺像是在玩概念,但是一旦開始了解這些思想,會發(fā)現不少的方法自己已經在用了,繼續(xù)看下去,會總結出自己過去開發(fā)經歷中的種種經驗,更高效的、有條理的完成以后項目的設計與開發(fā)。
|
作者:Flyingis | 文章來源:cnblogs | 更新時間:2008-1-21 16:47:39
|
|
 |
 |
最新文章 |
|
|
 |