[Meetup 筆記] 反覆試探、修正的工作框架──從Cynefin Framework看Agile
推廣Agile(敏捷開發)的時候,無可避免會遇到一條提問:到底Agile 能夠解決甚麼問題?這條提問並不容易回答,而Cynefin Framework 可以幫助我們更清楚地描述Agile 適合解決的問題性質。
講題:A Language of Problems: using the Cynefin to talk about Agile
講者:Sean Coleman
主辦:Agile Hong Kong
時間:2019/07/24 晚上
場地:WorldFirst 在銅鑼灣的辦公室
Cynefin Framework
Cynefin Framework 是一套解決問題的框架,由Dave Snowden 於1999年在IBM提出。Cynefin 這個詞來自威爾斯語,譯成英語的話大致是habitat、familiar,意思是一個人感到歸屬於此的地方,筆者的理解近似中文的「歸宿」。
Cynefin 框架將問題區分為四大領域:
- Obvious 明顯
- Complicated 繁雜
- Complex 複雜
- Chaos 混亂
其核心思想是:知道身處何地(問題屬於哪個領域),自然能知道該如何反應(應對問題的方式)。
四個問題領域
Chaos 混亂
混亂領域中,事情的因果關係無法確立,我們無法預知一個行動會帶來什麼結果。災難、戰場、創業都屬於這個領域。混亂通常是暫時性的,而且即使不採取任何行動,隨着時間流逝情況也會自行不斷變化,直至混亂狀態結束。不過這樣的結束方式通常都不是我們所希望的。例如當發生火災,即使不去撲救,到大火將一切燒光燃淨就會熄滅。
適合混亂問題的處理方式是 Act-Sense-Respond (行動 > 理解 > 反應)。由於因果關係不明,而且局勢不斷變化,分析預測往往徒勞無功,先採取行動更為迫切。行動後觀察變化,從中找出可能出現的規律,再作出反應,逐漸將問題帶離混亂狀態。
不過這種處理方式並不考慮可持續性,用來處理其他領域的問題的話效益不彰。
Obvious 明顯
明顯領域的問題,因果關係清晰明暸,解決方法顯而易見。例子有幼兒玩具、信用咭審批。解決辦法通常會有標準運作程序(SOP)、最佳實務(best practice)。
處理方式是 Sense-Categorise-Respond (理解 > 歸類 > 反應)。理解後將問題歸類,然後按對應的既定程序來處理。
要注意處理明顯問題容易令人自滿鬆懈,因疏忽而一下子令問題跌入混亂領域。例如安全檢查,習慣只檢查清單上的事項,忽略清單外的潛在風險,當意外發生便釀成災難。
Complicated 繁雜
繁雜問題的因果關係雖然不明顯,但只要具備所需的專業知識,經過調查分析,就能夠理清箇中緣故並找出解決辦法。例子: 維修汽車、建造橋樑。
因此適合的處理方式是 Sense-Analyse-Respond (理解 > 分析 > 反應)。
Complex 複雜
複雜問題的因果關係難明,往往事後才會明朗,而且每個行動會都會對情況造成變化。問題的複雜性亦無法消除,但其規模能夠被縮減。例子:圍棋,對局雙方都會因應對手的每步棋不斷調整自己的策略。
處理方式是 Probe-Sense-Respond (試探 > 理解 > 反應),透過反覆試探令因果關係逐漸明朗,不斷修正解決方法。
為何開發軟件適宜用Agile ?
透過Cynefin 框架了解到各種問題領域和處理方式,就不難理解,為何強調事前規劃,準確定義問題的Waterfall ,只適合用於解決明顯或繁雜的問題,用來應付複雜甚至混亂的問題會捉襟見肘。
軟件開發屬於複雜問題
開發軟件是創造新事物、製作由人使用的系統。與人的互動是複雜的,而開發過程中,亦要不斷應付系統需求的轉變。即使有時候成品本身只是繁雜的,開發時的團隊合作仍然是個複雜問題。
Agile 就是反覆試探、修正的框架
Agile 提倡的開發方式,各方面都很符合解決複雜問題的原則:
- Fail Fast, Fail Safe 鼓勵低成本的試探
- Sprint 是從時間上縮減規模
- 小型開發團隊就是從人的因素上縮減複雜性
- Review 和 Retrospective 是試探後的理解,從而在下一次Sprint 作出反應
以多次sprint cycle 開發,其實就是反覆「試探 > 理解 > 反應」的過程——摸索、收集回饋、檢討、調整解決方案。
聯想
(發想於2019–7–30香港社會動盪之際)
我們的學校教育,著重教授知識和實務技能。
我們普遍的職業工種,諸如文員、倉務、廚師、會計師、工程師、醫生、律師,每日要面對的是明顯和繁雜的問題(雖然視乎人的因素,多少帶複雜性)。
我們的社會價值,強調秩序和守法。
我們的文化傳統,恥於失敗。
以上種種,令很多人只擅長和習慣先理解、分析的問題處理方式,凡事先計算成效得失,謀定而後(敢)動。以致近乎情感上抗拒面對複雜、混亂的問題,甚至排拒其他處理方式。面對失序難題仍然只願意有序思考,無濟於事。在失效的社會,既有制度已被扭曲,惟有從衝突中勇於不斷嘗試各種未知成效的新方法,才能從中摸索出解決之道。
Originally published at CY L. @ Medium on Sep 14, 2019.
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!
- 来自作者
- 相关推荐