數據長與數據驅動型組織系列(7/12)
文/葉宏謨
使用者應該融入 ERP 系統中,成為系統的一部分。
系統與環境
系統由一群彼此互動的元素構成,系統之外就是環境。系統元素可被控制,環境元素不可控制。若將原為環境中不可控制的元素變成可控制,該元素就成了系統的一部分。
汽車是系統,道路是環境;輪船是系統,大海是環境。人是系統還是環境?看人是否可控制。系統的使用者也是系統的一部分,因為他會影響系統;車子和開車的人是系統的一部分,影響開車者的乘客也是;輪船、掌舵的人和划船的人都是系統,大家都在同一條船上;企業是一個系統,主管、部屬、設備、資金等都是系統的元素,競爭者是環境。軍隊是一個系統,指揮官、士兵和戰車是系統元素,敵人是環境。
ATM 是系統,人透過系統介面的操作,可以存款、提款。我們不知道塞進 ATM 的鈔票跑到哪裡,或 ATM 吐出的鈔票從哪裡來。ATM 是系統,使用 ATM 的人是環境。
資料是企業最重要的資產,但目前的科技尚無法將企業資料和 ERP 系統分開,使用者只能操作某一套特定 ERP 系統的介面來存取資料,不像鈔票可以從任何 ATM 存取。ERP 是系統,使用 ERP 的人是系統或環境?人是 ERP 系統的元素。
[ 加入 CIO Taiwan 官方 LINE 與 Facebook ,與全球CIO同步獲取精華見解 ]
ERP 系統的使用者是系統的一部分,使用者遵照 SOP 操作 ERP 介面,ERP 系統才能正常運作;若使用者不受控,不及時輸入資料,或輸入錯誤的資料,使用者就是環境元素不是系統元素,ERP 系統就無法運作。就好像輪胎本來是汽車這個系統的一部分,若掉了一個輪胎,它就變成不受控的環境元素不再是系統的一部分,這個系統就無法運行。
包含人的系統稱為「社會系統」(Social System)。社會系統可分成行動者、資源、行動、規則四個部分。軍隊中的指揮官和士兵是行動者,戰車是資源,打仗是行動,如山的軍令是規則。交響樂團的指揮和樂手是行動者,樂器是資源,演奏是行動,樂譜是規則。軍隊和交響樂團的「規則」必須嚴格,否則無法「行動」。企業應該如何經營?像軍隊或像樂團?
X 理論對呢?還是 Y 理論對? 軍隊長官平常可以對部屬噓寒問暖,戰時則軍令如山;樂團成員平時大家都是朋友,上台則不可以一人一把號、各吹各的調,這音樂還能聽嗎?
企業應該像軍隊或樂團?也許產品製造應該像軍隊,專案管理應該像樂團吧。
紀律
汽車有上萬個零件,ERP 系統更複雜,例如 SOA-ERP 系統(即 SOA 服務導向架構的 ERP 系統)就有一萬多個零件,也就是服務元件(Service Component)。ERP 系統比汽車複雜,但更複雜的是人。一個系統除了零件還有人,人更複雜,人最難搞。汽車系統中有開車的人,他必須了解汽車、學會開車。汽車就一個人開,ERP 系統則有非常多的人一起開,幾乎整個企業的人都包含在內,每個人都必須了解系統,並在正確的時間輸入正確的資料,如同交響樂團一樣,一個人出錯,整個系統就無法正常運作。所以紀律很重要,和軍隊的軍紀一樣重要。
在我的科技小說「SOA-ERP 筆記」的第一章就描述到,MIS 大師 Gordon Davis 訪問台灣時,復盛集團李後藤董事長問他:「MIS 要怎樣才會成功?」他不假思索的說「紀律!」
紀律真的很重要。財務單位需要的資料往往來自製造單位,製造單位需要的資料往往來自研發單位。如果任何人認為他們用不到這些資料就不去收集、處理,ERP 系統一定跑不動。所有人都在 ERP 這條船上,不管你用得到用不到,該你打的資料你就打,就像軍隊那樣,沒有自由民主這回事。所有人都要把 ERP 系統的資料收集處理視為自己的本業,而不是副業。產銷很重要,打單更重要。
[ 閱讀所有葉宏謨的文章 ]
SOA-ERP 系統的一萬多個服務元件就像從生產線製造出來一樣,有嚴格的生產流程 SOP。SOA-ERP 任何一個服務元件的開發過程,一定先有規格初稿,再有規格完稿。規格完稿一定要有測試案例(Test Case),也就是收集可能的輸入資料,尤其是較少發生的極端值,打在 Excel 檔,再設定各種邏輯的計算公式,在 Excel 產生正確的輸出資料。所有程式都必須先在人腦跑過,正確無誤再發包生產。有介面才能測試服務元件,測試 SOA-ERP 服務元件的介面稱為 NEO。規格完稿必須詳細到讓完全沒有領域知識(Domain Knowledge)的程式人員也寫得出程式。規格完稿完成後分別發包給前端層介面和中間層服務兩條生產線,程式完成後須進行單元測試、交叉測試和整合測試,才能發佈。相對的,組合既有 SOA-ERP 元件開發應用程式就很簡單,簡單到公民(使用者)也能自己低碼(Low-Code)開發,只需註記、備忘,不需要開規格,因為所有的卡控、邏輯都已經寫在 SOA-ERP 元件中。
SOA-ERP 系統的開發團隊像軍隊,SOA-ERP 系統的導入團隊則像樂團,也有 SOP,但必須因應變化、隨時調整。ERP 系統導入團隊都是專業顧問,直接面對使用者,雖有專案經理,但不是在發號施令,主要是溝通協調,掌控進度和預算。
客製化的矛盾
應該 ERP 系統遷就人或人遷就 ERP 系統? 多數文獻主張最少客製化、人遷就 ERP 系統,並美其名為「最佳實務」(Best Practice)或「變革管理」(Change Management)。使用者若能接受標準 ERP 系統不客製,則只要教育訓練、學會操作介面就能開始建資料上線使用,但不太可能。如果是作業面而不涉及企業的策略需求,適度的客製化讓使用者更輕鬆的完成工作是必要的。
ERP 系統的導入過程很難預測,主要是使用者的客製需求一變再變,很難控制專案時程和預算。所以一般的服務合約都是「實報實銷」,以時間計費,但也會造成很多爭議,因為有些客戶恐怕不易認同時數的有效性。若以客製程式數量「論件計酬」,對顧問和客戶雙方都好,但簽約前就要確認需求,真是兩難。
簽約前的 POC(Proof Of Concept)很重要,務必要確認未來主要的客製項目和具體內容,才能掌握時程和預算。用戶在 POC 階段提出最關鍵的功能或報表,由顧問在 ERP 系統實作給用戶看,証明 ERP 系統的「架構」沒有問題,就可簽約進入導入階段。畫面欄位多寡、作業流程長短都不重要,因為 SOA-ERP 像積木般可彈性客製、遷就使用者,只要不動到「架搆」就行,架構不能妥協,總不能要求轎車改裝成坦克車吧?
ERP 系統的導入過程最困難的是溝通,故初期就應該對「種子團隊」實施標準系統介面的教育訓練。以 SOA-ERP 系統為例,它的標準介面是 NEO,所有的用詞都和 SOA-ERP 的用詞一致,其欄位也全部對應到服務元件的欄位。若能先實施 NEO 介面的操作訓練,讓使用者用標準 NEO 介面建立測試資料跑完流程,畫面欄位可能太多、步驟可能太繁瑣、操作起來可能不太方便,這些都沒關係,只要記錄下客製需求並作成文件即可。標準 NEO 教育訓練結束後,用戶對新系統的結構、流程、邏輯、用語有一定程度的了解,將來在溝通上可縮短時間,對需要客製的項目也清楚了,可能也會接受部分標準介面,因而降低客製的數量,有助於專案時程和預算的控制。因為客製項目清楚了、具體了,此時可對原來的 ERP 系統導入合約簽訂增補協議。
人是 ERP 系統的一部分,人完善了,ERP 系統才完善。客製階段只建立了 ERP 系統的「程式」部分,客製階段完成後會由「種子團隊」對全體使用者實施教育訓練(上課)並撰寫操作手冊(寫作業),把 ERP 系統中「人」的部分建立起來。
ERP 顧問只能完善 ERP 系統中的「程式」部分(含資料、流程),只有企業的高階主管才能完善 ERP 系統中的「人」部分。ERP 顧問只是輔導角色,不能對企業員工發號施令,「紀律」要靠企業的高階主管。
管理學和醫學
如果顧問是企業的醫生,那麼 ERP 系統就是醫療器材。真是這樣嗎?
管理學和醫學不一樣。醫學有一定的標準,得什麼病、吃什麼藥、開什麼刀,全世界都一樣,因為人是上帝創造的,人體構造都一樣。管理則不然,企業是人創造的,每個企業有自己的一套。導入 ERP 系統時,使用者有把顧問當醫生看嗎? 如果是 SAP 顧問,也許吧。如果不是,算了吧。
雖然 SOA-ERP 系統是根據「管理學」,也就是經過科學驗證的管理之本質,而設計的,但企業用戶往往不把管理當「學」,也不把顧問當醫生,寧可相信自己的經驗。
病人會跟醫生說:你這處方不對,我一定要用另一種處方嗎?病人會對醫生召之則來,揮之則去嗎?
每家企業的基本資料(主資料)各不相同,往往無專責位負責維護基本資料,舊系統經常有同一物品在不同單位編不同號碼的問題,也有不同物品編相同號碼的問題。光是編碼原則的討論,就可以耗掉幾個月。確定編碼原則後各單位就開始編號,又是幾個月。建立基本資料後又有資料錯誤的問題,訂正這些資料也要花費很多時間。更慘的是,以上都是要等使用者有空時才能做。種子團隊應該抽離原來的工作專心導入,就算做不到,至少要能投入大部分時間來參與 ERP 系統的導入。
要是使用者把顧問當醫生或老師看待還好,至少能乖乖聽話。如果使用者認為顧問沒他懂,或說幾十年來我都這樣做了會什麼問題,顧問就失去了權威,變成小弟了。
說個十幾年前的小故事。SOA-ERP 是根據 GAAP、IFRS 和 APICS 等國際標準設計的,對產品成本的計算有一套標準的邏輯,從製造流程中收集事實資料計算出成本。某企業的成本課卻堅持手工調整系統算出來的成本,把事實資料改成人為資料,且要天衣無縫的逆向從源頭的製造命令單開始調起,系統必須把已完工的製令單從新調過。即使有必要調整財報數字,SOA-ERP 也有正規的 IFRS 作法,但成本課不接受,一定要用以前自己決定產品成本的作法,連高階主管都搞不定。這時,顧問已經變成小弟了。真的,只有高階主管才能完善 ERP 系統中的「人」部分。
企業既然能存活那麼久,一定有他的道理。也許顧問不應該自認為是企業的醫生,把自己當作很會操作醫療器材的技工就好。
顧問也不必太悲觀。因客製的需求不會在上線後就消失,上線後顧問還是能持續提供服務。時間久了顧問越來越了解客戶,客戶也會越來越尊重顧問,說不定會從小弟或技工變回醫生或老師呢。
人劍合一:人與系統融合
一般企業大約有 70%~80% 的功能可以使用 SOA-ERP 系統的原生介面 NEO。只要顧問或他的團隊會使用任何前端網頁工具,就可以用低碼(Low-Code)的方式客製其餘 20%~30% 的功能,因為就是複製貼上 SOA-ERP 服務文件(資料目錄)的文字到範例程式而已,好像組積木一樣。
紀律很重要,但總不能都用鞭子,也要有胡蘿蔔。客製化的目的是提供更簡單、更直覺、更快速的操作介面給使用者,讓使用者輕鬆愉快的完成工作,使用者才願意操作系統。使用者是系統的重要零件,螺絲掉了、零件鬆了,系統就無法運作。
我在大學教了很多年的企業應用程式設計,學生們開發 RWD 或 APP 的介面呼叫 SOA-ERP 系統的服務元件,都可以在 3 小時內寫出一個企業真正可以使用的程式。若顧問或他的團隊也能自主寫程式,則可快速客製出使用者樂意操作的程式,導入 ERP 系統的時程一定可以大大縮短,而且在上線後還能繼續提供客製服務,和客戶維持長期伙伴關係。
導入 ERP 系統畢竟是個大工程,人又是最關鍵的成功因素,介於系統和人之間的顧問就非常重要。顧問不一定是外來的,企業的資訊部門就是內部顧問。種子團隊由各流程關鍵使用者組成,ERP 系統上線後外部顧問勢必撤走,內部顧問就必須接手,解決日常資料問題、分析使用者提出的新需求並客製需要的程式。所以在導入階段內部顧問非常重要,資訊部同仁不只是要和種子團隊一起學習,也要帶著種子團隊建資料、跑流程、寫操作手冊等,也要開發部分的客製程式。大企業應該有堅強的資訊部門作為 ERP 系統的內部顧問,只有中小企業才會依賴外部顧問。所有顧問應該有能力組裝 SOA-ERP 元件開發使用者需要的新功能,內部顧問應具備系統分析、系統設計、和程式開發的能力。
一般的觀念是 ERP 系統只是管理的工具,正如劍是人的工具。其實決定 ERP 系統成敗的關鍵因素是人,人是 ERP 系統最重要的元素。就算科技再進步,IoT 自動化了資料輸入,人還是 ERP 系統中最重要的元素。使用者切實執行日常例行作業,內外部顧問或資料服務者(Data Steward)幫使用者執行非日常例行作業(如庫存關帳、成本結帳、會計關帳、申報營業稅、產生財報等),顧問、使用者都融入 ERP 系統中,成為系統的元素,人與系統融合在一起,達到「人劍合一」的境界,企業才能成功的治理其資料,並轉型為「資料驅動型組織」(Data-Driven Organization)。
(本文授權非營利轉載,請註明出處:CIO Taiwan)