前面的文章中我們分析了企業(yè)戰(zhàn)略、理清了組織結(jié)構(gòu),是不是就該進(jìn)入業(yè)務(wù)分析了呢?先別急,業(yè)務(wù)分析,特別是對(duì)于具有多個(gè)不同業(yè)務(wù)線的企業(yè)而言,是一種垂直式的分析,如果直接開(kāi)始業(yè)務(wù)分析,那就走上了豎井式開(kāi)發(fā)的老路,就算有共同的戰(zhàn)略目標(biāo),也未必建得出企業(yè)級(jí)的業(yè)務(wù)架構(gòu)和業(yè)務(wù)系統(tǒng)來(lái)。業(yè)務(wù)架構(gòu)強(qiáng)調(diào)的是橫向視角,強(qiáng)調(diào)通觀整個(gè)企業(yè)的生產(chǎn)過(guò)程,因此,展開(kāi)垂直的業(yè)務(wù)分析之前,我們必須先確立一個(gè)統(tǒng)一的業(yè)務(wù)分析框架做為觀察各個(gè)業(yè)務(wù)線的統(tǒng)一方法,這樣才能將企業(yè)需要的業(yè)務(wù)能力進(jìn)行分類(lèi)匯集,產(chǎn)生合理的組件結(jié)構(gòu)。
我們首先講一下這個(gè)用來(lái)做橫向分析的方法,通常管理學(xué)上分析企業(yè)競(jìng)爭(zhēng)力多是使用價(jià)值鏈模型。價(jià)值鏈 (value chain) 概念首先由邁克爾·波特 (Michael E.Porter) 于 1985 年提出。最初,波特所指的價(jià)值鏈主要是指針對(duì)垂直一體化公司的,強(qiáng)調(diào)單個(gè)企業(yè)的競(jìng)爭(zhēng)優(yōu)勢(shì)。隨著國(guó)際外包業(yè)務(wù)的開(kāi)展,波特于 1998 年進(jìn)一步提出了價(jià)值體系 (value system) 的概念,將研究視角擴(kuò)展到不同的公司之間,這與后來(lái)出現(xiàn)的全球價(jià)值鏈 (global value chain) 概念有一定的共通之處。之后,寇伽特 (Kogut) 也提出了價(jià)值鏈的概念,他的觀點(diǎn)比波特的觀點(diǎn)更能反映價(jià)值鏈的垂直分離和全球空間再配置之間的關(guān)系。2001 年,格里芬在分析全球范圍內(nèi)國(guó)際分工與產(chǎn)業(yè)聯(lián)系問(wèn)題時(shí),提出了全球價(jià)值鏈概念。全球價(jià)值鏈概念提供了一種基于網(wǎng)絡(luò)、用來(lái)分析國(guó)際性生產(chǎn)的地理和組織特征的分析方法,揭示了全球產(chǎn)業(yè)的動(dòng)態(tài)性特征。具體采用哪一種價(jià)值鏈模型,要看企業(yè)的實(shí)際需要,比如,是否更關(guān)注上下游關(guān)系等。這種模型的建立往往不是企業(yè)自身能簡(jiǎn)單搞定的,可能需要一定的咨詢(xún)或者學(xué)習(xí)過(guò)程。波特價(jià)值鏈如下圖所示:
做好這一“橫”之后,我們就可以畫(huà)出多個(gè)“豎”了。科學(xué)地講,業(yè)務(wù)領(lǐng)域的劃分取決于企業(yè)的戰(zhàn)略和價(jià)值定位,企就是業(yè)打算為什么類(lèi)型的客戶(hù)提供什么類(lèi)型的服務(wù)或產(chǎn)品,比如,銀行為個(gè)人客戶(hù)提供金融服務(wù),就產(chǎn)生了個(gè)人金融業(yè)務(wù)線,這里邊存款、貸款、金融市場(chǎng)、非金融服務(wù)等等,會(huì)有一大堆東西,而如果覺(jué)得這樣劃分依然太粗,那么很有可能私人銀行這類(lèi)高端客戶(hù)服務(wù)就會(huì)獨(dú)立出來(lái),為其設(shè)計(jì)的一些業(yè)務(wù)功能聚類(lèi)成的業(yè)務(wù)組件可能不會(huì)為普通客戶(hù)提供服務(wù)。劃分領(lǐng)域其實(shí)可以有兩種方式,從客戶(hù)出發(fā)和從產(chǎn)品出發(fā),選擇哪一種,要看企業(yè)的特點(diǎn)以及企業(yè)更關(guān)注什么。還以銀行業(yè)為例,銀行業(yè)有不少產(chǎn)品是同時(shí)適用于個(gè)人和企業(yè)客戶(hù)的,因此,從客戶(hù)出發(fā),很多產(chǎn)品會(huì)交叉;而從產(chǎn)品出發(fā),會(huì)避免這一問(wèn)題,畢竟業(yè)務(wù)系統(tǒng)的設(shè)計(jì)多數(shù)還是以產(chǎn)品為主線的,但要注意,這里指的不是具體的某一個(gè)產(chǎn)品,而是一組同類(lèi)產(chǎn)品的集合,比如存款、貸款、托管、資管、投行等。選好維度之后,就有了橫軸——價(jià)值鏈和縱軸——業(yè)務(wù)領(lǐng)域兩個(gè)維度,接下來(lái)就可以去分析業(yè)務(wù)流程了。
業(yè)務(wù)流程的分析實(shí)際上就是將一個(gè)業(yè)務(wù)領(lǐng)域中的所有業(yè)務(wù)處理過(guò)程按照價(jià)值鏈約定的分解方式分解,形成每一個(gè)價(jià)值鏈環(huán)節(jié)中的一個(gè)或者多個(gè)工作流,具體每一個(gè)工作流程的設(shè)計(jì)可以采用常見(jiàn)的 VISIO 設(shè)計(jì)工具,可以遵循 BPMN 語(yǔ)法標(biāo)準(zhǔn),也可以采用其他制作工作流的語(yǔ)法標(biāo)準(zhǔn),但是要注意,必須整個(gè)企業(yè)統(tǒng)一采用一種,不然是沒(méi)法整合的。以 BPMN 語(yǔ)法為例,一個(gè)工作流在 BPMN 語(yǔ)法中稱(chēng)為一個(gè)活動(dòng),每個(gè)活動(dòng)可能會(huì)有多個(gè)不同的角色共同參與,具體涉及到哪些角色就又涉及到企業(yè)的組織結(jié)構(gòu)了。每個(gè)角色在活動(dòng)中承擔(dān)的職責(zé)稱(chēng)為任務(wù),其實(shí)工作流分析重點(diǎn)在任務(wù),活動(dòng)的范圍并不那么嚴(yán)格,甚至不是非常重要,活動(dòng)之間在 BPMN 語(yǔ)法中是可以靠事件串接起來(lái)的,既然能夠串接,那么范圍或者說(shuō)流程圖的長(zhǎng)度就不是特別重要。我們甚至可以把一個(gè)業(yè)務(wù)領(lǐng)域中不同價(jià)值鏈環(huán)節(jié)下的所有活動(dòng)都連接成一個(gè)特別復(fù)雜的活動(dòng),只不過(guò)這樣可讀性會(huì)非常差。所以,操作上,還是建議活動(dòng)盡可能在每個(gè)價(jià)值鏈的范圍內(nèi),而每個(gè)價(jià)值鏈內(nèi)有多少個(gè)活動(dòng),可以自由些,可以多參照對(duì)業(yè)務(wù)場(chǎng)景的劃分。業(yè)務(wù)流程的分析重點(diǎn)在任務(wù),因?yàn)槿蝿?wù)在后續(xù)設(shè)計(jì)中對(duì)功能、組件內(nèi)部結(jié)構(gòu)的影響比較大,這個(gè)后邊章節(jié)還會(huì)陸續(xù)介紹。一個(gè)常見(jiàn)的 BPMN 工作流如下:
綜上,業(yè)務(wù)領(lǐng)域其實(shí)是企業(yè)確定以某類(lèi)產(chǎn)品服務(wù)某類(lèi)客戶(hù)的一個(gè)業(yè)務(wù)范圍,在建模上,它表現(xiàn)為,為實(shí)現(xiàn)這一價(jià)值定位,企業(yè)在整個(gè)價(jià)值鏈上的各種業(yè)務(wù)活動(dòng)的有機(jī)結(jié)合,一個(gè)業(yè)務(wù)領(lǐng)域?qū)嶋H上就是由一組業(yè)務(wù)活動(dòng)構(gòu)成的,通過(guò)活動(dòng)中的角色和任務(wù),體現(xiàn)了所有參與到價(jià)值創(chuàng)造過(guò)程中的組織單元的分工協(xié)作關(guān)系。
要注意的是,這一階段完成的模型通常是不夠準(zhǔn)確的,因?yàn)檫€沒(méi)有經(jīng)過(guò)“精煉”的過(guò)程,其對(duì)企業(yè)級(jí)設(shè)計(jì)的貢獻(xiàn)還只是個(gè)開(kāi)始。業(yè)務(wù)領(lǐng)域及流程的分析中,還有一點(diǎn)要強(qiáng)調(diào)的是,別在忙于細(xì)節(jié)時(shí)忘了大方向,業(yè)務(wù)架構(gòu)設(shè)計(jì)是從企業(yè)戰(zhàn)略開(kāi)始的,那么做到業(yè)務(wù)領(lǐng)域分析時(shí),要時(shí)刻提醒自己,業(yè)務(wù)領(lǐng)域內(nèi)的活動(dòng)是否能夠有力地支持戰(zhàn)略的實(shí)現(xiàn),是否能夠有效地服務(wù)客戶(hù),是否能夠有效地應(yīng)對(duì)行業(yè)競(jìng)爭(zhēng),也就是先進(jìn)性的衡量,把這三個(gè)問(wèn)題如同曾子三問(wèn)一樣看待,“日叁省乎己,則知明而行無(wú)過(guò)矣”。
上一章概述了業(yè)務(wù)流程建模的過(guò)程,流程建模其實(shí)“一言難盡”,需要不斷的練習(xí)、摸索,自己總結(jié)套路,也就是之前說(shuō)過(guò)的,模型質(zhì)量嚴(yán)重依賴(lài)建模者的經(jīng)驗(yàn)。軟件設(shè)計(jì)主要研究的是行為和數(shù)據(jù),流程模型分析了行為,數(shù)據(jù)模型當(dāng)然就是要分析數(shù)據(jù)。數(shù)據(jù)模型在很多系統(tǒng)分析、軟件工程的教材上都有介紹,所以我不去贅述三范式之類(lèi)的數(shù)據(jù)建模規(guī)則,而是從企業(yè)級(jí)數(shù)據(jù)模型、業(yè)務(wù)模型與數(shù)據(jù)模型協(xié)作關(guān)系的角度,講講數(shù)據(jù)模型。
提起數(shù)據(jù)模型大家可能第一反應(yīng)都是 ER 圖,實(shí)體關(guān)系圖是我們做關(guān)系型數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ)。實(shí)體圖是按照對(duì)業(yè)務(wù)對(duì)象的劃分,將數(shù)據(jù)屬性按照實(shí)體聚類(lèi),并描述實(shí)體間的關(guān)系,從而指導(dǎo)程序設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)。我們通常做 ER 圖是面向單個(gè)系統(tǒng)構(gòu)建的,而要構(gòu)建企業(yè)級(jí)數(shù)據(jù)模型時(shí),就需要橫向分析所有業(yè)務(wù)領(lǐng)域的 ER 圖,所以,我們也需要以一種總體結(jié)構(gòu)先建立分析框架,比如金融類(lèi)企業(yè)常用的 FSDM(financial services data model),它是 IBM 的一個(gè)企業(yè)級(jí)數(shù)據(jù)模型,囊括了銀行約 80% 的業(yè)務(wù)數(shù)據(jù)。FSDM 將數(shù)據(jù)分為九大類(lèi),分別是參與人、合約、條件、產(chǎn)品、分類(lèi)、時(shí)間、資源向、位置、業(yè)務(wù)方向,具體定義如下:
分類(lèi)名稱(chēng) | 簡(jiǎn)稱(chēng) | 定義 |
---|---|---|
關(guān)系人 | IP | 銀行的業(yè)務(wù)開(kāi)展過(guò)程中的相關(guān)各方,個(gè)人、機(jī)構(gòu)、柜員。。 |
合約 | AR | 參與者之間達(dá)成的 合約、合同、協(xié)議等 |
條件 | CD | 描述銀行的業(yè)務(wù)正常開(kāi)展,所需要的前提條件、資格標(biāo)準(zhǔn)和要求 |
產(chǎn)品 | PD | 產(chǎn)品是為客戶(hù)所提供,以換取利潤(rùn)的產(chǎn)品和服務(wù),產(chǎn)品也包括合作伙伴或競(jìng)爭(zhēng)對(duì)手的產(chǎn)品和服務(wù),是金融機(jī)構(gòu)銷(xiāo)售或提供的可市場(chǎng)化的產(chǎn)品、組合產(chǎn)品和服務(wù)。 |
地點(diǎn) | LO | 參與人相關(guān)的所有地址,如家庭地址、公司地址、郵政信箱、電話(huà)號(hào)碼、電子地址、網(wǎng)址等或地理位置區(qū)域。 |
分類(lèi) | CL | 適用于其它數(shù)據(jù)概念的分類(lèi)或者分組。 |
業(yè)務(wù)方向 | BD | 銀行或參與人開(kāi)展業(yè)務(wù)所在的環(huán)境和方式 |
事件 | EV | 是參與人和銀行的交互,以及銀行內(nèi)部的業(yè)務(wù)交互,它包含最詳細(xì)的行為和交易數(shù)據(jù),例如存款、提款、付款、信用 / 借記卡年費(fèi)、利息和費(fèi)用、投訴、查詢(xún)、網(wǎng)上交易等。 |
資源項(xiàng)目 | RI | 是銀行有形或無(wú)形的有價(jià)值資源項(xiàng)目,是銀行擁有,管理,使用的,或支持特定業(yè)務(wù)目的的. |
通過(guò)這個(gè)框架可以將數(shù)據(jù)實(shí)體、數(shù)據(jù)屬性進(jìn)行歸類(lèi),形成統(tǒng)一的企業(yè)級(jí)邏輯模型。做為企業(yè)級(jí)模型,數(shù)據(jù)實(shí)體和屬性都要保證唯一,這一點(diǎn)在建模中好說(shuō),通過(guò)工具篩查就可以比較出名稱(chēng)、定義、取值重復(fù)的數(shù)據(jù)項(xiàng),從而保證數(shù)據(jù)唯一性。但是重點(diǎn)在于生產(chǎn)階段的管控,而非建模階段。生產(chǎn)階段要通過(guò)數(shù)據(jù)管控平臺(tái)或工具對(duì)數(shù)據(jù)字典進(jìn)行嚴(yán)格管理,沒(méi)有進(jìn)數(shù)據(jù)字典的數(shù)據(jù)項(xiàng),無(wú)法生成企業(yè)唯一的數(shù)據(jù)項(xiàng) ID,無(wú)法在設(shè)計(jì)時(shí)被使用,從而達(dá)到嚴(yán)防死守一般的控制,雖然也讓生產(chǎn)上一頓抱怨,但這個(gè)方法很有效。企業(yè)級(jí)數(shù)據(jù)模型說(shuō)起來(lái)容易,做起來(lái)難,要首先對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行全面建模,再對(duì)生產(chǎn)進(jìn)行嚴(yán)格管理,并對(duì)歷史數(shù)據(jù)進(jìn)行處理。本人原所在單位經(jīng)歷了兩年多的努力,成為行業(yè)內(nèi)首家真正建成企業(yè)級(jí)數(shù)據(jù)模型、真正實(shí)現(xiàn)企業(yè)級(jí)數(shù)據(jù)管控的大型金融機(jī)構(gòu)。
流程模型與數(shù)據(jù)模型是描述業(yè)務(wù)需求的一對(duì)兒“難兄難弟”,流程模型表達(dá)的是“處理”,數(shù)據(jù)模型表達(dá)的是“輸入”和“輸出”,合起來(lái)就是計(jì)算機(jī)的基本工作流。數(shù)據(jù)模型和流程模型的組合,可以清楚的描述出,什么樣的事件或條件可以觸發(fā)一組業(yè)務(wù)活動(dòng),業(yè)務(wù)活動(dòng)需要的輸入有哪些,經(jīng)過(guò)業(yè)務(wù)流程的處理,輸出又有哪些。如果將該業(yè)務(wù)系統(tǒng)化,就成為實(shí)現(xiàn)業(yè)務(wù)活動(dòng)的計(jì)算機(jī)程序是在什么樣的場(chǎng)景(事件)下開(kāi)始執(zhí)行,程序需要讀取哪些數(shù)據(jù)(實(shí)體),依據(jù)什么樣的順序(活動(dòng))、規(guī)則(任務(wù))由誰(shuí)(組織、角色)執(zhí)行,執(zhí)行之后產(chǎn)生哪些數(shù)據(jù)(實(shí)體)。任務(wù)會(huì)直接處理數(shù)據(jù),而這種處理通常分為增加、修改、刪除、查詢(xún)四類(lèi)。
一個(gè)業(yè)務(wù)領(lǐng)域是由一組活動(dòng)構(gòu)成的,而這些活動(dòng)分布在價(jià)值鏈的不同環(huán)節(jié),如果粗糙地劃分業(yè)務(wù)組件,則將每一個(gè)價(jià)值鏈環(huán)節(jié)設(shè)為一個(gè)業(yè)務(wù)組件也未嘗不可,不過(guò)這樣未免太“偷懶”,對(duì)于業(yè)務(wù)復(fù)雜的大型企業(yè)而言,組件的內(nèi)聚性會(huì)很差,所以我們需要更為精細(xì)的劃分。數(shù)據(jù)模型都有主題域這個(gè)層級(jí),就是將關(guān)系較近的數(shù)據(jù)實(shí)體聚合成一個(gè)分類(lèi),這種關(guān)系我們可以給出一個(gè)主題名稱(chēng),比如,當(dāng)按照產(chǎn)品劃分主題時(shí),F(xiàn)SDM 中產(chǎn)品分類(lèi)下就可以建立一個(gè)“存款”主題域,將存款業(yè)務(wù)相關(guān)的數(shù)據(jù)實(shí)體放入其中,并使用 ER 圖的方式表達(dá)。
在軟件設(shè)計(jì)上,是可以考慮將關(guān)系較近的數(shù)據(jù)實(shí)體聚在一起,按照行為接近數(shù)據(jù)的原則,再將相應(yīng)的功能聚合成一個(gè)組件。結(jié)合業(yè)務(wù)模型,就可以將與主題域中與實(shí)體相關(guān)的任務(wù)聚在一起構(gòu)成業(yè)務(wù)組件。聚類(lèi)過(guò)程中要注意:
數(shù)據(jù)主題域中的數(shù)據(jù)實(shí)體可能存在引用其他主題域數(shù)據(jù)實(shí)體的情況,這種情況下,在進(jìn)行任務(wù)聚類(lèi)時(shí)不會(huì)考慮此類(lèi)數(shù)據(jù)實(shí)體,因?yàn)樗鼈儜?yīng)當(dāng)由其所在的數(shù)據(jù)主題域相關(guān)的組件創(chuàng)建,以保證在企業(yè)級(jí)業(yè)務(wù)系統(tǒng)中,數(shù)據(jù)生成職責(zé)的唯一性,這是應(yīng)用企業(yè)級(jí)數(shù)據(jù)模型時(shí)非常重要的一點(diǎn)。
與數(shù)據(jù)實(shí)體相關(guān)的任務(wù)主要指對(duì)數(shù)據(jù)實(shí)體進(jìn)行新增、修改、刪除的任務(wù),對(duì)同一數(shù)據(jù)實(shí)體進(jìn)行新增、修改、刪除操作的任務(wù)應(yīng)當(dāng)歸屬同一組件。只有這些任務(wù)具有數(shù)據(jù)的寫(xiě)權(quán)限,其他任務(wù)只具有讀權(quán)限,這也是保證企業(yè)級(jí)數(shù)據(jù)一致性的重要措施。
上述原則會(huì)在一定程度上影響任務(wù)邊界的劃分,是否需要因?yàn)樵谌蝿?wù)中要表達(dá)對(duì)不同主題域數(shù)據(jù)實(shí)體的寫(xiě)操作,就需要將任務(wù)切分開(kāi),或者直接復(fù)用其他組件中已有的對(duì)該數(shù)據(jù)實(shí)體進(jìn)行寫(xiě)操作的任務(wù)?表達(dá)上,當(dāng)然切分開(kāi)或復(fù)用任務(wù)最好,甚至可能復(fù)用活動(dòng),但是實(shí)際建模過(guò)程中則要具體問(wèn)題具體分析了,這一方面是建模的問(wèn)題,但另一方面其實(shí)也是應(yīng)用模型過(guò)程中很重要的一個(gè)環(huán)節(jié)——解讀模型的問(wèn)題,如果兩者比較統(tǒng)一,那模型具體長(zhǎng)成什么樣子就不必太糾結(jié)了。所以,該如何處理,同時(shí)取決于這兩方面的情況,考驗(yàn)的是“統(tǒng)一語(yǔ)言”是否真的建立了。
熟悉 DDD 的朋友可能會(huì)問(wèn),任務(wù)與實(shí)體的關(guān)聯(lián)主要基于對(duì)實(shí)體的增刪改,這不是有點(diǎn)兒“貧血模型”的意味嗎?其實(shí)不然,流程對(duì)數(shù)據(jù)的更豐富的處理規(guī)則其實(shí)可以包含在任務(wù)的描述中,從而擺脫“貧血模型”的問(wèn)題。
企業(yè)級(jí)數(shù)據(jù)模型與企業(yè)級(jí)流程模型相互支持,而其中最重要的概念都是企業(yè)級(jí),企業(yè)級(jí)在操作層面上,說(shuō)到底是個(gè)標(biāo)準(zhǔn)化問(wèn)題,我們將在下一講闡述這個(gè)問(wèn)題。
作者介紹:付曉巖,原國(guó)有大行資深業(yè)務(wù)架構(gòu)師,負(fù)責(zé)業(yè)務(wù)架構(gòu)設(shè)計(jì)、項(xiàng)目管理,熱衷新技術(shù)探索與實(shí)踐,具有豐富的銀行業(yè)務(wù)經(jīng)驗(yàn)和企業(yè)級(jí)項(xiàng)目業(yè)務(wù)架構(gòu)設(shè)計(jì)經(jīng)驗(yàn),曾主導(dǎo)客戶(hù)關(guān)系、金融市場(chǎng)、同業(yè)、資管、養(yǎng)老金等多個(gè)領(lǐng)域核心系統(tǒng)的業(yè)務(wù)架構(gòu)設(shè)計(jì)。公眾號(hào):曉談巖說(shuō)。
聯(lián)系客服