實(shí)體設計:如何將復雜系統進(jìn)行抽象架構設計?
本文深入探討了如何從復雜的需求中抽象出核心問(wèn)題,將復雜的功能抽象成簡(jiǎn)潔易用的設計,以及如何將復雜系統進(jìn)行場(chǎng)景化架構設計。通過(guò)具體案例如HR SaaS產(chǎn)品,一步步拆解實(shí)體設計的六個(gè)步驟。
在SaaS產(chǎn)品的世界里,抽象能力不僅是構建高效解決方案的基石,更是推動(dòng)創(chuàng )新和滿(mǎn)足用戶(hù)需求的關(guān)鍵。我們已經(jīng)探討了,,以及。今天,我們將深入探討一個(gè)經(jīng)常被忽視但同樣重要的領(lǐng)域:實(shí)體設計。
實(shí)體設計,在SaaS產(chǎn)品中,指的是將抽象的概念轉化為具體、可操作的對象或模塊。它不僅關(guān)乎產(chǎn)品的外觀(guān)和感覺(jué),更關(guān)乎產(chǎn)品如何在實(shí)際中運作,以及如何與用戶(hù)和其他系統交互。實(shí)體設計的好壞,直接影響到產(chǎn)品的用戶(hù)體驗、性能和可維護性。
讓我們開(kāi)始這場(chǎng)實(shí)體設計的探索之旅,看看它是如何將抽象的構想轉化為具體的產(chǎn)品價(jià)值。
它主要分為六步:
第一步:構建場(chǎng)景化產(chǎn)品架構:基于用戶(hù)場(chǎng)景,抽象產(chǎn)品結構
第二步:構建關(guān)鍵角色流程:依據角色工作流,抽象產(chǎn)品流程
第三步:提取關(guān)鍵實(shí)體:從產(chǎn)品架構與流程中提取所有關(guān)鍵實(shí)體
第四步:關(guān)聯(lián)實(shí)體關(guān)系:對不同實(shí)體,建立相應的關(guān)聯(lián)關(guān)系
第五步:豐富實(shí)體設計:補充缺失實(shí)體,完善實(shí)體關(guān)系和屬性
第六步:場(chǎng)景驗證與調整:根據用戶(hù)場(chǎng)景和需求,驗證并調整實(shí)體結構的擴展性
咱們還是以HR SaaS產(chǎn)品為例,一步一步拆解,希望對你有所啟發(fā)。
第一步:構建場(chǎng)景化產(chǎn)品架構:基于用戶(hù)場(chǎng)景,抽象產(chǎn)品結構
實(shí)體設計依賴(lài)于產(chǎn)品架構設計,兩者共同構成產(chǎn)品架構的完整視圖。
產(chǎn)品架構圖是靜態(tài)的,為實(shí)體設計提供基礎;實(shí)體設計圖則是動(dòng)態(tài)的,實(shí)現產(chǎn)品架構的具體化。有關(guān)產(chǎn)品架構圖的詳細內容,可以參考“如何將復雜系統進(jìn)行場(chǎng)景化架構設計”一文。
第二步:構建關(guān)鍵角色流程:依據角色工作流,抽象產(chǎn)品流程
HR SaaS的關(guān)鍵角色是HR,其次是決策者(即CEO/HRD),再次是業(yè)務(wù)管理者(即部門(mén)/門(mén)店負責人),最后是員工。
以考勤業(yè)務(wù)為例。
我們將創(chuàng )建關(guān)鍵角色的主要流程圖,重點(diǎn)關(guān)注考勤HR和業(yè)務(wù)管理者。
建議:為每個(gè)角色繪制獨立的流程圖,以便更清晰地理解其工作流程和場(chǎng)景。特別是對新產(chǎn)品伙伴,避免像我一樣偷懶。
第三步:提取關(guān)鍵實(shí)體:從產(chǎn)品架構與流程中提取所有關(guān)鍵實(shí)體
這一步的關(guān)鍵是基于產(chǎn)品架構和用戶(hù)流程圖進(jìn)行“按圖索驥”,提取所有相關(guān)名詞,確保它們相互獨立且不重復。
每個(gè)實(shí)體應像工種一樣,擁有獨特的名稱(chēng)和在系統中的明確職責,理想情況下,每個(gè)實(shí)體負責一個(gè)特定的功能。
以考勤業(yè)務(wù)為例,各個(gè)模塊的獨立且不重復實(shí)體情況如下:
考勤管理:?jiǎn)T工、考勤檔案、考勤確認規則;
排班管理:?jiǎn)T工、排班日歷、節假日、班次時(shí)間、排班組、排班規則;
假期管理:?jiǎn)T工、假期規則、請假記錄、請假審批、假期余額;
加班管理:?jiǎn)T工、加班規則、加班審批、加班記錄;
調班管理:?jiǎn)T工、調班規則、調班記錄、調班審批;
出差/外出管理:?jiǎn)T工、出差/外出規則、出差/外出記錄、出差/外出記錄;
工時(shí)管理:?jiǎn)T工、工時(shí)規則、工時(shí)記錄;
設置:考勤周期、考勤機、出勤規則、打卡規則、打卡記錄、補貼規則、補貼記錄、扣款規則、扣款記錄;
班次設置:班次、班次組、循環(huán)模版;
報表:?jiǎn)T工、字段、日報、月報
第四步:關(guān)聯(lián)實(shí)體關(guān)系:對不同實(shí)體,建立相應的關(guān)聯(lián)關(guān)系
每個(gè)實(shí)體作為一個(gè)靜態(tài)名詞,只有通過(guò)賦予其明確的職責和合作關(guān)系,才能發(fā)揮價(jià)值,就像職位一樣,需要明確的分工和與上下級、同級的協(xié)作,以產(chǎn)生有效的成果。
實(shí)體關(guān)系通常分為三類(lèi):1對1、1對N、N對N。利用這三種關(guān)系,我們可以關(guān)聯(lián)實(shí)體,實(shí)現它們之間的協(xié)同。
第五步:豐富實(shí)體關(guān)系:補充缺失實(shí)體,完善實(shí)體關(guān)系和屬性
實(shí)體設計的價(jià)值是在靈活性、體驗性和擴展性之間進(jìn)行權衡。實(shí)體的獨立性、關(guān)鍵屬性設計以及實(shí)體間的關(guān)系共同塑造了實(shí)體架構,影響其效率和適用性。
所以當你在設計實(shí)體架構圖時(shí),可通過(guò)以下四個(gè)方向進(jìn)行豐富:新增子實(shí)體、拆分關(guān)鍵實(shí)體、完善實(shí)體關(guān)系、完善實(shí)體屬性。
首先是新增子實(shí)體
在大框架設計中,深入特定場(chǎng)景流程后,可能發(fā)現實(shí)體缺失,影響場(chǎng)景的靈活性、擴展性或體驗。
比如假期管理可按類(lèi)型分為年假、事假、調休等多種假期,按額度分為有余額和無(wú)余額,按計算方式分為按工作日或自然日計算。為此,可新增“假期模板”子實(shí)體,提供自定義假期。
第二是拆分關(guān)鍵實(shí)體
比如加班是一個(gè)關(guān)鍵場(chǎng)景,則可將【加班規則】實(shí)體進(jìn)一步拆分為:計算規則、補償規則、限制規則、舍去規則、使用規則,每個(gè)子規則負責一個(gè)具體的功能。
或排班也是一個(gè)關(guān)鍵場(chǎng)景,則也可增加不同維度的實(shí)體。
第三是完善實(shí)體關(guān)系
實(shí)體關(guān)系的設計對實(shí)體架構的擴展性和用戶(hù)體驗有直接影響。
比如出勤方案與排班規則可以設計為N對N的靈活關(guān)系,也可以是N對1的簡(jiǎn)化關(guān)系。N對N關(guān)系提供最大靈活性,允許每個(gè)出勤方案獨立關(guān)聯(lián)多個(gè)排班規則;而N對1關(guān)系將排班規則視為整體,犧牲靈活性以簡(jiǎn)化配置。
相關(guān)案例與示意圖,可見(jiàn):功能設計2:如何將復雜的功能抽象成簡(jiǎn)潔易用的設計?
第四是完善實(shí)體屬性
關(guān)鍵屬性的設計對實(shí)體架構的擴展性和用戶(hù)體驗,也有直接影響。
比如適用范圍作為規則/方案的關(guān)鍵屬性,決定了哪些人適用于哪些規則。可以設計每個(gè)規則有獨立的適用范圍以增加靈活性,或者讓關(guān)鍵實(shí)體如出勤方案擁有適用范圍,其他規則實(shí)體共享,從而簡(jiǎn)化規則的管理。
相關(guān)案例與示意圖,可見(jiàn):KISS原則:SaaS產(chǎn)品設計最重要的原則(上)
第六步:場(chǎng)景驗證與調整:根據用戶(hù)場(chǎng)景和需求,驗證并調整實(shí)體結構的擴展性
當實(shí)體架構設計完成后,避免考慮不周全的情況,以我的經(jīng)驗的話(huà),就會(huì )用目前可以想象到的所有場(chǎng)景來(lái)進(jìn)行“驗證”。
這就像是一個(gè)思想實(shí)驗一樣,你把整理好的(目前)所有已知場(chǎng)景,分別代入到你的實(shí)體設計中進(jìn)行驗證。
一般驗證三部分:體驗性、靈活性、擴展性。
第一是體驗性
基于用戶(hù)流程,進(jìn)行完整場(chǎng)景式的演繹,看看在現有流程中,是否體驗足夠好。
比如考勤HR在配置各類(lèi)規則時(shí),我們可以有兩種不同思路:
思路1是每個(gè)規則相互獨立,相互之間無(wú)關(guān)聯(lián)。比如打卡規則、出勤規則、加班規則等,都有自己不同的適用范圍,互不影響;
思路2是每個(gè)規則組合使用,由一個(gè)中間實(shí)體(即考勤方案)進(jìn)行統一管理,共享同一個(gè)適用范圍。
從用戶(hù)體驗角度,思路2優(yōu)于思路1。這類(lèi)似于與客戶(hù)對接時(shí),思路2只需對接一人,而思路1則需對接多人,顯然更繁瑣。
第二是靈活性
確保系統能適應不同客戶(hù)場(chǎng)景,保持用戶(hù)操作自由度。 在HR考勤管理中,除了執行考勤規則,還需對分區域/部門(mén)的員工考勤數據進(jìn)行糾錯、歸檔和確認。例如,北京總部員工由張三管理,而成都、武漢、重慶等分公司員工由李四管理。每月確認出勤后,數據交給王五進(jìn)行工資發(fā)放。
思路1:考勤方案兼職多能,同時(shí)負責權限劃分。例如,北京總部員工使用考勤方案A,由張三管理;成都、武漢、重慶員工使用考勤方案B,由李四管理。
思路2:考勤組專(zhuān)職專(zhuān)能。考勤方案僅負責規則制定,數據管理由考勤組獨立負責。例如,北京總部員工屬于考勤組1,由張三管理;成都、武漢、重慶員工屬于考勤組2,由李四管理。
從自由度看,思路2在自由度和效率上優(yōu)于思路1,類(lèi)似于職場(chǎng)中的專(zhuān)職專(zhuān)崗,職責明確,工作安排靈活。
第三是擴展性
如果體驗性和靈活性無(wú)法兼得,需考慮當前架構設計的可擴展性,確保以最小成本進(jìn)行后期擴展,避免前期成本低但后期難以擴展的方案。
排班管理是考勤的核心功能之一,不同行業(yè)/企業(yè)需求各異。例如,制造業(yè)排班可能按時(shí)間規律性交替或按任務(wù)量調整;復雜度高時(shí),員工只需選擇白班或夜班。門(mén)店連鎖行業(yè)則常見(jiàn)小時(shí)工不固定上班時(shí)間,正式員工常支援、調店/調班。
延伸場(chǎng)景包括按人員排班、按任務(wù)排班、按小時(shí)排班,支援調班、調店調班等,以及自動(dòng)規律性排班和指定周期內自動(dòng)復雜排班。
如果當前實(shí)體關(guān)系架構,不支持快速擴展,則需考慮調整。
總結一下
本文主要分享了如何將構想轉化為具體的實(shí)體架構設計,介紹了設計的六步:
第一步:構建場(chǎng)景化產(chǎn)品架構:基于用戶(hù)場(chǎng)景,抽象產(chǎn)品結構。關(guān)鍵動(dòng)作是基于用戶(hù)場(chǎng)景繪制全景產(chǎn)品架構圖;方法論是【以終為始,全面設計;以始為終,最小閉環(huán)】。
第二步:構建關(guān)鍵角色流程:依據角色工作流,抽象產(chǎn)品流程。關(guān)鍵動(dòng)作是明確產(chǎn)品的所有服務(wù)角色,根據產(chǎn)品階段確定角色優(yōu)先級,并繪制關(guān)鍵角色流程圖;
第三步:提取關(guān)鍵實(shí)體:從產(chǎn)品架構與流程中提取所有關(guān)鍵實(shí)體。關(guān)鍵動(dòng)作是找出產(chǎn)品架構與角色流程中的所有關(guān)鍵名詞;
第四步:關(guān)聯(lián)實(shí)體關(guān)系:對不同實(shí)體,建立相應的關(guān)聯(lián)關(guān)系。關(guān)鍵動(dòng)作是把所有關(guān)鍵名詞用三種關(guān)系(即1對1/1對多/多對對)進(jìn)行關(guān)聯(lián),讓它們相互實(shí)現協(xié)同;
第五步:豐富實(shí)體設計:補充缺失實(shí)體,完善實(shí)體關(guān)系和屬性。關(guān)鍵動(dòng)作是查缺補漏實(shí)體關(guān)系,該加則加,該刪則刪;
第六步:場(chǎng)景驗證與調整:根據用戶(hù)場(chǎng)景和需求,驗證并調整實(shí)體結構的擴展性。關(guān)鍵動(dòng)作是收集足夠需求場(chǎng)景,進(jìn)行逐一驗證,并在體驗性、靈活性與擴展性之間進(jìn)行權衡取舍。
專(zhuān)欄作家
邢小作,*:邢小作之家,人人都是產(chǎn)品經(jīng)理專(zhuān)欄作家。一枚在線(xiàn)教育的產(chǎn)品,關(guān)注互聯(lián)網(wǎng)教育,喜歡研究用戶(hù)心理。
本文原創(chuàng )發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉載。
題圖來(lái)自 Unsplash,基于CC0協(xié)議