scrum (英式橄欖球爭球隊), 軟體開發模型是敏捷開發的一種。
scrum的基本假設是:
開發軟體就像開發新產品,無法一開始就能定義軟體產品最終的規程,過程中需要研發、創意、嘗試錯誤。scrum 將軟體開發團隊比擬成橄欖球隊,
有明確的最高目標,熟悉開發流程中所需具備的最佳典範與技術,具有高度自主權,緊密地溝通合作,以高度彈性解決各種挑戰, 確保每天、每個階段
都朝向目標有明確的推進。
scrum模型的乙個顯著特點就是響應變化,它能夠盡快地響應變化。下面的使用傳統的軟體開發模型(瀑布模型、螺旋模型或迭代模型)。隨著系統因素(內部和外部因素)的複雜度增加,專案成功的可能性就迅速降低。
下圖是scrum模型和傳統模型的對比:
1 scrum 開發流程通常以 30 天(或者更短的一段時間)為乙個階段,由客戶提供新產品的需求規格開始,開發團隊與客戶於每乙個階段開始時挑選該完成的規格部分,開發團隊必須盡力於 30 天後交付成果,團隊每天用 15 分鐘開會檢查每個成員的進度與計畫,了解所遭遇的困難並設法排除。
--短迭代(漸進、迭代式的開發並始終維護可交付的產品,相對瀑布是的模型能夠適應需求的變化,降低風險)與快速溝通(減少溝通成本,快速解決問題)
2 在每個迭代(sprint)開始前要開乙個sprint planning meeting,將當前迭代週期的需求(blocking)劃分成更小的模組,並確定各模組的優先順序,並詳細的討論各個功能模組的詳細設計並給出時間估算以小時計。
3 daily scrum meeting:每天15分鐘的站立會議,主要交流3個方面,完成了什麼,遇到什麼困難,將要做什麼--提高溝通效率,快速解決障礙
5 sprint retrospective meeting:對剛結束的sprint進行總結。會議的參與人員為團隊開發的內部人員。一般該會議為3小時。
二)實施scrum的過程簡單介紹
1) 將整個產品的backlog分解成sprint backlog,這個sprint backlog是按照目前的人力物力條件可以完成的。
2) 召開sprint planning meeting,劃分,確定這個sprint內需要完成的任務,標註任務的優先順序並分配給每個成員。注意這裡的任務是以小時計算的,並不是按人天計算。
3) 進入sprint開發周期,在這個週期內,每天需要召開daily scrum meeting。
4) 整個sprint週期結束,召開sprint review meeting,將成果演示給product owner.
5) 團隊成員最後召開sprint retrospective meeting,總結問題和經驗。
6) 這樣周而復始,按照同樣的步驟進行下一次sprint.
整個過程如下圖所示
敏捷軟體開發宣言:
持續的交付有價值的產品
歡迎需求的變化
開發期間,業務人員與開發人員零障礙的溝通(泡在一起)
鼓勵面對面的交流
不斷的關注優秀的技術和好的設計
簡單即是根本
每過一段時間,團隊要在改進效率方面進行反省和總結並加以改進
當軟體開發需求的變化而變化時,軟體設計會出現壞味道,當軟體中出現下面任何一種氣味時,表明軟體正在腐化。
敏捷開發依靠適應變化來獲得價值,在設計上不做總體固定的假設,始終關注可擴充套件性和可維護性,保持結構的簡單,並使用單元測試作為支援。這保持了設計的靈活性和易理解性,團隊依靠這種靈活性持續的改進設計,以保證每次迭代之後產品更加適應最新的需求。
敏捷開發保持軟體的新鮮與物件導向的設計原則是分不開的
敏捷設計是乙個過程,不是乙個事件。它是乙個持續的應用原則、模式以及實踐來改進軟體的結構和可讀性的過程。它致力於保持系統設計在任何時間都盡可能得簡單、乾淨和富有表現力。
關於敏捷開發
前一段參加了北軟教育的乙個 敏捷開發技術 的培訓,一直沒來的總結一下。剛好結合最近的專案,把老師提到的應用了一把,感覺還不錯。敏捷的特點 1 小版本發布 可以給開發人員持續的成就感 2 測試驅動開發 3 持續整合 4 重構 獲得更好的 結構 5 結對變成 最好選取水平相當的兩人 一定要是交叉結對 6...
關於敏捷開發
這兩天花了些時間,閱讀了 敏捷開發修煉之道 其中的條款挺多的,要完全記住,著實有些困難,況且本人的記性還不是很好,因此寫乙個觀後總結.要做得敏捷開發,其實首先就是要形成乙個良好的開發習慣,而習慣卻往往是很難形成,也很難改變的.要培養或改變到好的習慣上來,態度是最重要的,因此,此書就從態度開始.著重是...
關於敏捷開發
前一段參加了北軟教育的乙個 敏捷開發技術 的培訓,一直沒來的總結一下。剛好結合最近的專案,把老師提到的應用了一把,感覺還不錯。敏捷的特點 1 小版本發布 可以給開發人員持續的成就感 2 測試驅動開發 3 持續整合 4 重構 獲得更好的 結構 5 結對變成 最好選取水平相當的兩人 一定要是交叉結對 6...