筆者有OA系統的設計經驗,本系列將分篇章總結OA中最核心的功能,希望能儘可能全面地記錄筆者的經驗,和感興趣的讀者交流分享。
OA系統對於提升企業和政府單位的辦公效率有非常重要的意義,其應用之廣泛無需多言。由於機構內部業務的複雜性、多種人員身份,以及不同組織間辦事流程的差異性,同時兼顧嚴謹和靈活導致OA的功能邏輯極其複雜。體現其複雜性的一個代表功能就是流程,這是本篇文章探討的對象。
一、關於流程的重要認知
1. 流程讓OA區別於其他系統
機構內各部門和人員間有嚴格的管轄關係,因此諸多業務都有嚴格的辦事流程。
最容易想到的例子就是行政事務的審批流程,比如員工提交請假申請,需經直接領導、部門領導、分管副總審批,最終匯總到人事部門。其他例子還包括部門申請某會議室的使用權限,或者內部公告在發布前經相關人員審查內容等等。
由於OA的主要目的是把線下業務移至線上,因而OA的業務模塊往往要遵循特定的事務流程,深深打上了「流程」這個讓OA區別於其他系統的印記。
2. 流程模塊要獨立於業務模塊
諸多業務模塊都可能涉及流程,從程序設計的角度來看流程的代碼實現應當被作為公用的獨立的函數被其他代碼模塊調用,對於產品設計而言同樣要把流程配置作為單獨可訪問的功能模塊,避免流程和業務的耦合。
業務模塊通過特定的接口查詢流程節點的信息,或者向流程模塊傳遞更新的流程信息。如此一來,產品經理需要思考如何讓某個流程和具體的業務綁定。
解決思路無非兩種,在流程配置模塊裡設計好流程,然後選擇關聯的業務模塊;或者在各業務模塊裡分別嵌入可以配置流程的子功能。第二種方式更靈活,可以根據業務模塊的特別需求定製改造流程配置的功能細節。
二、流程模塊的構成
1. 流程繪製
流程繪製過程中的可視化方式因系統而異,我們不討論這個方面的問題,值得探討的是流程節點的類型。業務場景決定了系統應該提供哪些流程節點,下面列舉幾個常見的節點類型。
1)審批節點
審批節點指定了在該流程環節由誰完成審批動作,應當提供豐富的選擇以滿足不同的業務場景。下面列出幾種指定審批人的方式:
指定用戶:用於特別要求交給某個人處理時。不具有通用性,不常用,但不排除用於應對特殊情況。直接上級領導:比如請假單這類行政審批單,交給直接領導審批。指定職務的用戶:比如辦公設備的申請會提交到設備管理員,只需要指定「設備管理員」職務。指定接口人:比如提前創建好一個「公文接口人」的接口人類型,包含所有部門的助理。下發全公司公告時選擇發給「公文接口人」即可。指定角色的用戶:比如所有的高管都有「高管」角色(角色賦予了用戶特定的權限,接口人是不定義權限的,只是圈定某一些用戶而已)。比如公司財務報表最終發給所有高管查看,在流程節點裡指定「高管」角色即可。指定部門+以上條件:組合條件提供更嚴格的限制。比如請假單提交給「人事部門」的「HR」。2)會籤節點
會籤指的是多人共同籤批,該節點要指定多個審批人,並且設置會籤規則,包括一人同意或者全部同意即可進入流程下個環節。
3)分支節點
流程不一定沿著一條路徑從一而終,就像分岔路口一樣,多個分支通往不同的方向和目的地。分支節點之後定義多個流程分支,流程發起人或審批人在業務模塊裡填寫的信息決定了流程向哪個分支發展。
比如請假天數少於3天時只需要部門負責人同意,請假天數超過3天需要分管副總同意。
2. 按鈕配置
這裡的按鈕指的是「提交」、「同意」、「退回」等顯示在業務模塊給用戶使用的按鈕,用戶點擊按鈕後觸發不同的後續流程。
雖然按鈕顯示在業務頁面,但是按鈕應該在流程模塊裡定義。在流程節點上可以自定義按鈕的名稱,並且定義每個按鈕關聯的後續流程。
3. 欄位校驗
在流程發起人或審批人點擊上文提到的按鈕後,需要校驗業務頁面的信息是否填寫完整、正確,才能進入到下個流程環節。不同按鈕要求校驗的欄位可能不同,比如有的按鈕要求頁面所有信息都填寫,有的按鈕要求部分信息填寫就足夠了,一般校驗欄位是否必填即可。
有的校驗規則比如要求填寫純數字、純字母、或者郵箱地址,在業務模塊的控制項上而不是這裡提到的按鈕上施加這樣的校驗規則比較合適,比如填寫請假天數的控制項只能填寫數字,這一類校驗規則應當在業務模塊定義而不是流程模塊。
4. 欄位權限
處於流程某個環節的用戶看到業務頁面的內容應當被限制使用權限,比如請假單填寫人可以填寫請假時段、請假理由等,審批人只能查看這些欄位而不能編輯。欄位權限包括只讀、編輯、隱藏。在流程節點上設置欄位權限。
三、流程繪製界面
流程繪製界面常見的有兩種:
1. 全局型
這種類型的展現方式可以直觀地看到整個流程的全貌,特別適合於流程分支很多的情況,只是繪製操作複雜一點,需要考慮節點和連線的擺放位置避免混亂。
比如下圖展示的是公文發布流程:
2. 局部型
在這種流程表現形式下,同個頁面只能展示部分節點,繪製時不用考慮節點和連線的擺放,流程複雜時可以只聚焦部分流程,減少幹擾。
下圖截自阿里的宜搭,流程節點排列在一條直線上,「環節1」節點是另一部分流程的入口,點擊後查看該部分流程的細節,如圖「宜搭-流程界面2」所示。
宜搭-流程界面1
宜搭-流程界面2
下圖是「請假理由」欄位取值不同時的流程分支,查看方式不如全局流程圖直觀,特別當流程分支多層嵌套的時候非常不方便。所以這種展現形式適用於流程簡單的場景。
宜搭-流程分支
本文由 @Twincus靚 原創發布於人人都是產品經理。未經許可,禁止轉載。
題圖來自Unsplash,基於CC0協議