Scrum 是敏捷開發流派中最著名和最落地的一支,全球 70% 以上公司的敏捷轉型都是以 Scrum 起步。CODING 特邀敏捷顧問、CST & CTC 認證敏捷教練申健老師將在本課程《Scrum 敏捷項目管理核心要素之 3355》中介紹 Scrum 框架的核心要素,幫助你們更好地學習實踐 Scrum。框架
你們好,本次我將爲你們詳細講解敏捷的一個流派,叫作 Scrum 敏捷項目管理核心,它起源於 2001 年,當時有 17 位大牛共同討論了他們的想法和各類軟件開發方法,通過交流,他們最後達成了價值觀和原則上的共識,共同發佈了敏捷軟件開發宣言。學習
而迭代的概念則能夠追溯到 1970 年左右,Scrum 也是用迭代式去進行發展,與之相應對的就是瀑布式,全部工做像流水線同樣有計劃且循序漸進的去進行。例如:在軟件開發中,先是需求分析、設計,而後進入開發編碼、測試,到最後上線,整個過程有先後順序,不過現實中總會在某個地方出現問題從而形成返工。測試
有兩個日本學者在 1986 年研究了豐田、本田、佳能等高科技公司怎樣在一個不肯定的狀況下去研發一個新產品,他們發現這些公司再也不去區分職能部門,而是具備跨職能團隊的特色。就像打英式橄欖球,每一個人都有各自的專長,可是目標是統一的:要進球贏球。優化
因此他們在管理智力型研發項目時,沒有再用瀑布流式來管理,而是用一種不斷迭代的方式。項目的迭代時間不超過四周,在這四周裏必須包含全部的必備工做,包括分析、設計、編碼、測試,確保快速交出一份相對簡單可用的產品,及時得到用戶反饋。不然若是等到產品上線再來收取用戶反饋,改動成本、項目風險將是很是高的。Scrum 經過事務減小工做任務和工做時間,給予跨部門小團隊充分的受權,讓他們本身決定如何工做,同時又保持目標一致。編碼
1995 年創立 Scrum 時,也吸取了豐田汽車的精益思想,例如減小浪費、限制流動。Scrum 是一個解決複雜自適應問題的框架,讓咱們以迭代和增量的方式,在最短期內交付最大價值的產品。要知道你的人力、物力、財力,包括你的時間,永遠是有限的,有一句老話叫「錢要花在刀刃上」,集中優點兵力幹一件大事,先作價值最高的那個,分清主要矛盾和次要矛盾。越想全都解決,越解決不了,而 Scrum 就是但願你能作出取捨。例如你的項目上線後,真正被用戶使用的部分佔比多少,創造了多少價值?一般咱們叫二八原則,是指 80% 的價值必定是在 20% 的工做任務裏,剩下的都是錦上添花,也有多是無用功,若是可以減去沒有價值的任務,就能讓咱們得到更充分的時間把質量作的更好。Scrum 並非必須把全部東西作完,有一句名言叫作「遇到事要嘗試反過來想想,世界天天都在變化,全部事情沒有一個盡頭」,要學會適應變化、破解和應對複雜性、擁抱變化。設計
其實在敏捷 Scrum 裏,咱們更喜歡用這種產品的思惟,而非項目,由於按照定義項目是一次性的,也就是說必須先作一個計劃,而後循序漸進去遵循這個計劃的固化思惟。你須要分清你的產品究竟是什麼類型,在業務目標之下,你們可能會有不少的想法,因此有時會缺少一個真正的決策者,或者決策者的位置特別高,信息流動不順暢,致使你們想法不同,那真正幹活的人其實是無所適從。在 Scrum 裏首先要定義一個很重要的角色,叫產品負責人,他要綜合各方的想法,進行艱難選擇,將全部想法根據投入產出比進行排序,造成一份產品待辦列表清單。它能夠無限地增加,但並不意味着要把列表裏全部東西都作完,而是從業務、運營角度來講時間挺重要,那在這個時間點咱們就要集中優點兵力作最重要最有價值的。視頻
「倒排期」是指一開始規劃不少任務,把全部任務全都扔進固定時間內,從進度上來講可能磕磕絆絆作完,可是質量就慘不忍睹了。而 Scrum 能夠從時間日後倒推,根據可持續的方式來進行動態取捨和排期,先造成一個初始的產品待辦列表,團隊和 PO、業務干係人能夠約定迭代週期,顧名思義它是一個短的時間週期,一般不超過四周。blog
首先須要開一個 Sprint 計劃會,從長長的產品待辦列表裏面去拉取一批工做,進行分解,造成工做計劃。每個短的時間週期裏都有一個小的目標,在小目標之上必定有個大目標,小目標是從大目標裏進行分解,以後進行開發、編碼、測試等等。而每日還有一個站會活動(Daily Scrum),讓團隊成員聚在一塊兒分享今天的進展與遇到的問題,這是一個強制溝通的機會。在項目快結束時,咱們將工做集成起來,若是是軟件則進行集成測試,其餘的產品類型則進行相應的產出。而後將完成的產品增量拿到 Sprint 評審會上,邀請產品相關人士並作演示,這時可能會有人提出產品跟預想的不同,那麼趕忙修改,反饋來得越早越好,越早去發現問題,修復的成本越低,根據反饋能夠調整出咱們到底要作哪些內容。最後來到回顧會,這時不止須要對產品進行調整,還要進行檢測調整。排序
接下來說講三大角色,分別爲:產品負責人( PO )、開發團隊、Scrum Master 敏捷教練。作產品只能有一個 PO ,負責最大化的投資回報率,而且不斷地從新調整優先級和梳理列表。開發團隊顧名思義就是幹活的,這個團隊就像球隊同樣,它是「跨職能」,而且是「自管理」,被給予很高程度的自治和責任。Scrum Master 敏捷教練,顧名思義就是教練,幫助你具有獨立解決問題的能力,因此他並非一個管理者和管控者,更多的是服務型的領導者,有什麼不會的能夠教你,可是最終幹活的必定是開發團隊,例如龍舟隊,龍舟隊上划船的就是開發團隊,掌舵人就是 PO,前面敲鑼打鼓把握節奏、鼓舞士氣就是 Scrum Master,這三個角色就組成了一個龍舟隊。事件
三個工件分別是指產品待辦清單、Sprint 迭代待辦清單和符合完成定義的產品增量。例如首先產品有個大的目標方向,通過咱們的收集信息分解,變成 1-8 號需求,咱們須要選取需求到待辦清單,團隊再分紅子任務,以後迭代開始,將產品進行集成,變成能夠測試驗收上線的產品增量,最後通過反饋,PO 能夠再去調整剩餘的需求。
在 3355 中,第一個 5 是指五個事件,是 Sprint 自己短期盒和其餘四個會,分別爲 Sprint 計劃會、每日 Scrum 站會、Sprint 評審會、Sprint 回顧會。在作同一產品多團隊時首先要拆團隊,維持不超過 9 我的的團隊結構,相似 LeSS 結構,強調工做在同一個產品的多個團隊,只有 1 個 PO 和 1 份 PB,全部團隊的迭代時間盒對齊。在 Sprint 末尾要交出已集成、完成的產品增量。若是是超過 8 個團隊,能夠考慮 LeSS Huge 結構,增長領域產品負責人(Area Product Owner)角色。第二個 5 是五個價值觀:開放、尊重、勇氣、專一、承諾。承諾這個詞在 Scrum 中表達的是全身心投入去完成 Scrum 團隊的目標,而不是說必須按計劃完成,二者之間仍是有些不一樣。
Scrum 是一面照妖鏡,它的設計「故意不完整」,也故意讓項目團隊「更難受」,你認爲作的產品是完美的,而 Scrum 就是指出產品的不完美,也就是挑錯。原來一個月交不出產品,那麼就把時間縮短成一週或兩週迭代,逼迫團隊作出改變。敏捷不是從 0-1 的非黑即白,它是一個持續優化的過程,經過持續交付、持續優化、持續改進、持續提高、持續塑造,最終實現小步快跑,快速迭代。那麼今天就分享到這裏,謝謝!