「說不出你的工作流程,就代表你根本不知道自己在幹嘛!」
—威廉·愛德華茲·戴明 美國生產管理學家
最近在寫code、思考程式問題的過程中,我發現程式邏輯與我過往的工作經歷中,有一些相似之處。
剛接觸網頁開發時,面對IT這門巨大又相當龐雜的知識領域,我了解到有個核心思維是貫穿其中的,那就「運算思維」。
運算思維乍看之下很「很數學」,給人難以親近的感覺,尤其數學苦手的話。
但其實這項思維工具的概念講白了就是:
面對一項複雜的難題,先從拆解著手,把大問題拆解成一個個小問題,並從拆解的問題當中,辨識出規律與模式,最後總結這些規律與模式,歸納成演算法。
演算法,又出現了一個很潮又酷炫的名詞!但演算法說穿了,就是:解決問題、完成任務的一連串邏輯化的步驟與流程。
把這些步驟跟流程用程式語言表達,才能讓電腦代替人腦去執行工作。
在程式語言就是以這樣的思維為核心,進行編寫與建構。
這樣的思維方式讓我感到些許地似曾相似,我突然想起,這不就是當年我在戰術執法單位時,需要建立原則與流程的那段工作經歷嗎?
我仍在戰術執法機關任職時,剛報到的那陣子,隊上當時的執勤方式偏向經驗法則。
某些原則與SOP僅靠口耳相傳,並沒有彙整為單位內部的正式文件。
雖然在工作的過程存在著一些方法,這些方法看似有規律與共通的特徵,但深究起來會發現,每個人的理解與實行方式都不太相同。
也就是說,隊員間在任務行動上的協調配合,沒有形成一套系統化的工作流程。
這會造成:「相同的問題,可能每次都採用不同的方式解決」,雖然戰術執法的工作,會需要靈機應變與彈性,但缺乏系統化的解決方案流程,這會讓工作成果不穩定,也不容易在事後追蹤問題,甚至是修正與更新。
在當時,約莫201X年,以一個專業化的執法機關定位來說,這種事感覺還蠻不可思議的。
聽聞單位的學長前輩講古,他們不約而同提到,「古早」時期的作風,更加得土法煉鋼,別說沒有原則、SOP,到了勤務現場後,幾乎是靠臨場發揮、隨機應變。
現在回過頭來看當年,我震撼到不自覺再說一次:
雖然不同的時空背景下,存在著不同的條件與難處,但是以一個專業化定位,並且會面臨許多高風險案件的執法機關來說,這樣的作風還是很不可思議。
直到後來,大概是在2017台北世大運舉辦前的維安演習期間,在一群有危機意識的前輩以及新進的學弟妹激發下,隊上意識到現有的工作方式,可能不足以應付高風險與高度不確定的案件現場。
因此建立一套應對高風險勤務的系統化流程,是有必要的。
像是重大案件的分類與歸納,像是大規模濫殺、人質案件以及一般的高風險現場等等。緊急出勤的人員編排,思考怎樣的出勤流程最為順暢,以及在現場的行動過程中,擬定隊員間的協調合作的方式。
行動原則也開始更新,從最泛用的OODA循環原則、人質事件的NGSA原則、戰傷救護的MARCH流程等,我們開始將新導入,並且有共識的原則融入到行動流程之中。
雖然這個過程並非一次到位,也遭遇過一些阻礙,但是隊上逐步改良與彙整出系統化的行動方案,從最初的模糊想法到雛形,最後上線採用,一直到我離職前,這套系統至今仍不斷完善。
我有幸參與這個過程,並且在這期間,與許多前輩們交流學習,真的獲益良多。從這之中我也感受到流程,以及建立流程的思維的受用之處。
不僅是在戰術執法的行動上,甚至工作與生活中,這項思維工具都有派上用場的地方。
雖然提到公家機關,常給人墨守成規、官僚等為人詬病的印象,但我在戰術執法機關的工作中,親身體會到一個良好的流程設計,以及流程思維會為解決問題帶來相當的幫助。
流程對解決問題有什麼樣的幫助呢?我發現有以下三個好處:
- 快速進入狀況
- 限縮關注範圍
- 便於調整與改進
首先是「快速進入狀況」,這部分對一位初來乍到的新手來說特別重要。
想像你到任一個新工作,除了環境不熟悉外,對接下來會發生什麼事也一無所知,更別說狀況判斷與解決難題。
這樣的情況下,很容易造成辦事效率低落,也就是所謂的「瞎忙」。
我發現瞎忙的產生不脫以下幾個原因:
第一個是不熟,以前有一位教官跟我說過:「剛開始的時候,先慢才會順,順了才會快」。
新手時期少不了摸索學習的階段,這時候就算你想快也快不起來,硬趕鴨子上架也只是讓鴨子跌下來摔死。
而流程就像是食譜一樣,雖然不可能馬上讓新手變成大廚,但是他至少可以「照表操課」,煮出一道還像樣的菜餚。
大部分工作的流程都是依照時間或順序,串接起來的一系列步驟和做法。
在這些步驟當中可能會嵌入一些狀況判斷,代表步驟開始出現分歧選項:當遭遇某些狀況,或某種條件發生時,你必須如何如何,才能接續之後的步驟。
就像按照食譜做菜一樣,雖然可能不會出現太驚艷的成果,但至少不會太離譜。
照表操課聽起來是個不怎麼聰明而且死板的工作方式,但其實是前人從經驗之中總結出的智慧。
例行公事或是常見問題,鐵定是前人一再碰上,並從中發現規律,才逐漸形成標準作業流程。
只要你面對的問題並非前所未見、具有極高的不確定性,或是像藝術創作那樣,完全倚賴想像力揮灑等等情況,其實日常大部分的問題其實都是例行公事。
如果例行公事都需要耗上大把時間與精力,該如何處理真正重要的事?
依據80/20法則,日常活動中大部分的工作都是例行公事,想辦法將不重要的例行公事流程化、自動化,像工廠生產線一樣,把常見問題與瑣碎工作打包起來,順著流程解決,才能把時間精力留給真正重大、沒有標準答案的難題。
提到時間與精力,就要來談談流程話下一個好處:「限縮關注範圍」。
企業執行長像是蘋果的賈伯斯,以及最近相當受到關注的輝達黃仁勳,他們的服裝都是日復一日相同的款式(前者是深色高領毛衣配牛仔褲加運動鞋,後者為皮衣),甚至演變成一種個人標誌。
這就是流程化、標準化的好處:節省心力。
雖然對一家企業的執行長而言,形象的重要性不言而喻,但他們需要把專注力放在更重要的事情上,所以形象一但建立,接下來就交給流程:if(如果是)公開場合就穿這件。
人一天的專注力是有限資源,這也是造成瞎忙第二個的原因:注意力超載。
注意力就像老婆發給的零用錢一樣,每天就這麼多,花完就沒了,而且比零用錢麻煩的是,專注力不能存下來,沒用完當天就歸零,直到隔天重置。
當事情爆炸到處理不來時,注意力就像少得可憐的零用錢碰上一堆帳單的情況,接下來吃土配西北風就是預料之中的結局了。
心流指的是人極度專注的狀態,而人的專注狀態一但被打斷,就會需要相當的時間才能恢復。
人的思緒是有慣性的,就像火車一樣,一列接著一列順暢地前進,在理想情況下,我們都不希望火車行進的軌道有狀況,或是在抵達下一站前因為無關緊要的事停下來。
而打造好流程就是建造好鐵軌,工作的過程與人的關注範圍都被限縮在這條鐵軌上,當出現狀況或Delay時,我們只要沿著這條鐵軌很容易就能揪出問題,並加以調整與改進。
來到最後一個重視流程的好處:「調整與改進」。
前面提到的OODA循環原則,其中就包含調整與改進的環節。
OODA循環原則是由美國空軍上校約翰.柏伊德提出的概念,分別由觀察(Observe),調整(Orient),決定(Decide),與行動(Act)組成的行動與決策循環流程。
OODA循環是個相當泛用,涵蓋範圍相當廣的解決問題流程。
因為它包含著一個關鍵動作:自我改進與更新。以前有一位教官曾對我說過:「沒有完美的計劃,只有不斷改進的計劃」。
畢竟外在的環境是動態的,隨時都在改變,而我們在工作或生活中遭遇的難題,也不會一直保持相同的模樣,因此一個好的流程必定包含著更新與改良的機制。
將解決問題的方式系統化、流程化,有助於我們檢視處理問題的過程與思路。
當你看得見事情是怎麼發生的,你也看得見你是怎麼讓它發生的,你才能知道該如何修正。
小結
美國一位研究生產與管理的學者威廉·愛德華茲·戴明曾說過:「你沒辦法講出你的工作流程,就代表你根本不知道自己在幹嘛。」
流程思維就是一幅「讓你知道自己在哪裡?我接下來該幹嘛?」的地圖。
雖然有時候我們面臨的情況不明朗,問題很模糊,也不知道是否存在著明確的路徑與終點。
但你不試著梳理現有的資訊、盤點手上的資源、安排優先次序與初步的行動方案,長久下來就是跟著捲入這一團混亂之中,越攪和越糟,最後淪為瞎忙。
沒有明確的地圖就得試著自己動手畫。
從釐清現狀開始,拆解與分析問題,評估選項與驗證可行性,總結出共通點與規律,邏輯、理性地建構步驟與流程,最後AAR檢視這個過程,檢討與重構路徑。
無論是一場高風險的執法任務或是程式碼的組織編寫。
地圖就這樣逐漸清晰了起來。
從過往戰術執法的工作經驗,到最近不斷用上的運算思維;我不斷熟練與理解流程,到後來嘗試建構自己的流程。
在這些解決問題、完成任務的工具之間,我感覺到彼此存在著共通的聯繫。
曾聽人說過:「所有的知識技術,底層都是相通的。」
可能就是這樣誤打誤撞,我才有機會在這些看似不相干的領域裡,發現串連起來的奧妙與樂趣。
雖然在人生的每一個時刻,未必都需要這麼講究嚴謹的流程,但是了解這些方法與工具,如同開啟一扇窗,讓自己從不同的地方,看見不一樣的景色。
流程思維更可以協助優化工作與生活,但最重要的是,運用這些工具整理想法、釐清思路,強化我們身為人,天生就具備的思考超能力。
有句話是這麼說的:「思考順了,人生就順了。」