引言

業務架構一般不被開發重視,開發人員喜歡追求新技術,而技術是服務于業務的,現在沒有一項技術是自娛自樂的,一定要支撐業務,否則沒有場景。設計好業務架構要考慮的方面比較多,要做到業務彼此隔離、業務與技術 (平臺) 隔離,從業務架構中能看得出整體業務的流程運轉、業務產品的能力、業務領域對象…接下來的兩篇文章將重點講業務架構。

一、什么是業務架構

上篇文章中提到系統架構的方法:系統性思考、分解、抽象、模式,這是總的綱要,針對不同類型的業務架構,要結合本身的特性再加以細化。

業務架構是系統架構的一種,那什么是業務架構呢?業務在百科中的定義是” 涉及一個以上組織,按某一共同的目標、通過信息交換實現的一系列過程,其中每個過程都有明確的目的,并延續一段時間 “。從這句話可以看到幾個關鍵詞:組織、目標、過程,下面仔細分析這幾個關鍵詞的含義。

  • 組織:業務涉及到的人或者組織,這個比較好理解,一項業務應該由多個人來完成,如銷售、財務、產品、研發、售后等。
  • 目標:這是做這項業務的目的和價值,換言之,為什么做這項業務,做好這項業務要達到的目標是什么。
  • 過程:過程就是業務過程,一項業務由多個過程組成,如優惠券業務,它的過程是建券、發券、用券、退券。

上面這樣的描述可能比較空洞,與我們平時接觸的不匹配,再繼續提煉出重要信息。

  • 利益相關者:這個是從 ” 組織 ” 和 ” 目標 ” 中推導出來的,業務的受益方是誰,為什么要做這個業務,肯定有受益的群體,否則沒有市場。如優惠券的利益相關者有用戶、商戶、公司,因為用戶下單可以使用優惠券、商戶可以吸引更多的客戶來消費、公司的GMV就上升了。

  • 業務流程: 這個是從過程推導出來的,并且這個業務流程是固定的 (至少一段時間內)。這里的業務流程是大的流程,每個流程都會再往下分解成子流程,如優惠券中的發券,它會有一系列子流程,如發放規則檢驗、風控安全等。

綜上,到這里,也可以用一個公式來定義業務架構,業務架構 = 業務目標 + 業務流程 + 業務要素,這和系統架構的定義非常相似,只不過是實例化了而已。從業務架構的公式中,最重要的是識別出業務流程和業務流程中包含的業務要素,換個角度來看就是業務要素與業務要素之間的關系,這些關系組成了整個業務。

二、業務架構的特性

已經知道了業務架構是什么,接下來就討論業務架構的特性,通過特性基本上就知道業務架構的大體框架。筆者通過 x、y 數軸加以說明,因為業務要體現出業務流程的流動性和業務的層次性,下面就說明這兩個特性:

  • 業務的流動性:其實這是業務生命周期的體現,從產生、擁用、使用可以看出業務的流動,這是橫向的。

  • 業務的層次性:筆者一般習慣用場景層、產品功能層、領域模型層、依賴層來畫業務架構圖,這是縱向的。場景層依賴下面的產品功能層,多個場景很有可能對應一個產品功能,產品的功能又是由領域模型來支撐的。

三、業務架構的方法

業務架構的方法還是從系統性思考、分解、抽象、模式這四點具體說明。

  • 系統性思考:站在業務的角度,分析業務與業務之間的關聯性,如優惠券業務,它就涉及到人群選擇、風控安全、活動、會場、優惠、交易、憑證等,思考系統之間的交互和依賴關系,以及依賴系統要提供的哪些能力。

  • 分解:系統性思考讓我們的目光放得更廣,整體上考慮整個業務的運轉,此時還沒有想業務的具體流程,只是知道有,并不深入考慮如何做。分解就不一樣,它聚焦的是業務本身是如何運轉的,一般業務由幾個主要的流程組成的,每個流程又能往下繼續分解出細的流程,分解的目的是為了找出業務的要素,此時的元素都是孤零零的。

  • 抽象:分解不是我們的目的,通過分解找出的業務要素,此時要經過一定的抽象才能形成我們的領域對象,因為分解找到的業務要素很多是可以合并歸類的,這樣就大在減少了業務要素,也降低了理解的復雜度。

  • 模式:通過業務架構的特性,按照場景層、產品功能層、領域模型層、依賴層這四層畫出業務架構圖。

所以方法還是上一篇所提到的方法,只不過套到具體類型的架構中,具體化分析。有的時候在想,并不是業務架構難搞,只是我們并沒有像追求技術那樣投入時間研究業務架構,可以不斷運用上面的方法,結合自己的理解和擴展,多去實踐。

