常見的開發模式都有哪些?大家還有印象嗎?不記得不要緊,下面的開發模式你可要好好學習下。
要問當前互聯網公司普遍採用的開發模式是什麼,毫無疑問那就是敏捷開發,據統計,目前90%的軟件開發模式都採用敏捷開發。本文就給大家普及下敏捷開發的整個來龍去脈。
敏捷開發是什麼?
百度百科的定義:
敏捷開發(Scrum)以用戶的需求進化為核心,採用迭代、循序漸進的方法進行軟件開發。在敏捷開發中,軟件項目在構建初期被切分成多個子項目,各個子項目的成果都經過測試,具備可視、可集成和可運行使用的特徵。換言之,就是把一個大項目分為多個相互聯繫,但也可獨立運行的小項目,並分別完成,在此過程中軟件一直處於可使用狀態。
這麼一大段有點不好理解,可以簡單理解為:
適應變化,不斷迭代。
為什麼要採用敏捷開發,它跟傳統的瀑布模式有什麼不同?
在傳統瀑布模型的開發中,軟件開發過程從前到後被分成需求、設計、開發、測試幾個固定的階段,像瀑布一樣下來,整個需求都是批量開發、批量測試、批量交付。
瀑布模式
這樣的模式有以下幾個缺點:
- 項目的生命週期完成後,最後才能看到項目的成果。
- 項目過程中,有效的反饋太少。
- 不能夠很快的適應客戶的需求變更。
首先互聯網產品的幾大特點:需求變化快。一般都要以用戶需求為核心,先初步設計和開發出部分功能,再根據市場和用戶的反饋信息,不斷調整修正自己的需求和目標。
快速迭代,快速反饋,快速修正。
敏捷模式
所以採用敏捷的好處:
早期交付,從而大大降低成本。
及時瞭解市場需求,降低產品不適用的風險。
一個完整的敏捷開發過程
- 產品經理收集需求,形成產品待辦列表
- 項目團隊參與迭代(sprint)計劃會,形成迭代任務
- 開發團隊進行具體的開發任務,每日站會。
- 開發團隊進行成果演示(迭代評審會),產品經理,市場/高層,項目經理參與
- 評審通過,產品上線。評審不通過,再對產品做修改。
- 開發團隊與項目經理進行迭代回顧會,分析好的地方和需要改進的點。
scrum 開發中的四個會議:
- 迭代(sprint)計劃會:需要做什麼,怎麼做,什麼時間完成。
- 每日站會:昨天做了什麼,有什麼風險,今天計劃做什麼。
- 迭代(sprint)評審會:大家評審迭代的產出,然後對待辦事項做相應調整。
- 迭代(sprint)回顧會:討論哪裡完成好,哪裡需要改進。
Scrum中的三種角色:
- 產品經理 Product Owner:產品負責人,明確整個產品的需求和定義。
- 項目經理 Scrum Master:敏捷專家或者敏捷大師,確保Team按照Scrum的方式運行。
- 開發團隊 Dev Team:研發人員,包括開發、測試、UI等。
敏捷的四個價值觀:
- 個體與交互勝過過程和工具
- 可用的軟件勝過完備的文檔
- 客戶協作勝過合同談判
- 響應變化勝過遵循計劃