大型 SaaS 平臺產品架構設計思路
當我們去搜尋“架構”,可以得到很多的架構圖片,比如組織架構、業務架構、資料架構、技術架構、安全架構、產品架構、部署架構等。
什麼是架構,通常大家說架構一般指軟體架構,架構是指軟體的基礎結構,創造這些基礎結構的準則,以及對這些結構的描述。在這個定義基礎上,我們可以簡單理解為架構往往是對事物主體的結構性描述。
產品架構是對產品的一種結構性描述。一般可以包括前端系統、業務管理、運營管理、基礎支撐等子產品或子系統,並描述各個子產品或子系統之間的關聯關係。
在公司整體戰略之下,需要基於公司戰略等多種因素設計組織架構,組織架構影響業務架構,業務架構影響產品架構,產品架構影響技術架構。
從這個鏈條可以看出產品架構基於業務架構。做產品架構前,需要對業務架構有清晰的瞭解。
一、業務架構對產品設計的5個影響
業務架構是基於組織架構設計的,業務架構是把企業的業務戰略轉化為日常運作的渠道,業務戰略決定業務架構,它包括業務的運營模式、流程體系、組織體系、資源分佈等內容。
業務架構是一個比較專業的研究課題,技術人員一般對業務架構的關注度相對較低,更重視產品架構、技術架構。這裡我們簡單示例什麼是業務架構,這些架構事實上影響我們的產品架構設計,如下圖5-1就是其中一個業務架構設計的框架圖。
業務架構圖
業務架構對企業的收入模式、支出成本、客戶群體、客戶關係、需要的資源、關鍵活動,以及合作伙伴等進行設計說明。
業務架構對產品架構的影響,主要體現在以下幾個方面:
1. 系統參與角色
業務架構一般會明確使用者範圍;營銷端的參與人員,比如渠道商或代理商,大客戶銷售團隊等;運營端的參與人員,如售後、客戶成功等團隊;合作伙伴的參與,如第三方合作平臺等。每類角色按需設計對應的使用終端。
2. 系統運營流程
業務架構對運營流程有較明確的定義,如開戶、續費、登出、變更、售前售後工單處理、庫存入庫出庫處理、合同流程、發票流程等。這些構成SaaS平臺的運營流程,是產品實現商業價值的重要手段,產品環節一般需要有相應的處理。
3. 核心價值
業務架構需要明確SaaS服務對客戶帶來的價值,這個價值往往需要通過產品端來呈現,業務架構的價值描述,很大程度上就是我們產品建設的側重點。
4. 周邊系統
業務架構中的合作伙伴、資源一定程度上體現出需要與產品互動的其他系統,這些“其他系統”可能是產品需要的一些基礎能力(如文字識別、計算能力等)、資料(許可權資料、業務資料)、流程(管理流程、運營流程)等 ,而這些能力需要合夥夥伴或者公司的現有資源中提供。這些周邊系統會以各種各樣的作用支撐著產品的運轉。
5. 計費模式
業務架構一般會說明收入和成本模型。收入的處理過程影響運營產品的設計,如公司線上下收款,可以產品只需要控制使用者賬號的可用狀態或有效期,如果是線上收款,就需要設計一套開通、續費的線上支付流程。有些SaaS產品還會涉及到收入和成本費用的攤銷,以配合財務工作的處理,也可能需要在產品中完成此類計算。
假如所在公司沒有清晰的業務架構,或者部分環節缺失怎麼辦?如果可以引導,我們儘量引導業務部門完善相關的環節,但有些客觀情況是我們無法改變的,我們可以嘗試按照現有架構,收集梳理資訊,做好整體的結構設計,確保具備可擴充能力,能夠滿足後續需求,再根據業務各環節成熟度設計產品架構,分階段去實現。
二、產品架構
SaaS產品架構的設計,可以考慮模組化、漸進式設計。
2.1 模組化設計
所謂模組化是指降低業務間的耦合。低耦合、高內聚是技術架構的重要設計原則,在產品端也非常值得借鑑。
模組式化設計對於系統建模、技術實現、升級迭代、業務推廣都有很多幫助。模組化設計也是對最小化場景(MVP)的一種有效支撐。
SaaS產品隨著公司的發展,業務範圍、功能都會越來越大,而客戶可能僅需要部分能力,如果功能間耦合太多,對客戶的功能選擇會增加限制;銷售政策制定起也會受到掣肘,無法靈活組合產品進行銷售,對業務推廣產生一定影響。
如何做好模組化設計?
模組化設計針對有獨立性、可複用的業務或功能進行抽取,包裝功能集合構成產品進行推廣使用,方便客戶根據需要進行產品組合,模組化設計在傳統軟體中也非常重要。
(1)歸類與抽象
需要對相似的功能或者場景進行歸類然後抽象出來進行設計。在軟體設計領域,越是底層的東西越容易複用,越是偏向應用端的東西,越難以複用。比如構成一套軟體服務,可以有伺服器硬體、應用服務中介軟體(比如資料庫等)、各種微服務、業務流程、外部入口等,這套軟體架構中,伺服器硬體是處於架構底層,比較基礎且通用性很強;應用入口處於架構高層級,形式相對靈活,複用性較低。在產品端也是同理,基礎資訊如人員、機構等屬於基礎資訊,同一組織在不同系統中的結構大體一樣,複用性強,其次是各類業務流程,再其次是業務表單。
我們要做的產品模組化設計,是針對不同使用者的需求,將完成某項業務的場景進行分析、歸類、抽象,抽取共性部分,做成可實現多種組合的產品形態。
(2)資料介面
系統一般由邏輯(演算法)和資訊兩部分構成,資訊又分為內容和資料;邏輯是構建軟體功能的骨架,內容和資料是血肉,其中以資料尤為重要。
假如要實現軟體模組化且模組之間相互獨立,必須要先拋棄邏輯(實現方法),因為有邏輯就代表這兩個模組誰也離不開誰,就不能稱之為獨立。
如果這兩個模組必須要關聯在一起,但又不允許它們在邏輯上互相干涉,那麼最好的辦法就是為它們內部包含的資料進行抽象化,形成標準化介面,以資料呼叫的形式實現兩個模組間的互相協作。
模組化的一個特徵是複用,在產品設計上覆用意味著需要多種場景的結合,如果只有一個場景,就不是複用,在多個場景都需要使用的情況下,會有資料互動的需要,模組化設計就是要把共性的東西抽取出來後,提供標準介面,進行資料互動,這個共性的東西,可以是欄位,也可以是規則。
大家通常理解的SDK,也是模組化設計的一種體現。模組化的產品可以是一個介面、也可以是一個功能,還可以是一個子系統。
2.2 漸進式設計
SaaS產品是逐步迭代的,產品設計也不是一蹴而就的,需要有一個不斷前進的過程,漸進式設計非常契合SaaS產品。比如我們公司的產品,有企業客戶、集團客戶、代理商、平臺運營人員、售後人員等參與,在設計系統的過程中,並不是一上來就把所有的工作全部做完, 這樣週期太長,也不利於快速驗證產品和市場的匹配,所以產品架構自然而然也變成了一種漸進的設計過程。
漸進式設計需要儘量考慮未來產品的全域性,以滿足後續產品擴充套件需要。
以我曾經做過的一個產品舉例,產品的使用者可以分為三大類,關係如下圖:
產品關係示例
在產品架構的搭建過程中,我們在清楚有這些基礎結構以後,按照優先順序順序,逐步發展產品。如圖:
產品架構示例圖
首先搭建了企業版產品和簡單的運營管理系統,讓使用者能夠使用起來。後來隨著代理商力量的不斷計入,需要為代理商設計一套管理系統,代理商系統需要依賴於公司運營管理系統(公司運營早期就已經有了代理商加入,運營管理平臺只有最簡單的代理商管理功能,能夠標記客戶所屬代理商,但並沒有去開發一套代理商管理系統,只是預留了擴充套件能力)。
隨著平臺的發展,使用者群體不斷擴大,集團客戶也在不斷增加,公司又基於企業版產品開發了集團版產品,滿足集團企業客戶的需要。
整個代理商管理系統和公司運營管理系統也跟隨迭代,從最初的企業註冊稽核,到使用者工單管理、結算續費管理、再到增加集團版的開通管理流程及結算流程,歷時用了幾年時間。產品整體架構經歷了多個版本的迭代,才逐步變成現在的體系,並且還在持續完善中。
產品架構的漸進式設計和最小化可用產品(MVP)並不是一回事,產品架構漸進式設計是為了產品穩步推進並可擴充套件,先集中精力解決當前的重要需求和問題,所積累的產品成果,會成為將來產品發展的基礎,而不是MVP中表示的每一個過程都可能要重構。
MVP有一個非常生動的例子,使用者需求是一輛車,那麼車的MVP及產品演進過程應該如下圖5-5的第二部分所示:
MVP的演進
產品架構的漸進式設計和產品的MVP有什麼關係,其實是兩個維度的事情,產品架構漸進式設計是對現在業務的快速響應,以及對未來業務擴張的支撐。
MVP是在產品迭代過程中,在不同的階段,可能需要進行重構,上圖的例子,在一些產品論壇上都有闡述,這對MVP的解釋是很準確的,最小化可行產品需要做到每次迭代都是完整可用的,可用場景閉環是MVP的核心指標,這是產品從0到1的一種有效驗證方式,但我認為這種重構並不一定是必須的.
很多軟體產品在迭代的過程中,都是在原有基礎上的擴充套件,實際上產品架構具備彈性和擴充套件性,這是一名優秀產品經理需要具備的能力,畢竟任何歷史投入都是有成本的,優秀的設計應該是在原有基礎上的擴充套件,而不是推倒重來。
B端產品在發展過程中,也比較注重產品和服務的結合,這個服務並不是指產品即服務,而是在早期產品不夠完善的情況下,部分環節通過線下服務來補充,這也是SaaS產品發展的一種形式。
產品架構大體能夠說清楚了系統間的關係,但對於具體的產品流程,產品架構圖是無法表達清楚的,還需要輔助系統流程圖進行說明。
來自 “ 架構文摘 ”, 原文作者:架構文摘;原文連結:https://mp.weixin.qq.com/s/2vW5Lqa6eNYVfIsEvxLhuA,如有侵權,請聯絡管理員刪除。
相關文章
- SaaS架構:開放平臺架構設計架構
- 大型購物平臺的系統設計與架構架構
- 大型直播平臺應用架構淺談應用架構
- 黑馬PM- B端產品- SaaS產品設計
- SaaS架構:多租戶系統架構設計架構
- SaaS架構:中央庫存系統架構設計架構
- 2024最流行的網站架構----邊緣平臺架構:概念與產品網站架構
- .NET SAAS 架構與設計 -SqlSugar ORM架構SqlSugarORM
- 大資料平臺架構設計探究大資料架構
- 平臺化設計產品存在的問題
- 數棧產品分享:乾貨解讀資料中臺產品「模組化」設計思路
- SaaS(軟體即服務)架構設計架構
- AutoCAD雲產品平臺ForgeViewer格式離線部署思路分析View
- 阿里雲產品之資料中臺架構阿里架構
- 今晚19點直播預告 | TO B SaaS平臺產品實戰——易盾智慧稽核平臺
- PDM的分散式虛擬設計平臺架構分散式架構
- SaaS架構:應用服務、應用結構設計架構
- 新零售SaaS架構:線上商城系統架構設計架構
- 新零售SaaS架構:多租戶系統架構設計架構
- 網上商城架構設計之表設計思路(三)架構
- SaaS平臺的組織資料模型設計模型
- 金融SaaS平臺之構思篇
- “淘寶” 開放平臺介面設計思路
- 容器雲平臺微服務架構設計的誤區微服務架構
- SaaS架構:流程架構分析架構
- 愛奇藝平臺的架構設計與演進之路架構
- 千萬級車聯網 MQTT 訊息平臺架構設計MQQT架構
- 車聯網平臺百萬級訊息吞吐架構設計架構
- 阿里雲資料中臺產品設計邏輯:體系化矩陣類資料產品的設計構思阿里矩陣
- 新零售SaaS架構:客戶管理系統的應用架構設計應用架構
- 分散式重複提交問題架構設計思路分散式架構
- 產品設計(1)——產品設計原則
- 大型網站的可伸縮性架構如何設計?網站架構
- 基於微服務和Docker的PaaS雲平臺架構設計微服務Docker架構
- B站大資料開發治理平臺的產品設計心得大資料
- 基於Spring Cloud Alibaba分散式架構 資料平臺化(中臺)思想+多租戶saas企業開發架構SpringCloud分散式架構
- 答面試官問:如何設計SaaS專案的架構面試架構
- 新零售SaaS架構:組織管理的底層邏輯與架構設計架構