martin fowler是敏捷開發的創始人。他從上世紀80年代就開始了他的軟體開發之旅,在此期間,他通過與別人的不斷探索與創新,產生了敏捷開發的思想。2023年2月,17名像martin fowler這樣、在軟體開發各領域有所建樹的大師們,匯聚在猶他州wasatch山脈中的一處滑雪場內,用3天的時間放鬆、討論。而這次討論的結果就是被稱為agile software development的軟體開發方法。這種新型的方法擺脫了傳統的以文件為驅動的、笨重的軟體開發模式,而是從使用者核心需求入手,在短時間內拿出乙個原型,然後根據使用者的其他需求增加模組,同時修改和完善。這種方便快捷同時又極其便利的方法徹底改變了人類開發軟體的模式。
martin fowler的新方法雖然看上去很好用,但是其中引申出了乙個問題,那就是我們將乙個程式分解成為了很多歌小部分,那麼從這一點上來說程式設計中的「設計」不就沒有了麼?這個問題從敏捷程式設計提出到現在一直有人提出。
敏捷程式設計的乙個核心思想就是主張簡單。當從事開發工作時,你應當主張最簡單的解決方案就是最好的解決方案。不要過分構建你的程式。如果你現在並不需要這項額外功能,那就不要在模型中增加它。要有這樣的勇氣:你現在不必要對這個系統進行過分的建模
,只要基於現有的需求進行建模,日後需求有變更時,再來重構這個系統。盡可能的保持模型的簡單。這樣的思想看上去使得程式設計完全變成了無腦的**累積。
然而,真正的程式設計並不是真的將設計從程式設計上抹消了,而是將程式設計與程式設計這兩個本身是不同的工作明確的分開了。程式設計時程式設計師的工作,而軟體設計是se的工作。敏捷程式設計實際上就是將本身的乙個混雜的工作分清楚,這原本是和程式設計混在一起的。程式設計真正的工作是去了解乙個程式的構架,而不是去注意程式具體是用怎樣的語言寫或者用什麼樣的語法去實現。將程式設計作為單獨的一項工作來處理,這是這個思想的真正重要的核心。
從表面上看,敏捷程式設計看上去非常好懂得樣子。但是實際上敏捷程式設計相對傳統的瀑布程式設計而言並不簡單。敏捷程式設計是一種思想,是一種對於團隊提出要求的思想。敏捷程式設計的高要求在於對於團隊的要求。團隊中的每個人都要在與別人要求相符合的情況下開始自己的工作,這也使得單個人的能力受到了限制。如果有隊員對於自己的工作有所疑惑,那麼工程將會變得難以進行下去。從這點上看,團隊是敏捷程式設計的乙個重要物件。
而不論是什麼樣的設計思想,我們最終的目的都是「通過盡早和不斷交付有價值的軟體滿足客戶需要」。客戶的要求,永遠是軟體設計的最重要的組成部分。
敏捷開發的一點認識
敏捷開發是一種以人為核心 迭代 循序漸進的開發方法。在敏捷開發中,軟體專案的構建被切分成多個子專案,各個子專案的成果都經過測試,具備整合和可執行的特徵。換言之,就是把乙個大專案分為多個相互聯絡,但也可獨立執行的小專案,並分別完成,在此過程中軟體一直處於可使用狀態 目前大部分公司是敏捷開發,分配合適的...
軟體開發的一點感想
這兩天,遇到工作中的兩個小問題,加深了我以前對軟體開發的看法。b 乙個是關於firefox崩潰問題的處理。b 其實,現在最難的就是 b 問題發生在 b 根據現象,我覺得問題應該是發生在firefox初始化時,需要連線到網路,譬如檢測firefox最新版。在定位問題後,我用firefox的安全模式 f...
敏捷開發方法的一點思考
2006年05月11日 13 44 00 author 袁琳 msn testwin sohu.com 1 敏捷開發方法與傳統重型開發方法相比較,是一種更加主動的模式。那麼在專案管理過程中,調動每一位專案參與者主動的創造 適應變化,主動的發起 參與 交流和協作就顯得猶為重要。對於專案管理來說,就需要...