目前的趨勢,主要有幾種軟件開發手法。
waterfall
最古老的開發方法,
流程
根據 要件定義 ➡ 設計 ➡ 製造 ➡ 測試 ➡ 運用 的流程,依次進行。
原則思想
尊重前一階段的成果,原則上前一階段沒完成,後一階段不開始,基本不式樣變更。
Agile
思想
根據機能單位,實現每個機能的 計劃到測試 的步驟的反覆。
優勢
可以儘早的確認到成果物
適用
適用於小單位內,需要頻繁的式樣變更或者機能追加的項目
Scrum
也是Agile的一種開發手法。
特徵
- 優先度高的內容在短時間內反覆進行開發
- 重視group內的交流,保證項目全體的透明性
流程
- 整個團隊內,確認各自的職責,負責ToB的 product owner,負責運用的 scrum master,以及根據product owner的要求進行實裝的team
- 團隊建立後,確定項目的各部分開發優先順序,制定sprint計劃
- 以1~4周的sprint單位進行cycle開發
- 保證基本以每日爲單位的進度交流,實現整個團隊內項目信息的高透明度
DevOps
開發(Development)和運用(Operations)的結合。要求開發者和運用者緊密結合實現要件的快速以及柔軟的對應。
思想
爲了實現開發和運用的快速結合對應,很容易理解成,如何實現情報的共享,如果實現測試的自動化,配置的自動化,雖然反映在行爲上是工具的選定,自動化的實現,但是,本質上是爲了快速對應商業上要件的要求而形成的一種組織的模式,如何把握瓶頸問題尤爲關鍵。
SRE
「Site Reliability Engineering」的頭字母縮寫。
來由
由谷歌提倡,目標上和DevOps一樣追求「快速的商業要件對應」,但是SRE更加偏向於追求服務運用上的安定性,信賴性,它實際上可作爲DevOps的一種實現方式
特徵
重點關注會開發的部隊建設,將來,隨着雲的發展,運維工程師,不單單再是硬件系統安定性的要求,更加需要有開發的技術實現雲上的開發加運用實現。