[摘抄拼湊]系統架構師修煉之開發模式(模型)

典型的開發模型有:

1. 邊做邊改模型(Build-and-Fix Model);

2. 瀑布模型(Waterfall Model);

3. 快速原型模型(Rapid Prototype Model);

4. 增量模型(Incremental Model);

5.螺旋模型(Spiral Model);

6.演化模型(evolution model);

7.噴泉模型(fountain model);

8.智能模型(四代技術(4GL));

9.混合模型(hybrid model);

10.RAD模型;

11.敏捷開發模式(Scrum/Agile)


敏捷開發(Scrum/Agile)

1,敏捷開發是一種以人爲核心、迭代、循序漸進的開發方法。在敏捷開發中,軟件項目的構建被切分成多個子項目,各個子項目的成果都經過測試,具備集成和可運行的特徵。換言之,就是把一個大項目分爲多個相互聯繫,但也可獨立運行的小項目,並分別完成,在此過程中軟件一直處於可使用狀態。

2,相對於"非敏捷",更強調開發團隊與業務專家之間的緊密協作、面對面的溝通(認爲比書面的文檔更有效)、頻繁交付新的軟件版本、緊湊而自我組織型的團隊、能夠很好地適應需求變化的代碼編寫和團隊組織方法,也更注重做爲軟件開發中人的作用。

3,敏捷開發,作爲CMM神話崩潰後被引入的一套新的軟件開發模式,這幾年來被廣泛引起關注,並被寄予厚望。
敏捷開發宣言:個體和交互 勝過 過程和工具;可以工作的軟件 勝過 面面俱到的文檔;客戶合作 勝過 合同談判;響應變化 勝過 遵循計劃。

雖然右項也有價值,但是我們認爲左項具有更大的價值。
敏捷開發核心:團隊合作、可工作的軟件、快速響應變化。

4,敏捷開發的價值觀包括了XP(Extreme Programming:極限編程)的四個價值觀:溝通、簡單、反饋、勇氣,此外,還擴展了第五個價值觀:謙遜。
敏捷開發是針對傳統的瀑布開發模式的弊端而產生的一種新的開發模式,目標是提高開發效率和響應能力。除了原則和實踐,模式也是很重要的,多研究模式及其應用可以使你更深層次的理解敏捷開發。

5,如果要實行一個很好的scrum,通常要滿足兩點:一、團隊有三名或以上的研發工程師;二、團隊內有一名合適的Scrum Master。

當團隊內無法找到合適的Scrum Master時,不要輕易推行敏捷。

如果你的團隊是由新人組成,或者即使有資深員工但是他並不瞭解或認同敏捷開發的話,那麼你需要等待合適的Scrum Master出現。
當你真正實行敏捷開發時,要注意量化衡量團隊的執行力的指標:完成度、評估準確度、計劃合理度。這是評定整個進度的很重要的指標,也是讓迭代更好的進行下去的準則。

6,敏捷開發適用性:從產品角度看,敏捷方法適用於需求萌動並且快速改變的情況,如系統有比較高的關鍵性、可靠性、安全性方面的要求,則可能不完全適合。

◆組織文化必須支持人員彼此信任,人少但是精幹,開發人員所作決定得到認可,環境設施滿足成員間快速溝通之需要。最重要的因素恐怕是項目的規模。規模增長,面對面的溝通就愈加困難,因此敏捷方法更適用於較小的隊伍,20、40人或者更少。大規模的敏捷軟件開發尚處於積極研究的階段。

◆另外的問題是項目初期的大量設想或快速的需求收集可能導致項目走入誤區,特別是客戶對其自身需要毫無概念的情況下。與之類似,人之天性很容易造成某個人成爲主導並將項目目標和設計引入錯誤方向的境況。開發者經常會把不恰當的方案授予客戶,而直到最後出問題前都能獲得客戶認同。雖然理論上快速交互的過程可以限制這些錯誤的發生,但前提是有效的負反饋,否則錯誤會迅速膨脹。

7,敏捷開發基於的前提:

◆團隊認可敏捷的價值,遵循敏捷提出的價值觀和基本原則。如果沒有這個前提,用所謂的敏捷開發無疑是紙上談兵。

敏捷開發就是在一個高度協作的環境中,不斷地使用反饋進行自我調整和完善。

態度決定一切,敏捷依賴人。

敏捷開發簡單說就是用有效的辦法去做有用的事情,過程的目的是讓項目做得更好,不是爲了過程而過程,不是用過程來“框死”項目,過程是爲項目服務的。

敏捷過程:明確的項目目標;有利於實現項目目標的事情,一定要做;對項目目標沒有幫助的事情,一律不做;有效和高效是最重要的項目管理原則;敏捷的過程是讓人愉快、工作起來有戰鬥力的過程。

8,敏捷開發:。。。



瀑布模型(Waterfall Model)




發佈了27 篇原創文章 · 獲贊 5 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章