四、通過實例畫出業務架構圖

下面通過一個電商場景的優惠券業務案例來說明業務架構圖是如何畫出來的,使用的方法還是上面提到的,通過具體的例子再加以鞏固。優惠券對于我們來講并不陌生,每年的雙 11 都有很多優惠券,有滿減券、折扣券,優惠券是營銷中最常使用的營銷抓手。

4.1 優惠券業務愿景和目標

優惠券的業務愿景是讓用戶可以享受到更多優惠,目標是通過優惠券吸引更多用戶加入,從而提升 GMV。

從這里可以看出,愿景一定是為他人著想,絕不是為了公司自己賺錢,而是創造價值的同時實現雙贏,雙贏才是最終目標。

4.2 系統性思考優惠券業務

如何進行系統性的思考,筆者建議可以使用反推法,假設已經有了這項業務,它應該是如何運轉的、涉及到哪些人,實際上這個過程就是推演的過程,基本上能把整個交互都考慮清楚,業務實現起來基本上沒問題。

  • 用戶:用戶有優惠券,下單會使用優惠券,涉及到交易和優惠。
  • 系統:涉及到建券、發券、核銷券、退券
    • 建券與我們優惠券系統關聯最大,也即是我們要做的事。
    • 發券,發給誰呢,肯定不是遍地撒網,現在基本上是精準營銷了,要知道哪些用戶是活躍用戶,所以涉及到算法推薦;除了發給誰是我們關心的,營銷還有一個比較核心的點,就是營銷模式,你怎么能吸引用戶,這就涉及到會場、活動,這些玩法是非常關鍵的。
    • 核銷券:優惠券券在什么條件下可用 (滿 100 元減 10 塊)?訂單價格如何計算出來的?
    • 退券:退款了,券要不要退回?

所以,經過上面的分析,初步涉及到的業務方就已經出來,此時還只是一個粗略的關系,這個過程可能需要幾輪不斷的討論最后才成型。

4.3 優惠券業務流程

業務流程是客觀存在的,而且任何一個業務在一定的時候內應該有一條穩定的業務流程,這個業務流程是符合人的認識的,具有嚴謹的邏輯性。怎么理解呢?一個業務要運轉起來,不可能是一團糟,一定具備流程,而且是人能接收的,否則你設計一個反人類的業務產品出來,注定是失敗的。拿優惠券來講,根據它的生命周期,很容易想到它的主業務流程:建券、發券、用券、退券。

4.4 分解和抽象

上面是一個大的流程,還要對各個流程再進一步細分,分解成更小的子流程,每個子流程中包含一系列的步驟,其實這個步驟就是不斷深入地過程,同時對業務的理解也不斷加深,多問幾個為什么就深入了。

  • 建券:這個券包含了哪些內容?
  • 發券:給誰發?發券的條件是什么?
  • 用券:什么條件下能使用優惠券?用券涉及到哪些過程?
  • 退券:什么場景下會退券?

隨著深入的過程,整個業務的細節也浮現出來了,現在就是要抓業務要素,這個要素可以通過每個階段的產物來看。建券的產物是券批次,發券的產物是券實例,用券的產物是用券明細,退券的產物是退券明細。

接下來就是抽象的過程,這個抽象的過程就是對已找出的產物進行抽象。券批次包含:券類型和券門檻限制兩個重要的信息,用券明細和退券明細統一抽象成券明細,優惠券又與活動強相關,所以也把券活動放進去。

4.5 優惠券業務層次結構

接下來就是畫整體的業務架構圖了,按照場景層、產品功能層、領域模型層、依賴層來畫,畫業務架構圖要體現兩點出來:業務流向和產品功能。通過下面的圖可以直觀地感知業務流向是什么 (即是藍色區域,建券、發券、用券、退券),通過分層可以清晰地看到可以支持的場景有哪些,場景依賴的產品功能有哪些,業務的領域模型是什么,依賴的業務又有哪些,真正好的圖能做到一圖勝千言的效果。

筆者喜歡的畫法是 ” 一主兩翼 “,主體的部分就是上面講的分層,兩翼是運營平臺和數據平臺,這樣很直觀、簡潔。

五、小結

本篇文章主要講業務架構的定義、特性以及業務架構的方法,最關鍵的是尋出業務的要素和要素之間的關聯關系,最后通過一個實例來講解業務架構的畫法,本篇只是業務架構的基礎,通過這個業務架構圖基本上知道業務的流轉和業務的產品功能。接下來的一篇主要講業務架構中的能力視圖、業務監控。

Comments are closed.