編輯導語:規(guī)劃一個企業(yè)級系統(tǒng),是對我們產(chǎn)品人的一個挑戰(zhàn)。那么如何構(gòu)建一個完整的架構(gòu)系統(tǒng),并將其落地?作者分享了企業(yè)架構(gòu)的系統(tǒng)規(guī)劃步驟及其落地方式,希望能給你提供一些思路。
我們現(xiàn)在先做一個簡單的場景模擬,假設(shè)你是某家公司的一個產(chǎn)品負責人。
讓你帶領(lǐng)一個產(chǎn)研團隊去從零規(guī)劃一個系統(tǒng),如何無遺漏的進行完整系統(tǒng)規(guī)劃?或者說規(guī)劃至少要包含哪幾項?
事實上在我看來去完整規(guī)劃一個企業(yè)級系統(tǒng),恰恰是對我們產(chǎn)品人產(chǎn)品功底的一個綜合性的挑戰(zhàn)。
這里先上答案,設(shè)計分為以下四點:
下面我們展開來一個個談。
首先在做任何系統(tǒng)建設(shè)前,我們都必須要對整個業(yè)務(wù)有一個非常清晰的認知,也去理解業(yè)務(wù)。
比如說去做HR系統(tǒng)、做財務(wù)系統(tǒng)或者說做法務(wù)相關(guān)的系統(tǒng),我們必須要非常熟悉這相關(guān)領(lǐng)域的一些專有知識,否則我們就無法去進行相關(guān)的系統(tǒng)建設(shè),或者說我們建設(shè)出來的這個系統(tǒng)和實際業(yè)務(wù)有非常大的一個差距,所以第一步我們一定要去理解業(yè)務(wù)。
理解了業(yè)務(wù)后,下一步要做的就是要去定義系統(tǒng)的入手點是什么?一個業(yè)務(wù)領(lǐng)域往往非常龐大,特別是當我們從0~1開始的時候,我們到底要從哪個點開始進行入手?
在這里一般來說我們?nèi)タ紤]系統(tǒng)入手點,應(yīng)該是以系統(tǒng)的主流程去進行出發(fā)。因為我們作為系統(tǒng)的建設(shè)者,畢竟不是真正的一線系統(tǒng)使用者。因此我們必須在最快時間內(nèi)去搭建出一個最小的可迭代化的原型,使其投入到我們的實際生產(chǎn)環(huán)境中,讓我們的這些業(yè)務(wù)人員去進行一個使用,來檢驗產(chǎn)品的方向是否正確,這也就是所謂的產(chǎn)品MVP。
也就是說我們先搭建出一個可以讓業(yè)務(wù)來驗證我們的系統(tǒng)的主流程,從而通過體驗在這過程中讓我們發(fā)現(xiàn)問題,然后再去迭代,只有這樣才能保證我們前期的投入不會出現(xiàn)過大的一個偏差。那么這就是選擇系統(tǒng)入手點的重要目的。
選擇好入手點,下一步我們要做的便是系統(tǒng)藍圖的繪制。所以系統(tǒng)藍圖其實就跟建設(shè)一個房子是一樣的,我們需要清楚的知道這棟房子的建設(shè)完成之后它的一個全貌是什么樣子。所以我們在系統(tǒng)開始建設(shè)之前,我們必須要去把整個系統(tǒng)的一個圖紙繪制出來,在軟件系統(tǒng)中這就稱之為系統(tǒng)藍圖。
畫完了圖紙之后,接下來就是我們要把這個圖紙去拆分成可迭代的版本計劃,從而組織安排人力按優(yōu)先級進行開發(fā)。
結(jié)束這個熱身話題之后,我們接下來就開始談以上4點進行落地時用到的工具。
我曾為大家介紹過一個在軟件行業(yè),非常成熟且非常流行的去解決復(fù)雜系統(tǒng)設(shè)計的工具——企業(yè)架構(gòu)。
所謂企業(yè)架構(gòu)就是用來去解決業(yè)務(wù),從理解到分析再到設(shè)計建模,最后去翻譯成信息系統(tǒng)建設(shè)的一個完整思想。
事實上企業(yè)架構(gòu)并不是什么新鮮產(chǎn)物,最早在1987年就被提出了,因為在當時其實就已經(jīng)有非常多的系統(tǒng)在企業(yè)內(nèi)部存在了。
因此必須要有一個系統(tǒng)或者說一個模型去幫助我們拉通這些系統(tǒng),否則企業(yè)內(nèi)部的系統(tǒng)越來越多,就會導致企業(yè)內(nèi)部在信息傳遞、管理上出現(xiàn)失衡,所以在這個大背景下提出了企業(yè)架構(gòu)的概念。
那么具體來說企業(yè)架構(gòu)到底是什么呢?其實在發(fā)展這么多年后,特別是在TOGAF這個組織成立之后,企業(yè)架構(gòu)這個概念就做了一個非常細致的拆分,企業(yè)架構(gòu)就被定義成為兩大部分,如下圖所示:
為了方便大家理解,在這里三爺我將企業(yè)架構(gòu)這個思想給大家提煉為了三步走的落地執(zhí)行方法。
具體來說對應(yīng)企業(yè)架構(gòu)里的兩個細分項:
可以看到業(yè)務(wù)抽象建模與關(guān)鍵節(jié)點設(shè)計這兩步對應(yīng)的是業(yè)務(wù)架構(gòu)梳理。
首先我們通過業(yè)務(wù)抽象建模將一個陌生業(yè)務(wù)去進行結(jié)構(gòu)化的一個表述,詳細的把業(yè)務(wù)拆解為:什么角色做了什么事情。那然后在這個基礎(chǔ)上我們提煉出關(guān)鍵節(jié)點,這些關(guān)鍵節(jié)點就是我們系統(tǒng)要去承載的部分。
相信這個也好理解,雖然是在做信息化系統(tǒng),但是我們不可能將一個系統(tǒng)事無巨細的將業(yè)務(wù)都放進來,因為很多業(yè)務(wù)動作都是線下完成的,其次系統(tǒng)如果全部承載的話,就會讓系統(tǒng)變得非常臃腫,操作會變得非常復(fù)雜。
這兩步是完成我們的業(yè)務(wù)架構(gòu),在有了這兩步的產(chǎn)出之后,我們接下來就可以基于這兩步去進行系統(tǒng)藍圖的設(shè)計,也去設(shè)計我們的it架構(gòu)。
用大白話來說就是設(shè)計由哪些系統(tǒng)來承載?哪些功能來承載?對應(yīng)的功能它的數(shù)據(jù)載體又是什么?最終是用什么樣的代碼結(jié)構(gòu)實現(xiàn)。
可以看到這樣的方式就是嚴格按照我們企業(yè)架構(gòu)思想,由業(yè)務(wù)驅(qū)動去得到完備的一個系統(tǒng)藍圖,不遺漏,也不會沖突。
至此我們就完成了企業(yè)架構(gòu)的一個標準落地路徑。
在這對本文一個總結(jié):
企業(yè)架構(gòu)包含兩大部分分別是業(yè)務(wù)架構(gòu)和IT架構(gòu),業(yè)務(wù)架構(gòu)指導并幫助大家去理解清楚一家企業(yè)是如何開展業(yè)務(wù)運作,IT架構(gòu)指導如何進行系統(tǒng)設(shè)計的一個框架思路。
企業(yè)架構(gòu)具體的落地方法分為三步:首先業(yè)務(wù)抽象建模,其次提取關(guān)鍵節(jié)點,最后得到系統(tǒng)藍圖設(shè)計。
三爺,微信公眾號:三爺茶館,人人都是產(chǎn)品經(jīng)理專欄作家,2019年年度作者?!吨信_產(chǎn)品經(jīng)理寶典》作者,原萬達高級產(chǎn)品、MBA特約講師、獨立創(chuàng)業(yè)者,現(xiàn)叮咚買菜B端產(chǎn)品線負責人,擁有多款集團項目從零到一經(jīng)驗并帶領(lǐng)實現(xiàn)商業(yè)化布局。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
]]>在進行組織機構(gòu)設(shè)計時,需要遵循如下原則。
(1)承接戰(zhàn)略。組織機構(gòu)的存在是為了服務(wù)于戰(zhàn)略,在設(shè)計組織機構(gòu)之前,一定要首先考慮戰(zhàn)略的需求。如果不明確戰(zhàn)略就盲目進行組織機構(gòu)設(shè)計,必然會導致組織機構(gòu)的有效性和適應(yīng)性大打折扣。
(2)務(wù)實高效。務(wù)實高效是對組織工作的基本要求,是組織健康運轉(zhuǎn)的前提,也是組織長久發(fā)展的必要條件。在設(shè)計組織機構(gòu)時,需要避免機構(gòu)或崗位的冗余,保持對組織較高效率工作狀態(tài)的要求。
(3)合理的管理幅度。管理幅度分為橫向和縱向管理幅度兩種,兩種管理幅度應(yīng)保持在合理的范圍內(nèi)。橫向管理幅度指的是部門內(nèi)部一個管理者能夠管理下屬的幅度;縱向管理幅度指的是組織內(nèi)最高層到最基層之間的幅度。
(4)運營、監(jiān)督、管理分開。組織中既要有運營部門,又要有監(jiān)督部門,還要有管理部門。負責運營的部門與負責監(jiān)督的部門應(yīng)有效地分開,監(jiān)督和管理部門可以合并,也可以分開,做到組織中既有“運動員”,又有“裁判員”。
(5)權(quán)、責、利對等。崗位的職權(quán)、職責和獲得的利益要能夠?qū)崿F(xiàn)對等,否則就容易出問題。責大權(quán)小利薄,不利于人才長期穩(wěn)定留在組織發(fā)展;責小權(quán)大利厚,雖然人才愿意留下,但對組織發(fā)展是不利的。
對于傳統(tǒng)的科層制縱向管理模式為主的企業(yè),組織機構(gòu)設(shè)計的步驟可以分成以下三步。
(1)設(shè)計崗位。
崗位是組織中最基礎(chǔ)的單位,崗位管理是人力資源管理的核心。崗位設(shè)置的依據(jù)是工作任務(wù)和目標。在設(shè)計崗位時,要明確崗位的工作權(quán)限、工作職責、工作內(nèi)容、薪酬范圍、職級范圍、上下級關(guān)系、考核指標、能力要求等關(guān)鍵要素。
(2)設(shè)計部門。
部門是由一系列崗位組成的工作單位。將崗位打包合并后,就形成了部門。部門的劃分是一個自上而下和自下而上結(jié)合的過程。先自上而下地根據(jù)公司需求頂層設(shè)計,形成初步的部門劃分,再自下而上地根據(jù)崗位的工作內(nèi)容和關(guān)聯(lián)度形成正式的部門。
部門的組織方式多種多樣,可以按照職能劃分、按照地域劃分、按照產(chǎn)品劃分、按照流程劃分,也可以按照顧客劃分。與崗位設(shè)計類似,設(shè)計好部門后也需要設(shè)計出部門的最高權(quán)限、職責、內(nèi)部崗位設(shè)置、編制設(shè)置、從屬關(guān)系、上下級關(guān)系等。
(3)設(shè)計層級。
橫向的管理幅度一般以5~10人為宜。一般來說,管理層級越高,橫向管理幅度宜越窄;管理層級越低,橫向管理幅度宜越寬。為減少溝通成本,提高組織的工作效率和反應(yīng)速度,縱向的管理幅度一般越窄越好。
]]>軟件項目的研發(fā),不只是“寫寫代碼,改改Bug”這么簡單。
創(chuàng)業(yè)團隊早期注重野蠻生長和快速擴展,隨著人員越多,業(yè)務(wù)越復(fù)雜,涉及的技術(shù)領(lǐng)域越廣,更需要一套完整、清晰、規(guī)范的研發(fā)協(xié)作流程。否則,就會容易陷入團隊混亂、流程混亂、項目混亂、系統(tǒng)混亂的窘境。
一旦陷入混亂,就會對以下常見的研發(fā)痛點更加深有體會:
軟件工程是一門學科,引自百度百科的定義:
軟件工程是一門研究用工程化方法構(gòu)建和維護有效、實用和高質(zhì)量的軟件的學科。
為了構(gòu)建和維護有效、實用和高質(zhì)量的軟件,勢必會存在對應(yīng)的解決方案。
追本溯源,我建議可以從兩個源頭進行嚴格的控制。
一方面,嚴控需求源頭。
需求提出后,產(chǎn)品經(jīng)理要對需求進行文檔化。不管是用Word文檔,還是使用Axure的專業(yè)制作工具。好的需求文檔,是整個協(xié)作流程的起點。壞的需求,自提出后,就會持續(xù)污染下游和后續(xù)的協(xié)作流程,包括:開發(fā)對需求不明確、測試對需求不理解、上線后客服和用戶對需求的價值不清晰、后續(xù)發(fā)生了故障無法維護。更重要的是,需求不明確或沒有記載,非常容易產(chǎn)生“糾紛”和“扯皮”,影響內(nèi)部協(xié)作的氛圍,增加內(nèi)耗,損失時間成本不說,還損傷心情和增加心理負擔。除了做好需求記錄,還要做好需求評審。千萬不要各自去猜產(chǎn)品的需求。
圖片來自于網(wǎng)絡(luò)
另一方面,嚴控代碼質(zhì)量。
需求規(guī)劃和整理得再好,如果施工執(zhí)行不當,也會大打折扣。Bug問題多,上線后容易出故障,維護成本高,存在安全漏洞,用戶使用困難和體驗差,對不同終端設(shè)備兼容性差等。嚴控代碼質(zhì)量,更為有效的方式是三角驗證,通過第三方來評定。例如:測試驗收、進行相互code reivew、使用Sonar等專業(yè)工具分析評估靜態(tài)代碼質(zhì)量、通過自動化測試測試進行360度全方位的白盒測試、要求開發(fā)人員針對復(fù)雜和核心的需求提供技術(shù)開發(fā)文檔并進行審查。
需求是方向,方向不明確則越走越步履維艱;代碼是根基,根基不穩(wěn)則越蓋越可怕。
系統(tǒng)非常穩(wěn)定,圖片來自于網(wǎng)絡(luò)
作為技術(shù)負責人,或者作為老板,要考慮研發(fā)的整體閉環(huán)管理。
首先,要對整個團隊和最終的結(jié)果負責任。
其次,要基于對結(jié)果負責的目標,制定和構(gòu)建團隊的協(xié)作流程和規(guī)范,以敏捷開發(fā)為藍本,結(jié)合人員、業(yè)務(wù)特點、每周的時間線、內(nèi)部的習慣和偏好,搭建閉環(huán)管理。
最后,落地實施。
閉環(huán)管理的意義在于形成正向的反饋和閉環(huán),使得技術(shù)人員有成長、項目可以更快更穩(wěn)持續(xù)迭代升級、公司的業(yè)務(wù)持續(xù)增長和迎來新的突破。猶如種子破土而出,向陽而生,開枝散葉,欣欣向榮。
所以,從個人、到項目、再到企業(yè),分為三個閉環(huán)。
個人小閉環(huán):注重高效的個人工作和習慣偏好,同時也要注意讓團隊成員每個人能充分發(fā)揮各自的優(yōu)勢和主觀能動性,發(fā)揮集成智慧的力量。明確好職責和分工。
項目閉環(huán):軟件開發(fā)是一個需要高智力、頻繁溝通和密切協(xié)作的過程。從一個抽象的需求提出來,到最終發(fā)布上線交付有價值且可正常運行的軟件,這個過程需要多個部門、多個學科領(lǐng)域進行通力配合。由此,每次項目迭代的時間越緊湊,這個組織就越有活力;迭代得越頻繁,企業(yè)的產(chǎn)品和業(yè)務(wù)就越有市場競爭力。當然,前提是,不以過度損壞項目質(zhì)量為前提。
創(chuàng)業(yè)大閉環(huán):把軟件產(chǎn)品做出來是一回事,把產(chǎn)品賣出去又是另一回事,把產(chǎn)品賣出去同時提供好售后技術(shù)服務(wù)又是另一回事。如果要贏得客戶的信任和口碑,需要整個企業(yè)組織更加密切地配合。大閉環(huán)跑通,通過MVP以最小的代價成本和風險驗證產(chǎn)品,把產(chǎn)品賣出去以贏得付費客戶,跑出ROI、ARR、付費漏斗和“性感的”增長曲線。
結(jié)合我們自己在使用以及研發(fā)的YesDev工具,粗略分享下如何構(gòu)建自己創(chuàng)業(yè)團隊的閉環(huán)管理。分別五個主要步驟:
依次介紹如下。
堅持:一切需求,統(tǒng)一記錄到需求池里。
針對需求,可以由產(chǎn)品經(jīng)理或產(chǎn)品專員統(tǒng)一收集和記錄,并整理成需求文檔,在產(chǎn)品內(nèi)部評審?fù)ㄟ^后,再流轉(zhuǎn)給研發(fā)部門進行需求評審。
1、直接用富文本編輯器(會記錄需求的歷史變更)
2、上傳Axure制作的PRD,并關(guān)聯(lián)到需求
3、上傳word或excel等需求文檔的附件(word可以直接粘貼)
4、如果是使用第三方平臺制作PRD,可以以鏈接形式提交,例如:墨刀、藍湖的鏈接。
需求要記得做好記錄,切莫以龐大的大版本需求為主,應(yīng)以具體、細小、清晰的需求為工作單元。
梳理好需求后,下一步就是進行需求評審,然后由技術(shù)負責人員組織開發(fā)人員和測試人員進行開發(fā)排期。細說下來就是:
1、需求評審?fù)ㄟ^后(若需求評審不通過,應(yīng)打回,下次再評),規(guī)劃好迭代的需求,指定項目負責人;
2、由負責開發(fā)的人員和測試人員評估工時和計劃完成時間;
評估后的任務(wù)列表:
3、匯總項目總工時、項目排期和開發(fā)計劃。
項目總工時體現(xiàn)了本次項目迭代需要投入的人力成本,
項目排期,可以讓你提前知道項目的里程碑和計劃完成時間,
開發(fā)計劃表,可以讓你更精確地把控每個計劃的細節(jié)和更充分的信息,
4、使用項目燃盡圖持續(xù)跟進項目的進度和把控延期風險,直到項目完成。
高效的協(xié)作,離不開頻繁的溝通,包括:面對面交流、每日站會、會議、視頻,這些都需要實時和被動的通知。
為此,我們需要在日常辦公中使用最多最頻繁的企業(yè)微信群、釘釘群或飛書群中,和項目干系人等其他部門,一起圍繞某個項目或產(chǎn)品線接收公開、實時的項目動態(tài)消息。
例如需求指派的通知:
又如Bug修復(fù)的通知:
群消息的意義和作用在于,讓項目成員同步接收公開、透明和一致的實時消息動態(tài)。同時,郵件通知則是針對具體的工作負責人,進行的點對點的精準通知和推送。
例如Bug指派時的郵件通知:
更為重要的是,除了給開發(fā)人員提供實時的消息通知外,還要在減少對開發(fā)人員的干擾和不增加額外的人工操作成本,實現(xiàn)更高效、自動化和簡單易用的協(xié)作流。這時,就需要用到GitOps了,即通過集成Git代碼提交和關(guān)聯(lián)到Y(jié)esDev,同時實現(xiàn)智能通知和自動流轉(zhuǎn)。
例如,按以下格式,
需求注釋格式是:
需求#{需求ID}:開發(fā)人員填寫的注釋內(nèi)容
其中,{需求ID}對應(yīng)YesDev的需求ID,注釋示例:
需求#666:首頁靜態(tài)頁面開發(fā)
在開發(fā)人員提交注釋后,就可以自動完成以下事情和動作。
1、需求狀態(tài),自動更新為【研發(fā)中】,方便更新和提供最新最準確的開發(fā)進度;
2、自動備注和上屏,方便針對需求進行code review(現(xiàn)有的Git工具都是針對分支的code review);
3、自動為開發(fā)人員添加當天的任務(wù),減少每天登記工時的煩惱;
4、發(fā)送必要、精準的郵件通知和IM群通知推送;
5、聯(lián)動記錄變更,形成操作記錄。
你也可以通過統(tǒng)計報表,查看團隊成員最近的活躍程度。
項目迭代顆粒度大時,你可以使用有效的工具和方式,進行更有針對性的管控,抓住核心,有的放矢。
一方面,你可以使用項目的任務(wù)看板,和敏捷看板,在每日站會時,實時更新團隊的最新動態(tài)和遇到的問題。
另一方面,除了可以用項目的燃盡圖跟蹤單個項目的進度和風險外,你也可以使用項目甘特圖和導出Excel,對多個項目或項目集進行宏觀的分析和統(tǒng)籌。
還有,就是要學會看懂數(shù)據(jù),并使用郵件進行有效地向上匯報。
為此,針對單個項目,可以使用項目匯總郵件,自動對比上一次的發(fā)送結(jié)果,從而可以有效地追蹤在此的持續(xù)變化和增量內(nèi)容。
在時間周期維度,可以按周或按每周二、每周四等時間頻率進行匯總匯報,結(jié)合郵件和清晰完整的Excel附件,為上級提供簡要和充分的數(shù)據(jù)和信息,輔助上級做出決策。
最后,還可以接入一鍵發(fā)布。
在工作臺上,找到一鍵發(fā)布。
進入一鍵發(fā)布后,就可以選擇需要發(fā)布的系統(tǒng),并關(guān)聯(lián)到項目。
也可以查看發(fā)布歷史記錄,
以及發(fā)布成功后的群通知:
至此,從一個需求提出到發(fā)布上線,中間的研發(fā)閉環(huán)已經(jīng)跑通。
更多的功能,以及具體的作用,可以直接免費注冊YesDev體驗使用。
]]>