談到敏捷之前,需要先提一下傳統的專案管理,也就是大家所說的瀑布式開發waterfall,它有三個特點
1.注重前期規劃:
詳細確認需求、規格都沒問題,才會進入開發。
2.按部就班:
在開發過程中,分派成員按部就班地執行。
3.任何變更會採取嚴格控管的機制:
因為變更的成本昂貴,所以變更需要經過審慎考量
瀑布式開發步驟

waterfall追求的是效能極大化,希望能越做越好、越做越快,這跟它生成的工業時代背景有著很大的關係。
但在進入到1980年資訊革命時代,軟體產業變化快速輪替,未來不確定性的因素不斷提升,有時客戶的需求一開始也說不清楚,總是在看到東西,才會比較有感覺,然後就可能會提出新需求,這對於強調按部就班、嚴格控管變更的傳統開發方式,就會失去競爭優勢,1990年代敏捷開發學派孕育而生。
什麼是敏捷呢?
敏捷開發是應對需求快速變化的一種能力與思維,注重開發團隊與客戶之間的協同運作,透過持續互動與進化,靈活、彈性面對未來不確定性的環境,以及需求不斷在變更的狀態。
相較傳統專案管理的詳細規劃,一次到位,敏捷則是把一個專案切分為好幾回合,每回合都是規劃、設計、調整後上線,在資源有限的情況下,會根據現有的成本跟時間,把事情排出優先順序,從最有價值的開始進行,做出最小可行性的產品,之後再接續優化。而先做對客戶最有價值的需求,這個就是價值導向,也是敏捷裡最重要的mindset。
敏捷開發流程示意圖:切分成回合的開發模式

敏捷開發適合應用在哪些場景呢?
我們可以運用Cynefin framework來作為判斷,這個架構用於描述,什麼環境適合使用什麼解決方案,例如在左上角是處於複雜(Complex)的環境,未知事項大於已知事項,因為不確定因素高,多有創新成分,就適合透過敏捷迭代方式來進行,例如,規劃新分行體驗;而右下角的簡單(Simple)環境,因為都是處於已知的狀態,就很適合以waterfall的方式來高效進行,例如,分行搬遷作業。
Cynefin framework圖:判斷工作法使用場景

既然敏捷是個好想法,那接下來該怎麼進行呢?
敏捷雖然有這麼多學派,但實務上大都選擇以Scrum架構作為參考,Scrum明確地訂定了一個運作的模型架構,強調的是在有限的時間做有價值的事,避免浪費成本去做一些沒有價值的事,Scrum架構我們分為人、事、物三個面向來組成
Scrum架構示意圖

那要怎麼開始呢?
Scrum運作中,會有3個角色、5個活動、3個產出。
下個章節,我們將介紹其中關鍵3個角色喔。
敏捷101-2 敏捷運作的3個角色
00517670蕭楹穎
推
00589774周良濤
讚
00589661王鵬傑
Scrum~
00589661王鵬傑
也不是綠油精~
00586948翁文鴻
敏捷是個工具 不是萬金油~~
00587620曾莛雅
推!點出不是每一個情境都適合run Scrum!
00585838李湘茹
實用
00591097周雨萱
小步快走~~
00588073黃怡齡
相較傳統專案管理的詳細規劃,一次到位,敏捷則是把一個專案切分為好幾回合
00580254
小葉
言簡意賅