第5章 人為過失?錯,是設計不良 (Human Errors? No, Bad Design)
有些錯誤是人為刻意的錯誤 (deliberate errors),例如,開車偶爾闖紅燈、超速;但是,本書提到的人為錯誤,是非刻意的錯誤 (unintentional errors)。
根據估計,因人為過失所導致的意外高達 75 ~ 95%,為什麼人這麼容易犯錯?答案是,因設計不良所引起。若只有 1 ~ 5 %的人為過失,還可歸咎於人,若犯錯頻率如此高,該檢討的就是設計。設計師很了解物理限制 (physical limitations),但對心理限制 (mental limitations) 常有誤解。
人類是具有創造力、建設性、探索性的生物,人類擅長尋找新事物、創造新的做法、尋找新的機會;呆板、重複性與要求極度精確,卻是違反人類的天性。
一個意外的發生,通常是多件事情的運作失靈;追查 root cause 的過程,通常先問誰犯錯的,就予以懲罰,沒有繼續找出真的 root cause。
當一個錯誤頻繁發生,應改進系統,使此類錯誤能被降低或避免。當無法完全避免時,盡量降低犯錯後所造成的傷害。
根本原因分析 (RCA,root Cause Analysis) 旨在找到問題的根本原因,是分析、解決問題的一種「治本」的方式。透過調查和分析問題哪裡出錯、為什麼出錯,尋求防止差錯事故再次發生的必要措施,從而提高服務安全和品質。Proximate Case ≠ Root Case (近因不是根源)。(Ref: https://reurl.cc/2bkGv9 )
由 Toyota 創辦人 Sakichi Toyota (日本工業革命之父) 所發明的 five whys 方法,用來揭露公司製造流程的技術問題的成因。five whys 方法是一個簡單的方法來發現問題根本成因與找出未預期的機會,是將一個大問題分解為多個個別模組的過程。以尋找美式足球員腦震盪的根本原因為例:(Ref: The Bullet Journal Method, https://reurl.cc/6y3m0y )
Why | Answer |
① 我的頭怎麼那麼痛? | 因為我看不清楚。 |
② 為什麼看不清楚? | 因為我摔到撞到頭了。 |
③ 為什麼會摔倒撞到頭? | 我被擒抱,所以跌倒撞到頭了。 |
④ 什麼跌倒撞倒頭後會這麼痛? | 因為我沒戴頭盔。 |
⑤ 為什麼不戴頭盔? | 更衣室裡的頭盔不夠。 |
|
Error (錯誤) 的類型:slips (失誤)、mistake (錯誤)
名詞定義 |
① Action-based slips | 心裡想著要完成的事情,但執行結果卻未如預期,例如,野手漏接飛球。 | ② Memory-based slips | 屬於潛意識層級 (low level) 的錯誤,故歸類為 slip,例如,我知道煮飯完成後要關瓦斯,但最後我卻忘了關。 |
① Rule-based mistake | if-then 規則套用在不適合的狀況,若對現況誤診 (misdiagnosis)、誤解讀 (misinterpretation),就會出現 rule-based mistakes。 | ② Knowledge-based mistake | 錯誤地診斷狀況,或因知識不足,導致無法正確診斷狀況。例如,秤重單位搞錯,用 kilogram,卻誤標示為 pound | ③ Memory-lapse mistake | 屬於認知層級 (high level) 的錯誤,因時間壓力導致忘記當初的目標與計劃。例如,因時間壓力而未做完整的檢修 (troubleshooting) |
|
Error 與行為七階段模型 |
Slips 與 mistakes 發生於行為七階段模型之處: mistakes 發生於較高的認知層級,即目標 (Goal)、計劃 (Plan)、比較 (Compare); slips 較低層級,即制定 (Specify)、執行 (Perform)、感知 (Perceive)、解釋 (Interpret); Memory-lapse 發生於每個階段的轉換,導致動作未如預期完成;memory-lapse 發生於認知層級就是 mistakes,發生在較低層級就是 slips。
|
失誤有一種有趣而矛盾的特性:熟練的人,往往比新手更容易發生失誤。因為失誤常常來自不專心。由於太熟練了,技巧嫻熟的專家往往依賴下意識的自動化行為。新手則必須有意識地集中注意力,相對上反而失誤較少。slips (失誤) 可分成四類
Slip types | 說明 |
Capture slips (擷取性失誤) | 【例子】當我在影印機前計算頁數時,我發現我這樣算頁數「1, 2, 3, 4, 5, …, Jack, Queen, King」(因為我最近很常玩牌) 在某方面來說,擷取失誤是一種記憶性失誤,很少有不熟悉的行動擷取熟悉行動的例子。 設計者必須避免起始程序過於相似,而從中間開始分歧的程序設計。越有經驗的人,越有可能犯擷取失誤。如果可能的話,行動的順序在一開始就要有所區別。
|
Description-similarity slips (記述類似的失誤) | 【例子】我以前的一個學生說他有一天慢跑完回到家中,脫下他汗濕的衣服,捲成一團變成顆球,想把它投進洗衣籃裡。結果他投進了馬桶裡。(這不是因為他瞄得不準;洗衣籃和馬桶是在不同的房間裡。) 在我們累了、有壓力、無法專注或心理負荷過重的時候尤其容易發生此失誤。因為洗衣籃和馬桶都是個容器,加上慢跑回來太過興奮,如果心理描述的目標不夠明確(例如說,「一個能裝東西的容器」),便可能會觸發失誤。 記述類似的失誤是對錯誤的對象執行了正確的動作,而對象之間相似的程度愈大,失誤的可能性愈高。同樣地,出現的相似對象愈多,也愈有可能失誤。 ✈️ 在飛機駕駛艙的設計中,許多控制器應該有不同的形狀,使它們容易分辨:控制引擎的油門桿和控制襟翼的桿子(看起來可能像一片機翼)就明顯不同,而起落架的控制器(可能像一個輪子)又不一樣。
|
Memory-lapse slips (記憶缺失的失誤) | 【例子】去影印文件,只拿走複印的文件,卻把原稿留在影印機;用提款卡從 ATM 領錢之後,沒有取回卡片就走開 (因為發生太多次,銀行所幸設計要取出卡片後才能領錢)。 大多數記憶缺失的直接原因是干擾:在決定行動和完成行動之間,因其他事件的干預,而打斷了行動。這樣的干擾常常是因為機器的操作有太多步驟,使得我們的工作記憶負荷過重。 有幾種方法可以防止記憶缺失的失誤。一種是盡量減少步驟,另一種是對尚未完成的步驟提供明顯的提醒。一個很好的方法是利用強制性機能, 例如 ATM 為了防止你將卡片忘在機器裡,會要求先收回提款卡後,才能領錢。以筆的例子來說,解決的方法是讓筆不能被拿走,例如共用的筆常常用根繩子連在桌上。
|
Mode-error slips (模式的失誤) | 當一個裝置有數種狀態,而相同的控制器在不同的狀態下具有不同的含義,我們稱這種狀態為「模式」。如果功能比控制器的數目多,也就是說,同一個控制器在不同模式裡有不同意義的時候,模式的失誤是一定會發生的。當我們在機器上添加越來越多的功能,模式的失誤很難避免。 隨著汽車變得越來越複雜,儀表板要控制駕駛、空調、娛樂、導航,模式的應用會越來越普遍,而問題也就無所不在。 模式的失誤實際上是設計的錯誤。如果設備不能明確地顯示當下的模式,模式失誤特別容易發生。若使用者心裡必須要記住目前設定的模式,這個記憶可能被許多事情干擾。設計者必須盡量避免使用模式,但是如果一定要用,設備必須很明確地顯示當前的模式,減少使用者的記憶負擔,而設計上也必須彌補干擾造成的影響。
|
Mistakes 起源於不合宜的目標與計劃,或在評估階段錯誤地比較目標與結果。mistakes 的分類:
Mistake types | 說明 |
Skill-based mistakes (過度熟練的錯誤) | |
Rule-based mistakes (規則誤用的錯誤) | 當熟悉的 if-then 規則套用在不適合的狀況,若對現況誤診 (misdiagnosis)、誤解讀 (misinterpretation),就會出現 rule-based mistakes。 Rule-based mistakes 很難避免與偵測。一旦某個情境被歸類為某一類,就會被套用某個規則,這個過程非常快速且直接。 對設計師來說,應盡可能地以前後一致且容易解讀的方式呈現事物的現況 (current state),避免使用者歸類錯誤 (misclassify)。
|
Knowledge-based mistakes (知識缺乏的錯誤) | 此狀況常發生於面臨新的狀況、使用新的工具、稀鬆平常的日常作業遇到未預期錯誤時。 當遇到新的狀況,沒有現有的技能或規則可運用,需透過 conceptual model 進行推理與解決問題時,若對現況誤診 (misdiagnosis)、誤解讀 (misinterpretation),就會出現此錯誤。 設計師應協助使用者了解陌生的現況,指引使用者問題解決技巧,例如,提供清楚的操作手冊、友善的使用者協助工具等。
|
Memory-lapse mistakes (記憶缺失的錯誤)
| 因為周遭的干擾忘記目標或行動計畫,導致 memory-lapse mistakes。 mistakes 與slips 皆有 memory-lapse,忘記原本的目標或行動計畫是 mistakes,反之,則是 slips。 為避免 memory-lapse mistakes,設計者在設計上應保留著之前的紀錄,預設使用者在執行過程會受到干擾,需要設計師的提醒以重新執行任務。
|
當技能與規則是受控的,人類處理層級就是在 behaviroal level,處理方式是潛意識地與自動化的;相反地,若技能與規則是非受控的,人類處理層級就是在 reflective level,處理方式是有意識且緩慢的。
社會與機構壓力 (social and institutional pressures)
說明 |
|
運用 Checklists 預防人類容易遺漏、分心、粗心等疏失 |
Checklists 在航空界已被證明是個能強化行為精確性的利器,其能降低人為錯誤,特別是 slips (失誤) 與 memory-lapse (記憶缺失)。 在面臨複雜環境、時程壓力、社會壓力下,人就是容易犯錯,檢查表可以預防人類容易遺漏、分心、粗心等疏失,提醒我們至少要確實做好哪些步驟。這麼做不只是為了確認,而且能追求更優異的表現。 2001 年時, Johns Hopkins Hosptial 的加護病房 (ICU, Intensive Care Unit) 開始試行避免靜脈注射感染 (central line infections) 的 checklists,包含:① 使用肥皂洗手、② 使用氯己定消毒患者的皮膚、③ 使用無菌窗簾隔絕病患、④ 醫護人員要戴口罩、帽子、手套與無菌袍、⑤ 在注射處貼上無菌貼布。護理人員只需要無腦地檢查上述五個規定是否有遵守,並且提醒來看診的醫生是否有遵守。此措施實施一年後,10 天內因靜脈注射而產生感染的機率從 11% 降到 0%。將施行的其間再拉長 15 個月,整個期間只有兩例感染案例。相較施行 checklist 程序前後,醫院至少避免了 43 例感染、8 例死亡與節省了 200 萬美金的感染照護成本。 Checklists 的制定有四個原則:① 簡單 (simple)、② 成本低廉 (cheap)、③ 有效 (effective) 與 ④ 易於傳播 (transmissible)。例如醫療團隊為了解決巴基斯坦、孟加拉等地,因在當地無法取得乾淨的水源使用所導致的腹瀉、肺炎 (pneumonia)、膿包病 (impetigo)、皮膚細菌感染、霍亂等問題。由於興建水庫、下水道系統等工程所費不貲,而且曠日廢時,無法即時解決目前的醫療問題。故醫療團隊開始發放免費肥皂與教導當地居民如何正確系統,並列了幾個要居民遵守的 checklists:① 每天洗澡一次;② 每次如廁後要洗手;③ 吃飯、準備食物與餵食孩童前,都要洗手。透過發放肥皂與正確洗手方式,輔以 checklist,兒童腹瀉比率減少52%,肺炎少48%,細菌性皮膚感染少35%。儘管尚未改善不潔的水源,但是只用肥皂依然能控制傳染病。
|
回報錯誤
說明 |
降低錯誤發生的方法,就是要承認錯誤、蒐集造成錯誤的資訊、做出適當地改變以預防未來錯誤的發生。 因怕遭受處罰或訕笑,人都有不想承認錯誤的傾向。我們應設計易於回報錯誤的流程與方法,目的不在於處罰,而是研究發生的原因、該做什麼改變,以避免錯誤再度發生。 事後控制不如事中控制,事中控制不如事前控制,應盡力做到做到防患於未然。
|
Case Study : Toyota 如何處理錯誤 - Jidoka (自働化) |
豐田生產方式的兩大支柱就是「JIT (Just In Time)」與「自働化」。在必要的時間,生產必要的物品,而且只生產必要的數量,藉此徹底剔除浪費;機器會在異常發生時,自動停止,讓問題突顯出來,然後進行「改善」。 豐田所使用的「自働化」與一般的「自動化」不同,豐田的自働化將「自動停止」的概念運用在生產線上,假如發生機器、品質異常,或是作業延遲等其他突發狀況,機器就會自動感應並且立刻停止生產,每個人員附近也都有按鈕,若是機器未辨識出來,也可由負責的人員按下按鈕,整條生產線就會停止,等到問題解決了之後,整條生產線才會再次啟動,這也落實了豐田所謂「不浪費」的原則,他們寧願在生產時就把問題解決,也不要在生產完才發現生產的都是劣質品。(Ref: https://reurl.cc/o9Mokj )
|
Case Study : poka-yoke (防呆) 方法 |
這項概念的原創者為日本的品質管制專家、著名的豐田生產系統創設人新鄉重夫 (Shigeo Shingo) 先生 (1909 ~ 1990年),他根據其長期從事現場品質改進的豐富經驗,首先提出防誤 (ポカヨケ,Poka-yoke) 系統去完全消除錯誤的概念,並將其發展成為用以獲得零缺陷,最終免除品質檢驗的管理工具。 poka-yoke (防呆) 方法使用了本書提到的所有原則:affordances, signifiers, mapping, constraints, forcing functions。
|
偵測錯誤
說明 |
|
後見之明偏誤 (Hindsight bias,HB) |
|
Design for error
說明 |
|
錯誤成因 |
|
減少錯誤的方法 |
方法 | 說明 | 從錯誤中學習 | 以航空業為例,美國於1967年成立國家運輸安全委員會 (NTSB, National Transportation Safety Board),負責民用運輸事故調查,主要任務是「確定運輸事故和事件徵候的可能原因,並制定安全建議以改善運輸安全。」基於其管轄範圍內的調查結果,NTSB 向有權實施這些建議的機構和體系提出正式的安全建議。NTSB 認為安全建議是防止未來民用運輸事故的主要工具。 | 增加限制以避免錯誤 | poka-yoke (防呆)、限制、forcing function 等,都是此類智慧型應用。以 ATM 為例,一定要先取出金融卡後,才能領錢;以網路線為例,若方向不對就無法順利插入網路孔。 | 提供 undo 機制 | 作業系統就善用 undo 機制方式,並設置資源回收桶讓你還原已刪除的檔案。最佳的 undo 機制必須記錄一整串動作紀錄,讓使用者盡可能地回復到之前的系統狀況,例如 Apple 電腦提供的 Time Machine 機制;在 Chrome 瀏覽器,若誤關 tab,可透過 Ctrl + Shift + T 還原之前開啟的 tab。 | 提供確認與錯誤訊息 | 設計網頁時,當使用者要刪除某筆資料時,會出現 confirm dialog,請使用者再次確認是否真的要刪除。
為了避免使用者操作錯誤,設計師應:❶ 在重要的事物使用較大、較顯眼、較鮮艷的配色;❷ 讓使用者可以反悔,例如,使用者選擇刪除,但只是標示為刪除,未真的刪除。 | 利用常識檢查 | 胖手指失誤 (Fat-finger error) 是證券、外匯等金融市場中,因鍵盤輸入失誤而造成的錯誤交易,通常會導致證券成交的數量和價格錯誤,造成經濟損失並可能引發市場混亂。台股發生不少錯帳事件,其中最有名的烏龍錯帳,是富邦證券2005年6月因營業員將客戶下單的8000萬元,誤輸為80億元,造成多檔個股漲停,而該筆錯帳金額更創下台股史上最高紀錄。系統應盡可能做常識檢查,若覺得有疑問,應出現 confirm dialog,請使用者 double confirm。
常常有一些行政作業的事,很簡單但也很容易失誤。通常檢查一個東西,我們會有很多人輪流檢查。但其實人越多,就會覺得錯誤別人應該也檢查到了,導致每個人的檢查都很不細心。書中有提到比較好的做法是,兩個人一起檢查並填寫核對表。 | 讓失誤 (slips) 最小化 | 熟練的專家常因太熟練而導致不經大腦、自動化地做事,導致發生失誤 (slips) 。讓失誤最小化的作法,就是讓使用者提高注意力、有意識地做事、並給予適時回饋。
以醫院為例,為避免給錯藥物給患者,現在已利用條碼來做層層確認,以降低失誤。當護理人員將藥給住院病人時,可以掃描病人手腕腕帶上的條碼,確認是正確的病人,接著可以掃描藥袋上的條碼,護理人員及軟體可以確認是在正確時間、以正確劑量、正確給藥方式提供的正確藥品 (5 rights)。
|
|
🧀 瑞士乳酪模型 (Swiss Cheese Model)
說明 |
形容意外事件能夠被發生,只是湊巧同時穿過每一道防護措施的漏洞,有如層層乳酪中湊巧有一組孔洞的集合,能讓一束光線直接穿過。當檢視醫療與飛安事件時,尤其能看到這種「步步錯, 最後引發不幸」的例子,只要當時任何一個環節做對,事件就不會發生。換而言之,增加防護的層數 (乳酪層數) 及減少疏忽 (孔洞) 的發生,就能提高意外被阻擋下來的機會。最重要的,只要有一步做對,有任何一刻阻擋事件的穿透,悲劇就不會發生。(Ref: https://reurl.cc/bzKGLy )
|
Lesson Learned |
|
Resilience Engineering (彈性工程)
說明 |
當複雜的系統發生故障和事故,往往錯誤歸因於人為錯誤。利用彈性工程的構建系統,能夠有能力預測和規避事故的發生,藉由適當的學習和適應,盡可能地恢復中斷前的狀態。 |
A Vision Of Resilience |
|
自動化的矛盾:隨著科技演進,機器越來越聰明,越來越自動化,並帶來許多便利。以自駕車為例,我們可以預期當路上汽車都是自動駕駛時,車禍比例會大幅降低,但是當自動駕駛機制出問題時,將會帶來巨大災難。
處理錯誤的設計原則
說明 |
|
處理錯誤的設計原則 |
讓所需的知識儲存於外部 (knowledge in the world),不要讓所有知識都須讓人類記憶 (knowledge in the head)。 善用自然或人工的限制 (natural or artificial constraints):包含物體、邏輯、語意與文化限制,善用 forcing function 與 natural mapping 的力量。 協助人類跨越執行隔閡 (the gulf of execution) 與評估隔閡 (the gulf of evaluation):
|