Scrum軟體開發流程

2021-08-13 20:44:59 字數 2165 閱讀 4171

2023年2月由17位世界輕量級方法學家提出了乙份敏捷聯盟宣言,這個宣言只是簡單的四句話,但卻是敏捷方法的精髓,也是對敏捷的高度抽象,這便是敏捷之道的最高境界:

人與互動勝過過程與工具

可以工作的軟體勝過面面俱到的文件

客戶協作勝過合同談判

響應變化勝過遵循計畫

scrum 方法簡介

scrum 是目前最為流行的 agile 開發方法,它簡單易懂,並且易於採用。scrum 實施的重點是團隊領導和需求管理,強調對客戶需求的快速反應以及團隊的共同協作和自我管理。scrum 方法通過將整個開發過程劃分為若干個固定時間長度的 sprint(迭代,有人也習慣叫 iteration,其實是同乙個概念),在每個 sprint 結束時得到乙個可以執行並演示的產品的增量版本,來推動產品的不斷演進,直到最終發布。

scrum 中的角色

在 scrum 方法中共有 3 種角色:

product owner(產品負責人):負責制定軟體開發需求,確定待開發產品各項功能需求的優先順序,並為產品的最終發布負責。

scrum master(scrum 導師):對整個 scrum 過程負責,主持並參與所有 scrum 工作會議。指導並督促全體專案成員遵從 scrum 規則和實踐,定期檢查整個 scrum 專案的執**況。

team(開發團隊):負責軟體的具體開發測試。負責在每乙個 sprint (迭代)實現規劃的軟體功能,並在 sprint 結束時生成可執行、演示的產品的增量版本供全體成員預覽並檢查。

scrum 開發流程

scrum 專案開發的大致流程如下圖所示:

圖 1. scrum 流程圖

product backlog for release k

iteration (sprint) 1

o feature 1

o feature 2

iteration 2

o feature 3

o feature 4

...iteration n

iteration (sprint) backlog

user story 1 in feature 1

o task 1

o task 2

o ...

user story 2 in feature 1

o task 1

o task 2

o ....

user story 3 in feature m

o task 1

o task 2

o ....

work item

user story: 定義使用者角度的產品特徵

tasks: 工作任務,如設計、開發、測試

test case: 定義測試用例

bugs:測試後發現軟體中存在的錯誤

issues: 定義對專案有影響的風險

scrum 專案的起點是由 product owner 制定的待開發專案的 product backlog (需求列表)。這是一張包含功能性需求和非功能性需求的清單,並且按各項需求的優先順序進行排序。然後,在此基礎上,product owner 與開發團隊一起進行評估並制定軟體開發計畫,計算出需要多少個 sprint(迭代)來完成該專案。

注意:product backlog 裡的內容以及優先順序會隨著專案的進行而不斷變化,這是由於 agile 開發注重對客戶要求的快速反應所決定的。

在每個 sprint 將要開始時,從 product backlog 中拿出優先順序較高的部分需求來實現,並按不同的開發組將需求的開發測試分解成各個不同的 task(任務),從而制定該 sprint 的開發計畫,也就是 sprint plan。乙個 sprint 的時間是固定的,通常是 1 個月或 2 個星期。

在 sprint 開始後,所有團隊成員每天都要進行一項重要的 scrum 實踐,那就是 daily scrum meeting(每日例會),時間十五分鐘,會議的目標是檢查開發進度,並協調團隊工作。每位開發團隊成員都需要回答三個問題:

1. 從上次例會後的一天裡你做了什麼?

2. 從現在到下次例會的一天時間裡,你準備做什麼?

3. 在實現 sprint 和專案目標的工作中,你碰到了什麼困難?

在 sprint 的結束後,所有人一起召開 review meeting,對團隊提交的可執行的產品增量版本進行檢查及評審,保證所實現的功能與需求一致。緊接著開始下乙個 sprint,周而復始,直到所有需求開發完成為止。

軟體開發流程

0 定義assoc顯示或修改副檔名關聯。attrib 顯示或更改檔案屬性。break設定或清除擴充套件式 ctrl c 檢查。bootcfg 設定 boot.ini 檔案的屬性以便控制 cacls顯示或修改檔案的訪問控制列表 acl call從另乙個批處理程式呼叫這乙個。cd顯示當前目錄的名稱或將其...

SCRUM開發流程

scrum的基礎知識 scrum 是迭代的,增量型的流程。scrum 構造的產品迭代週期為sprints,工作的迭代時間一般為一到四周。sprints 是有固定的週期 結束於固定明確的日期,無論該工作完成與否,從不延長。在每一sprint 的啟始階段,乙個多職能的團隊從已優先化的要求列表中挑選若干專...

迭代軟體開發流程

1.傳統開發流程的問題 傳統的軟體開發流程是乙個文件驅動的流程,它將整個軟體開發過程劃分為順序相接的幾個階段,每個階段都必需完成全部規定的任務 文件 後才能夠進入下乙個階段。如必須完成全部的系統需求規格說明書之後才能夠進入概要設計階段,編碼必需在系統設計完成之後才能夠進行。這就意味著只有當所有的系統...