分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!
之前或多或少都聽過說有關敏捷開發模型的諸多東西,包括什麼有它相關的書籍或培訓。由於公司現在所採用的是scrum開發流程--敏捷開發的一種,所以,特此作番學習與研究,我也力求文字通俗易懂,已不致讓大家對它產生如參加會議一般的厭倦情緒。
敏捷軟體開發又稱敏捷開發,是一種從2023年代開始逐漸引起廣泛關注的一些新型軟體開發方法,是一種應對快速變化的需求的一種軟體開發能力。它們的具體名稱、理念、過程、術語都不盡相同,相對於「非敏捷」,更強調程式設計師團隊與業務專家之間的緊密協作、面對面的溝通(認為比書面的文件更有效)、頻繁交付新的軟體版本、緊湊而自我組織型的團隊、能夠很好地適應需求變化的**編寫和團隊組織方法,也更注重做為軟體開發中人的作用。
在敏捷方法其獨特之處以外,他和其他的方法也有很多共同之處,比如迭代開發,關注互動溝通,減少中介過程的無謂資源消耗。通常可以在以下方面衡量敏捷方法的適用性:從產品角度看,敏捷方法適用於需求萌動並且快速改變的情況,如系統有比較高的關鍵性、可靠性、安全性方面的要求,則可能不完全適合;從組織結構的角度看,組織結構的文化、人員、溝通則決定了敏捷方法是否適用。跟這些相關聯的關鍵成功因素有:
最重要的因素恐怕是專案的規模。規模增長,面對面的溝通就愈加困難,因此敏捷方法更適用於較小的隊伍,20、40人或者更少。大規模的敏捷軟體開發尚處於積極研究的領域。
另外的問題是專案初期的大量假定或者快速收集需求可能導致專案走入誤區,特別是客戶對其自身需要毫無概念的情況下。與之類似,人之天性很容易造成某個人成為主導並將專案目標和設計引入錯誤方向的境況。開發者經常能把不恰當的方案授予客戶,並且直到最後發現問題前都能獲得客戶認同。雖然理論上快速互動的過程可以限制這些錯誤的發生,但前提是有效的及時反饋,否則錯誤會迅速膨脹。
目前列入敏捷方法的有:
問: 愛腳兒 - 敏捷到底是什麼東東? 好像有很多名詞, 縮寫和傳說…
答: 敏捷 (agile) 是一股思潮, 它包括了好幾種軟體開發的方** (methodology); 這些方**又是建立在許多業界證明行之有效的最佳實踐方法 (best practices) 上面的。 如下圖所示:
ok,開頭說了,由於目前公司採用的是scrum開發流程,所以對scrum作番學習和了解也是我的工作任務。所以,接下來,咱們來分析上述敏捷方法中的scrum開發方法。
2.1、什麼是scrum
scrum是乙個輕量級的軟體開發方法,它是乙個敏捷開發框架,是乙個增量的、迭代的開發過程。在這個框架中,整個開發周期包括若干個小的跌代週期,每個小的的跌代週期稱為乙個sprint,每個sprint的建議長度2到4周。通俗的講,咱們現在制定了整個產品的開發周期,而這個開發周期是由各個小的迭代週期組成的,我們把每個小的迭代週期稱為乙個個sprint,如sprint1,sprint2,sprint3(我現在手頭接觸到的手頭上的專案就是分為sprint1~sprint5),然後給每個sprint2到4周的時間解決,分而治之,各個擊破。
在scrum中,使用產品(product)backlog來管理產品或專案的需求,產品backlog是乙個按照商業價值排序的需求列表,列表條目的體現形式通常為使用者故事。scrum的開發團隊總是先開發的是對客戶具有較**值的需求。在每個sprint中,scrum開發團隊從產品backlog中挑選最有價值的需求進行開發。sprint中挑選的需求經過sprint計畫會議上的分析、討論和估算得到乙個sprint的任務列表,我們稱它為sprint backlog 。 在每個迭代結束時,scrum團隊將交付潛在可交付的產品增量。
如上圖所示,scrum 開發流程通常以 30 天(或者更短的一段時間)為乙個階段,由客戶提供新產品的需求規格開始,開發團隊與客戶於每乙個階段開始時挑選該完成的規格部分,開發團隊必須盡力於 30 天後交付成果,團隊每天用 15 分鐘開會(daily meeting)檢查每個成員的進度與計畫,了解所遭遇的困難並設法排除。
2.2、scrum較傳統開發模型的優點
scrum模型的乙個顯著特點就是響應變化,它能夠盡快地響應變化。下面的使用傳統的軟體開發模型(瀑布模型、螺旋模型或迭代模型)。隨著系統因素(內部和外部因素)的複雜度增加,專案成功的可能性就迅速降低。
下圖是scrum模型和傳統模型的對比(基本上每篇介紹scrum都會引用的圖):
2.3、 scrum模型
一) 有關scrum的幾個名詞
backlog: 可以預知的所有任務, 包括功能性的和非功能性的所有任務。
sprint:一次跌代開發的時間週期,一般最多以30天為乙個週期.在這段時間內,開發團隊需要完成乙個制定的backlog,並且最終成果是乙個增量的,可以交付的產品。
sprint backlog:乙個sprint週期內所需要完成的任務。
scrummaster: 負責監督整個scrum程序,修訂計畫的乙個團隊成員。
time-box: 乙個用於開會時間段。比如每個daily scrum meeting的time-box為15分鐘。
sprint planning meeting: 在啟動每個sprint前召開。一般為一天時間(8小時)。該會議需要制定的任務是:產品owner和團隊成員將backlog分解成小的功能模組, 決定在即將進行的sprint裡需要完成多少小功能模組,確定好這個product backlog的任務優先順序。另外,該會議還需詳細地討論如何能夠按照需求完成這些小功能模組。制定的這些模組的工作量以小時計算。
daily scrum meeting:開發團隊成員召開,一般為15分鐘。每個開發成員需要向scrummaster匯報三個專案:今天或昨天完成了什麼?是否遇到了障礙?即將要做什麼?(每天早晨,我們也是這麼做的)通過該會議,團隊成員可以相互了解專案進度。
sprint retrospective meeting:對剛結束的sprint進行總結。會議的參與人員為團隊開發的內部人員。一般該會議為3小時。
二)實施scrum的過程簡單介紹
將整個產品(product)的backlog分解成sprint backlog,這個sprint backlog是按照目前的人力物力條件可以完成的。
召開sprint planning meeting,劃分,確定這個sprint內需要完成的任務,標註任務的優先順序並分配給每個成員。注意這裡的任務是以小時計算的,並不是按人天計算。
進入sprint開發周期,在這個週期內,每天需要召開daily scrum meeting。
整個sprint週期結束,召開sprint review meeting,將成果演示給product owner.
團隊成員最後召開sprint retrospective meeting,總結問題和經驗。
這樣周而復始,按照同樣的步驟進行下一次sprint.
整個過程如下圖所示
給我老師的人工智慧教程打call!
敏捷軟體開發模型Scrum通俗講義
之前或多或少都聽過說有關敏捷開發模型的諸多東西,包括什麼有它相關的書籍或培訓。由於公司現在所採用的是scrum開發流程 敏捷開發的一種,所以,特此作番學習與研究,我也力求文字通俗易懂,已不致讓大家對它產生如參加會議一般的厭倦情緒。敏捷軟體開發又稱敏捷開發,是一種從1990年代開始逐漸引起廣泛關注的一...
敏捷軟體開發模型 SCRUM
一 什麼是scrum?scrum 英式橄欖球爭球隊 軟體開發模型是敏捷開發的一種,在最近的一兩年內逐漸流行起來。scrum的基本假設是 開 發軟體就像開發新產品,無法一開始就能定義軟體產品最終的規程,過程中需要研發 創意 嘗試錯誤,所以沒有一種固定的流程可以保證專案成功。scrum 將軟體開發團隊比...
敏捷軟體開發模型 SCRUM
標籤 分類 softwareengineering 一 什麼是scrum?scrum 英式橄欖球爭球隊 軟體開發模型是敏捷開發的一種,在最近的一兩年內逐漸流行起來。scrum的基本假設是 開發軟體就像開發新產品,無法一開始就能定義軟體產品最終的規程,過程中需要研發 創意 嘗試錯誤,所以沒有一種固定的...