大廠的供應鏈採購系統設計

發表於2024-02-17

關注我,緊跟本系列專欄文章,我們們下篇再續!

作者簡介:魔都技術專家兼架構,多家大廠後端一線研發經驗,各大技術社群頭部專家博主,程式設計嚴選網創始人。具有豐富的引領團隊經驗,深厚業務架構和解決方案的積累。

負責:

  • 中央/分銷預訂系統效能最佳化
  • 活動&優惠券等營銷中臺建設
  • 交易平臺及資料中臺等架構和開發設計

    目前主攻降低軟體複雜性設計、構建高可用系統方向。

參考:

0 前言

公司發展面臨商業環境變化,如流量模式、競爭格局和公共衛生事件。採購系統作為供給端核心系統之一,做好頂層設計並持續進行系統演進,才能適應劇烈的業務變化,服務好終端使用者。本文從定義宏觀設計藍圖落地系統持續演進展開整個採購系統架構過程,看業務系統架構設計過程。

1 定義宏觀

不斷聚焦,推演採購系統的底層架構關鍵點。

1.1 最大的變化和不變

商業定位,確定架構底層邏輯:

  • 變化:企業面臨商業環境變化及自身發展訴求。企業商業定位面臨調整,業務範圍可能擴張或收縮,業務模式可能微調或顛覆。架構重心發生極大變化,需提前規劃調整,不然系統和業務發展間隙越大
  • 不變:商業定位決定公司長期走向,商業定位一旦確立有長期穩定性,以一個明確定位來佔領使用者心智,同時業務都圍繞定位展開

如定位平臺模式和品牌模式的電商公司,業務特點和架構特點匹配如下:

業務特點架構特點
平臺模式(如:天貓)撮合大量商家和消費者,關注交易量,關注GMV。入駐品牌多,品類廣,更關注商品交易屬性,基本不關注生產製造起量快,得確保系統設計易擴充套件,無論表拆分、機器擴容。營銷玩法多變,為快速響應業務,需靈活前臺設計和堅實中後臺
品牌模式(如:嚴選)關注忠誠使用者,關注利潤率,以品為核,從設計製造環節抓起,到商品交付給使用者,乃至售後都兼顧。但品類數量增長慢,資產重需向多渠道鋪貨,業務前端要匹配各平臺玩法。業務後端從商品企劃到設計、生產、製造、運輸、倉儲的鏈條極長,流程聯動,資料準確性保障都要考慮。為匹配業務前端,往往要做渠道庫存、渠道訂單這樣的抽象設計

1.2 全鏈路視角:深度協同 &雙向驅動

  • 商業鏈條極長,選品,採購溯源,計劃下單,合同簽署,備料協同,生產製造,品質管控,物流運輸,倉儲管理,退供翻新,金融結算等環環相扣
  • 協同角色極多,從商品開發,採購,計劃,品控,關務,財務等密切合作
  • 層次錯綜複雜,從傳統的供應鏈三流:實物流、資訊流、資金流和商流,縱橫交錯

<img src="https://javaedge.oss-cn-shanghai.aliyuncs.com/773008fa5dd89f0f1bf266ffa8fe890f.webp" style="zoom: 67%;" />

供應鏈業務和技術是互咬齒輪:

  • 前期業務驅動,大量場景需線上化,完成初期流程閉環和資料積累
  • 發展一定階段,大量技術驅動場景,展現數智化特徵,如服務供需平衡的銷量預測、智慧補貨,服務庫存平衡的採購分倉、倉間調撥

整體供應鏈採購發展是技術和業務雙驅。架構設計過程,要認清當前系統和業務的發展階段,平衡好當前訴求和未來發展,做好業務支撐同時,挖掘數智化機會,為變化留有餘地同時拒絕過渡設計。

1.3 找準系統演進關鍵特徵

以準確性、可用性為基:

<img src="https://javaedge.oss-cn-shanghai.aliyuncs.com/1ee0e2ee7cf59c60f9a0fe82e2d9ccee.png" alt="img" style="zoom: 67%;" />

理清業務特點後,需圈出採購系統關注的技術特徵及這些關鍵特徵的演進目標:

  • 可用性。作為履約核心鏈路,多角色日常工作需頻繁操作線上系統,能全天候完整為使用者提供服務能力是基礎和關鍵
  • 準確性。業務鏈路長(從計劃下單到採購請款結算中間要經多個關鍵流程),業務完結週期長(短則幾天,長則一年多),資料準確有很大挑戰。又因採購是關鍵的成本結算鏈路,所以對資料準確性有很高要求

需進一步量化這些架構特徵,用以觀察和保證系統是向目標方向拉動。如關注服務可用性,可用線上率、故障率倆指標。指標構建落地要結合公司技術,若有SLA/SLO/SLI相關服務質量平臺,可直接借力,把指標納入架構觀察大盤,而非重複構建。類似也可借力自動化測試平臺,構建一些效能、安全性的架構特徵的量化觀察指標。

2 設計藍圖

確定階段性目標架構。理清關鍵底層邏輯後,可開始確定階段性目標架構藍圖。如RUP 4+1檢視,本文談如下視角

2.1 限界上下圖

