技術(shù)人員突然離職,如何接手他的項(xiàng)目?(技術(shù)人員突然離職,如何接手他的項(xiàng)目呢)
技術(shù)人員,最討論和最懼怕的,莫過(guò)于接手別人的項(xiàng)目、維護(hù)歷史的遺留項(xiàng)目。尤其是那種沒(méi)有任何文檔、沒(méi)有工作交接、沒(méi)有人員協(xié)作的項(xiàng)目。
今天來(lái)分享一些技巧和工具,教大家在面對(duì)技術(shù)人員突然離職時(shí),如何快速接手項(xiàng)目,減少接手和維護(hù)的痛苦。
一、拉取代碼,本地運(yùn)行
首先,先開(kāi)通好git代碼倉(cāng)庫(kù)的權(quán)限,在本地拉取簽出對(duì)應(yīng)的代碼倉(cāng)庫(kù)。通常一個(gè)產(chǎn)品/一個(gè)項(xiàng)目,代碼倉(cāng)庫(kù)都不止一個(gè)。然后,在本地先跑起來(lái)。
如果沒(méi)有項(xiàng)目的部署文檔,估計(jì)你要折騰一番。因?yàn)橐粋€(gè)系統(tǒng)正常啟動(dòng),需要解決:
1.語(yǔ)言版本和依賴(lài)包的安裝:例如是PHP 5.6還是PHP7,是Java 7還是Java 18,是js還是nodejs還是ES6還是ts?其次,用composer安裝好PHP的vendor目錄包,或用npm/cnpm/yarn根據(jù)package.json安裝好node_modules,或用maven/ant安裝好JAVA的SDK包等。然后,這些還是很基礎(chǔ),很平常的。
2.然后在本地安裝必要的數(shù)據(jù)庫(kù),例如MySQL、MongoDB、Oracle;啟動(dòng)必要的服務(wù),例如:隊(duì)列、定時(shí)計(jì)劃任務(wù);以及背后依賴(lài)的系統(tǒng)接口和服務(wù)。
3.獲取之前可用的測(cè)試賬號(hào),進(jìn)行登錄。
二、熟悉發(fā)布上線的操作和過(guò)程
要提前知道,發(fā)布是手工操作,打包壓縮然后上傳解壓;還是通過(guò)發(fā)布系統(tǒng)進(jìn)行的界面操作進(jìn)行發(fā)布;或是通過(guò)Jenkins、Docker、k8s等工具系統(tǒng)進(jìn)行的集成發(fā)布。
三、熟悉產(chǎn)品、熟悉業(yè)務(wù)、熟悉技術(shù)
接手一個(gè)舊項(xiàng)目,第一要義:盡快熟悉產(chǎn)品。這個(gè)產(chǎn)品具體主要功能是什么?是給誰(shuí)使用的?客戶群體是誰(shuí)?項(xiàng)目組的其他成員還有哪些?等等這些項(xiàng)目和產(chǎn)品背景信息都要搞清楚。
第二要義:盡快熟悉業(yè)務(wù)。業(yè)務(wù)很關(guān)鍵,要對(duì)接手的產(chǎn)品所在的行業(yè)有一定的理解和學(xué)習(xí)。
第三要義:快速了解當(dāng)前項(xiàng)目所用到的技術(shù)棧、編程語(yǔ)言、開(kāi)發(fā)框架、數(shù)據(jù)庫(kù)、環(huán)境要求等。
四、開(kāi)始接手修復(fù)一些問(wèn)題和工單
可以從一些小問(wèn)題、小Bug和工單入手,通過(guò)一些問(wèn)題,排查某些頁(yè)面,同時(shí)做好常用數(shù)據(jù)庫(kù)查詢語(yǔ)句SQL、內(nèi)部腳本工具、常見(jiàn)問(wèn)題的記錄和熟悉。
記錄工單時(shí),要把用戶聯(lián)系方式、頁(yè)面截圖、鏈接、代碼位置、數(shù)據(jù)庫(kù)查詢等,進(jìn)行歸集。方便以后碰到類(lèi)似的問(wèn)題,有資料可查、有知識(shí)可學(xué)。
五、開(kāi)始開(kāi)發(fā)一些小需求和小功能
當(dāng)要開(kāi)發(fā)新的需求時(shí),先不要著急去改代碼。
寫(xiě)代碼很簡(jiǎn)單,但要寫(xiě)出100%符合原來(lái)業(yè)務(wù)邏輯和規(guī)則的代碼就很難。
也就是說(shuō),編程語(yǔ)言的代碼語(yǔ)法不難,難就難在完整理解和全盤(pán)掌握原來(lái)代碼的業(yè)務(wù)邏輯。
為此,可以使用ProcessOn、Xmind、Viso等在線工具或本地軟件,梳理一遍目前產(chǎn)品和技術(shù)上的思維腦圖、核心業(yè)務(wù)邏輯的時(shí)序圖、整體業(yè)務(wù)流程的泳道圖、目前系統(tǒng)的架構(gòu)圖。
1.產(chǎn)品腦圖:幫助理解產(chǎn)品的功能;
2.時(shí)序圖:幫助源代碼的核心技術(shù)實(shí)現(xiàn);
3.整體業(yè)務(wù)泳道圖:幫助從整體上熟悉業(yè)務(wù)的流程;
4.系統(tǒng)架構(gòu)圖:幫助掌握目前服務(wù)器的部署情況和網(wǎng)絡(luò)鏈路。
接手離職技術(shù)人員手里的項(xiàng)目,是工作生涯中或多或少總會(huì)遇到的事情,不僅程序員本人頭疼,公司及管理層也會(huì)頭疼如何進(jìn)行項(xiàng)目交接、避免項(xiàng)目外泄,這種項(xiàng)目交接的過(guò)程和內(nèi)容如果沒(méi)安排好,沒(méi)交接或交接質(zhì)量不高,帶來(lái)后續(xù)的成本是非常高昂的?;贘ava語(yǔ)言進(jìn)化而來(lái)的“捷碼”低代碼平臺(tái),是國(guó)內(nèi)目前最新銳、最優(yōu)秀的全技術(shù)棧低碼PAAS開(kāi)發(fā)工具之一,采用統(tǒng)一的設(shè)計(jì)器支撐Web頁(yè)面、大屏可視化、3D數(shù)字孿生、GIS開(kāi)發(fā)、APP、表單、工作流、數(shù)據(jù)管理等功能的可視化開(kāi)發(fā),通過(guò)拖拉拽和配置,即可快速實(shí)現(xiàn)數(shù)字化軟件應(yīng)用的敏捷開(kāi)發(fā)。開(kāi)發(fā)過(guò)程中項(xiàng)目成果無(wú)法被拷貝,杜絕開(kāi)發(fā)過(guò)程中的外泄風(fēng)險(xiǎn),且使用捷碼開(kāi)發(fā)項(xiàng)目,即使遇到人員變動(dòng),交接過(guò)程基本無(wú)需觸及底層代碼邏輯的梳理和熟悉過(guò)程,所以完全可以在捷碼平臺(tái)上實(shí)現(xiàn)零成本項(xiàng)目交接,不耽誤項(xiàng)目交付,實(shí)現(xiàn)技術(shù)團(tuán)隊(duì)可控、開(kāi)發(fā)成果更安全,為廣大的技術(shù)人員提供了一種全新的、快速的、專(zhuān)業(yè)的項(xiàng)目交接方式。
例如,甲公司的有技術(shù)團(tuán)隊(duì)3人,分別為管理者A、技術(shù)人員B、技術(shù)人員C,當(dāng)甲公司利用捷碼賬號(hào)建立項(xiàng)目應(yīng)用后,在應(yīng)用的團(tuán)隊(duì)管理模塊中設(shè)置研發(fā)管理者A、技術(shù)人員B進(jìn)行開(kāi)發(fā),中途有技術(shù)人員B離職,只需收回該賬號(hào),該離職人員無(wú)法拷貝項(xiàng)目或帶走成果。進(jìn)行交接的技術(shù)人員C只需進(jìn)入該應(yīng)用項(xiàng)目組,瀏覽項(xiàng)目開(kāi)發(fā)進(jìn)度,無(wú)需交接資料即可上手開(kāi)發(fā)。