公司最近在搞復(fù)盤,這里主要談?wù)効蒲袕?fù)盤。復(fù)盤的目的是如何實(shí)現(xiàn)科研管理從形式到內(nèi)容的轉(zhuǎn)變。
從形式上來(lái)看,公司這些年科研輸出需要哪些文檔,需要進(jìn)行哪些評(píng)審等都已經(jīng)有流程去支撐,通常情況下可以保證形式上的完整性。
剛到公司的時(shí)候也發(fā)現(xiàn)了這個(gè)問(wèn)題,形式上的完整性并不能保證產(chǎn)品質(zhì)量以及過(guò)程輸出件的質(zhì)量,曾經(jīng)提出過(guò)這種流程和方式過(guò)于形式,要重視內(nèi)容質(zhì)量建設(shè)。那時(shí)候并沒(méi)有得到公司老板足夠重視,認(rèn)為形式有了內(nèi)容也差不多。到目前為止,問(wèn)題已經(jīng)凸顯出來(lái),公司意識(shí)到要保證產(chǎn)品和過(guò)程輸出件的質(zhì)量,光靠形式上的流程和要求是不夠的,本質(zhì)上還是要在內(nèi)容上下功夫。
那么如何在內(nèi)容上下功夫?
首先,統(tǒng)一架構(gòu)語(yǔ)言。
在討論的過(guò)程中發(fā)現(xiàn)一個(gè)很重要的問(wèn)題,也就是公司這么多年以來(lái),其實(shí)并沒(méi)有一個(gè)架構(gòu)統(tǒng)一的語(yǔ)言,所以我們?cè)谧黾軜?gòu)設(shè)計(jì)的時(shí)候,都是個(gè)人按照自己的理解來(lái)進(jìn)行方案設(shè)計(jì),這就造成了架構(gòu)設(shè)計(jì)的隨意性,以及溝通的偏差。
按照以前我做架構(gòu)的經(jīng)驗(yàn),一般來(lái)說(shuō)首先要進(jìn)行架構(gòu)的定義,那么什么是架構(gòu)?最通俗最簡(jiǎn)單的說(shuō)法是,架構(gòu)就是系統(tǒng)有哪些模塊組成,以及模塊與模塊之間的關(guān)系。我們就是利用這些模塊來(lái)實(shí)現(xiàn)產(chǎn)品或者系統(tǒng)的業(yè)務(wù)功能。
每個(gè)公司對(duì)架構(gòu)的術(shù)語(yǔ)可能都有自己的定義,譬如我在hw公司的時(shí)候,我們是按照系統(tǒng)、子系統(tǒng)、模塊、組件來(lái)進(jìn)行分層定義。不同公司都有自己的一些標(biāo)準(zhǔn),但本質(zhì)上底層的邏輯是類似的。我們先不討論這種差異性,不管采用哪種方式,在團(tuán)隊(duì)內(nèi)部都要保持一致的認(rèn)識(shí),用同一套語(yǔ)言去支撐輸出和溝通,這套語(yǔ)言先形成共識(shí),只要跟標(biāo)準(zhǔn)說(shuō)法差異不大而且不會(huì)產(chǎn)生誤解,那至少可以達(dá)到能夠相互理解的目的。
所以統(tǒng)一語(yǔ)言很重要。根據(jù)目前公司的現(xiàn)狀和一貫習(xí)慣,我覺(jué)得能夠被接納或者是說(shuō)溝通順暢最好的建議就是系統(tǒng)或產(chǎn)品、業(yè)務(wù)功能模塊、基礎(chǔ)平臺(tái)與公共組件,形成“產(chǎn)品-模塊-組件”的三層架構(gòu)定義模式。
其中,產(chǎn)品與模塊主要是面向用戶可理解的業(yè)務(wù)層面的內(nèi)容(偏向于概念模型),而組件是面向程序員實(shí)現(xiàn)層面的技術(shù)組件(偏向于實(shí)現(xiàn)模型)。
其次,理清復(fù)盤的兩大方向。
從科研管理這個(gè)視角來(lái)看,我認(rèn)為主要包含兩大部分:第一部分是業(yè)務(wù)復(fù)盤。第二部分是架構(gòu)復(fù)盤。
對(duì)應(yīng)到我們的科研管理流程上來(lái)說(shuō),業(yè)務(wù)復(fù)盤主要是TR1階段,主要是偏向用戶側(cè)。從產(chǎn)品定義、原始需求、產(chǎn)品需求、設(shè)計(jì)需求來(lái)看需求滿足度,以及從需求到設(shè)計(jì)的一致性。這里的輸出主要是什么呢?主要是需求跟蹤矩陣、典型用戶場(chǎng)景、用例圖或業(yè)務(wù)設(shè)計(jì)方案,原則上需要包含用戶測(cè)試用例和產(chǎn)品測(cè)試用例,但關(guān)于測(cè)試這一塊先放在一邊。
架構(gòu)復(fù)盤主要是對(duì)應(yīng)于TR2和TR3階段,主要偏向于實(shí)現(xiàn)側(cè)。從系統(tǒng)架構(gòu)或者說(shuō)是產(chǎn)品架構(gòu)到模塊架構(gòu),再到平臺(tái)和公共組件,需要分層輸出架構(gòu)設(shè)計(jì)方案。對(duì)于系統(tǒng)架構(gòu)或者產(chǎn)品架構(gòu),主要包含幾張架構(gòu)視圖,理論上是要包含4+1視圖,但是從目前我們產(chǎn)品的現(xiàn)狀來(lái)看,我認(rèn)為主要輸出業(yè)務(wù)視圖(功能)、架構(gòu)視圖(邏輯)、部署視圖(物理),如果TR1階段的用例視圖和業(yè)務(wù)設(shè)計(jì)方案輸出比較好,應(yīng)用視圖(使用)則是可以暫時(shí)省略的。為什么要輸出這幾個(gè)視圖呢?主要是為了回答系統(tǒng)或者產(chǎn)品有哪些業(yè)務(wù)功能(業(yè)務(wù)視圖)?是如何實(shí)現(xiàn)的(架構(gòu)視圖)?以及我們?nèi)绾尾渴穑ㄎ锢硪晥D)?最后用戶如何使用的(應(yīng)用視圖)?系統(tǒng)或產(chǎn)品除了輸出上面幾個(gè)視圖之外,還有按照我們業(yè)務(wù)視圖的模塊把模塊的架構(gòu)再分層打開(kāi),各自輸出模塊的架構(gòu)設(shè)計(jì)方案。
最后,眾神歸位,形成公司知識(shí)財(cái)富。
業(yè)務(wù)復(fù)盤和架構(gòu)復(fù)盤的輸出都需要經(jīng)過(guò)專家的專項(xiàng)評(píng)審,通過(guò)評(píng)審也確保理解的一致性,還有保證最終交付件(包括如代碼等實(shí)現(xiàn))的一致性。該重構(gòu)重構(gòu)該優(yōu)化優(yōu)化,不停的迭代形成高質(zhì)量的內(nèi)容。所以也需要成立一個(gè)或者多個(gè)專家評(píng)審團(tuán),并實(shí)現(xiàn)專家個(gè)人績(jī)效評(píng)估的閉環(huán),這是一個(gè)機(jī)制的問(wèn)題,這里就不多做說(shuō)明。
在上面的描述中,我并沒(méi)有說(shuō)這些內(nèi)容放在什么文檔里面,因?yàn)楝F(xiàn)在我強(qiáng)調(diào)的是內(nèi)容,至于內(nèi)容是應(yīng)該由哪個(gè)文檔來(lái)承載,這只是一種承載形式,只要形式符合質(zhì)量管理和配置管理的要求就可以了,因?yàn)槟莾H僅只是形式。
最后也就是三點(diǎn)強(qiáng)調(diào):
第1個(gè)就是輸出的內(nèi)容需要經(jīng)過(guò)專家評(píng)審,才能形成了高質(zhì)量的文檔,畢竟大多數(shù)的人都是普通人,我們需要借助專家的力量。
第2個(gè)就是輸出的內(nèi)容承載在哪篇文檔上,這根據(jù)公司的科研管理要求和質(zhì)量體系要求來(lái)落地,形式上可以滿足就行。
第3個(gè)根據(jù)上面的復(fù)盤,我們需要把該流程化的東西、該形成模板的內(nèi)容、該形成規(guī)則的都總結(jié)固化下來(lái),納入到公司管理體系中,這是舉一反三。
如此復(fù)盤,供科研管理復(fù)盤參考。