分治之基、扯皮之盾:

分治,大系統小做。採購系統包含跨境採購、採購執行、退供/翻新等大量業務,同時要和大量外部系統如商品中心、供應商、財務等互動,這種業務場景多,和外部聯動多的系統,只有界定好內外部邊界,才能將系統和人員職責拆分到位。

系統的服務化粒度可直接對映參考內部子域劃分。如系統大小合適,系統負責人和系統之間一對一配比最好。

2.2 業務架構圖

業務場景和系統能力平滑匹配:

業務架構圖要將業務、系統思考清,圖要明確橫向縱向的意圖。

① 橫向:表達業務流程

  • 利益相關者:可透過使用者利益關注點不同做使用者群體劃分,可透過角色來抽象劃分後的使用者
  • 橫向業務閉環:業務最終必定服務使用者,所有利益相關者的關注點應該在每個橫向層次上得到承載和體現

② 縱向:表達能力分層

  • 縱向關注拆解,從“業務願景”不斷拆解到一個個細小的‘業務能力’載體
  • 分層,對拆解過程進行抽象,歸納,提煉 4 層表達結構:場景層、產品功能層、系統能力層、業務模型層

場景分析是關鍵。業務架構產出靠不靠譜,其中一個因素就是業務域下的作為輸入場景是否考慮清晰,是否覆蓋全面,即‘場景分析’是否到位。該層是基礎,至於分層業務架構產出,如L0,L1,L2層可在該基礎做抽象和結構化。

3 落地系統

有層次,有節奏的構建系統:

3.1 一層:橫向擴張

以域為核心,打造系統版圖:

搭建業務和系統大的框架結構,做業務域級別的覆蓋和服務系統級別的落地。供應鏈採購作為相對成熟的業務,可參考業務側整體版圖來預判系統形態。

然後結合當前系統和業務現狀,規劃系統發展路徑。若新需求不在當前子域,可考慮將新的系統直接構建出來,承接這塊業務需求,以滿足未來發展。若有板塊內的關鍵子域落入其他板塊,可邊界治理,劃回業務和系統能力,劃出不屬於採購系統的,以保證規劃整體性和系統內聚。

3.2 二層:垂直深挖

精細化場景覆蓋:

<img src="https://javaedge.oss-cn-shanghai.aliyuncs.com/image-20240215201024705.png" style="zoom: 33%;" />

多角度驗證場景完整性,做場景級業務覆蓋和系統能力級別的補全。業務域初步搭建成型後,在支撐基本業務流程基礎上,不斷挖掘使用者在成本控制、提效、體驗的深度訴求,迭代細分場景以豐富系統。如審批域:

  • 可提供專門服務緊急場景的緊急審批能力,除了幾個關鍵節點審批,其他日常審批節點都繞過,極速完成審批
  • 也可根據便攜化審批訴求,提供移動審批

3.3 三層:自動化 &數智化

當前的終極階段,需長期思考探索。在精細化做了段時間後,系統有一定成熟度基礎,團隊也對業務有深入理解,可挖掘自動化&數智化機會。

如探索個性化流程場景:為不同業務方個體搭建個性化採購流程。關鍵思路,採購是重流程系統,而有些流程節點的設計是在風險控制和效率間博弈,如某些審批節點。而每個業務人員個體靠譜度不同,若能為某些靠譜業務人員跳過某些主要基於風險控制考量的節點,極大提升流程效率。

4 持續演進:動態平衡

<img src="https://javaedge.oss-cn-shanghai.aliyuncs.com/942b46ec935ddecf9682d743735e5c84.webp" alt="img" style="zoom: 67%;" />

目標架構,只是某時間對架構的理想狀態的判斷,當一些關鍵因素變化,目標架構需及時調整,而變化是持續的,所以目標架構其實也是連續變化的。當目標架構變化後,會開啟新一輪定義、設計和落地,所以系統能力和需求的匹配一直處於一個動態平衡中。如雙十一說明市場環境變化導致業務變化,而業務變化後系統側需要做出調整:

  • 市場變化:本年雙十一銷售高峰除當天,還有‘11.1-11.3’,形成 2 個銷售波峰,波峰之間有 7 天緩衝
  • 業務變化:對採購側業務方,這市場變化,多‘一次覆盤,一次補貨’

    • 一次覆盤:‘11.1-11.3’大促後,可快速覆盤下當前採購量和目標偏差,調整關鍵資料如大促係數(大促期間對比平銷期採購量倍數)
    • 一次補貨:覆盤後發現一些採購量偏差、一些爆品缺貨風險
  • 系統變化:一波大促變兩波,對流量、系統容量需重新評估設計。可提供一些資料輔助決策工具幫助業務快速‘11.1-11.3’覆盤,和‘11.11’採購量重新預測。最後提供緊急補貨工具,縮短採購履約時間,完成偏差採購量補貨

5 總結

供應鏈這種B端系統門檻高,對架構師業務深度、技術深度提出雙向要求,埋頭做系統可不行。將業務敏感度和架構方法論結合,用發展動態眼光看,才能發現真正技術價值和業務價值。

本文由部落格一文多發平臺 OpenWrite 釋出!

相關文章