誰說明天上線,這貨壓根不知道開發(fā)流程!
本文轉(zhuǎn)載自微信公眾號(hào)「bugstack蟲洞棧」,作者小傅哥。轉(zhuǎn)載本文請(qǐng)聯(lián)系bugstack蟲洞棧公眾號(hào)。
一、前言
互聯(lián)網(wǎng)公司常見工種有哪些?
互聯(lián)網(wǎng)中一個(gè)項(xiàng)目的上線會(huì)需要各個(gè)工種間的配合,以研發(fā)為視角上會(huì)承接產(chǎn)品需求,下會(huì)交給測(cè)試驗(yàn)證,最終完成項(xiàng)目交付上線。其實(shí)除此之外,還會(huì)有業(yè)務(wù)、運(yùn)營、UI設(shè)計(jì)、運(yùn)維,來配合項(xiàng)目的發(fā)起、使用和運(yùn)維維護(hù)。
圖 18-1,互聯(lián)網(wǎng)工種協(xié)同合作。
圖 18-1互聯(lián)網(wǎng)工種協(xié)同合作
除了一條線上的工作交替配合,還有同工種間的跨部門協(xié)同工作。比如:
- 產(chǎn)品階段:A產(chǎn)品中的部分服務(wù),需要由另外一個(gè)部門配合開發(fā)相關(guān)服務(wù)支撐。那么雙方產(chǎn)品需要協(xié)調(diào)好時(shí)間節(jié)奏,配合上線。
- 研發(fā)階段:承接著產(chǎn)品跨部門的對(duì)接功能,雙方研發(fā)會(huì)定義好對(duì)接接口、對(duì)接時(shí)間,以及最終的聯(lián)調(diào)上線。
- 測(cè)試階段:按照產(chǎn)品的功能節(jié)點(diǎn)、研發(fā)的開發(fā)流程以及接口描述,進(jìn)行測(cè)試驗(yàn)證。
最終,同部門工作的交替、跨部門的工作協(xié)同,保障項(xiàng)目開發(fā)過程所需的各項(xiàng)物料都如期上線。
接下來我們來說一說,項(xiàng)目上線中各個(gè)階段的執(zhí)行過程。 當(dāng)然,并不一定所有的開發(fā)都是按照這個(gè)過程執(zhí)行。會(huì)根據(jù)公司的體量、項(xiàng)目的大小、架構(gòu)的模式有些許差異。所以,僅作為參考學(xué)習(xí)即可,不需要強(qiáng)制趨同。
二、時(shí)間節(jié)奏
圖 18-2 定義時(shí)間節(jié)奏
- 級(jí)別:
- 事項(xiàng):定義項(xiàng)目開發(fā)時(shí)間節(jié)點(diǎn)
- 人員:業(yè)務(wù)、產(chǎn)品、研發(fā)組長、測(cè)試組長、架構(gòu)師、核心項(xiàng)目成員
- 描述:這個(gè)時(shí)間節(jié)奏的定義非常重要,它可以是項(xiàng)目經(jīng)理發(fā)起也可以是產(chǎn)品發(fā)起。一般很多時(shí)候互聯(lián)公司發(fā)一個(gè)項(xiàng)目,經(jīng)常會(huì)聽到老板說我要這個(gè)時(shí)間上??赡苓@句話看上去很不合理,但為了活下去,為了快速站住市場(chǎng),壓到下面執(zhí)行人員就是一個(gè)必須要上線的時(shí)間。但,這個(gè)上線的時(shí)間如果想滿足, 那么就需要把整體的時(shí)間節(jié)奏確認(rèn)出來。比如業(yè)務(wù)和產(chǎn)品什么時(shí)候把需求確認(rèn)清楚,什么時(shí)間與研發(fā)過PRD,研發(fā)什么時(shí)候開發(fā)到提測(cè),測(cè)試什么時(shí)間測(cè)試完成。如果,沒有這個(gè)時(shí)間節(jié)奏,前面的職責(zé)人員把時(shí)間都耗費(fèi)沒了以后,越往后面風(fēng)險(xiǎn)越高。就像最后研發(fā)只有4天,測(cè)試只有2天,那帶BUG上線嗎!?所以要整體把控才是對(duì)項(xiàng)目的負(fù)責(zé)。
三、資源投入
圖 18-3 安排資源投入
- 級(jí)別:
- 事項(xiàng):研發(fā)資源投入
- 人員:架構(gòu)師、研發(fā)人員、測(cè)試人員
- 描述:站在研發(fā)視角,研發(fā)需要從工程開發(fā)、配合測(cè)試(改bug)、項(xiàng)目上線等的全流程參與,是一個(gè)較長周期的工作。但在某個(gè)階段所投入的時(shí)間成本會(huì)有差異,可以按照一定的資源占比進(jìn)行投入(1是100%、0.8是80%)。那么,當(dāng)一個(gè)新的項(xiàng)目下來以后,就需要按照最近原則和項(xiàng)目的人員可投入情況,進(jìn)行資源投入安排。如果項(xiàng)目較多的情況下,資源安排不合理??赡軙?huì)導(dǎo)致項(xiàng)目提交測(cè)試晚或某些功能全部由一個(gè)研發(fā)提交測(cè)試的,最終改不過來BUG。從而也就導(dǎo)致了,項(xiàng)目的延期風(fēng)險(xiǎn)。
四、研發(fā)、測(cè)試、上線階段
圖 18-4 研發(fā)、測(cè)試、上線階段
- 級(jí)別:
- 事項(xiàng):研發(fā)、測(cè)試、上線階段
- 人員:研發(fā)人員、測(cè)試人員、架構(gòu)師/技術(shù)組長
- 描述:這個(gè)階段包括的內(nèi)容較多,主要是以研發(fā)視角看上下銜接人員。研發(fā)接過產(chǎn)品的需求開始做設(shè)計(jì),設(shè)計(jì)完成后由研發(fā)主導(dǎo)發(fā)起設(shè)計(jì)評(píng)審,這個(gè)階段參與的人員較多(研發(fā)、架構(gòu)師、測(cè)試、產(chǎn)品等)。功能的合理設(shè)計(jì)也是可以非常有效的保障資源使用的重要一環(huán),另外一個(gè)需求的合理架構(gòu)將會(huì)為后續(xù)需求迭代做好鋪墊。就像女廁改男廁,如果沒有流出小便的水管,就很麻煩。 最終研發(fā)完成需要提交相應(yīng)的成果物,尤其是提測(cè)報(bào)告、接口文檔、單測(cè)信息。如果研發(fā)不能有完整的單元測(cè)試覆蓋度,那么交給測(cè)試以后,日常的修復(fù)bug的事情就會(huì)非常多。當(dāng)研發(fā)和測(cè)試工作完成以后,接下來就是發(fā)布上線。上線前夕會(huì)有研發(fā)發(fā)起上線報(bào)告,同時(shí)各方配合以及產(chǎn)品、運(yùn)用準(zhǔn)備相應(yīng)的線上配置數(shù)據(jù)和權(quán)限。最終上線完成交付產(chǎn)品運(yùn)營使用。
五、項(xiàng)目復(fù)盤
圖 18-5 項(xiàng)目復(fù)盤
- 級(jí)別:
- 事項(xiàng):項(xiàng)目復(fù)盤
- 人員:面向研發(fā)和測(cè)試人員
- 描述:復(fù)盤可能會(huì)因?yàn)槌霈F(xiàn)事故、技術(shù)總結(jié)、分享成長,幾個(gè)方向而進(jìn)行的歸納、總結(jié),避免同類事情的發(fā)生。復(fù)盤內(nèi)容一般會(huì)包括技術(shù)方面的使用,例如:DB、應(yīng)用開發(fā)、網(wǎng)關(guān)等,也包括業(yè)務(wù)領(lǐng)域邏輯的建設(shè)。
- 復(fù)盤DB:
- 數(shù)據(jù)庫連接數(shù)配置依照業(yè)務(wù)場(chǎng)景申請(qǐng)?jiān)黾?/li>
- 禁止使用復(fù)雜嵌套和函數(shù)類等做業(yè)務(wù)查詢
- 防重邏輯字段加強(qiáng)避免造成不能防重問題
- 索引字段初始化檢測(cè)以及慢查詢問題優(yōu)化
- 復(fù)盤業(yè)務(wù):
- 對(duì)于所有營銷類場(chǎng)景的設(shè)計(jì)需符合標(biāo)準(zhǔn)流程,緩存使用的一致性問題
- 資金流水結(jié)算方面在防重復(fù)設(shè)計(jì)上加強(qiáng)驗(yàn)證,測(cè)試環(huán)境模擬多樣場(chǎng)景
- 對(duì)于外部支撐系統(tǒng)的依賴按照業(yè)務(wù)體量發(fā)展,進(jìn)行通知壓測(cè)報(bào)告流量
- 所有核心功能流程加強(qiáng)研發(fā)側(cè)代碼評(píng)審質(zhì)量,并不斷按照發(fā)展量優(yōu)化
- 研發(fā)側(cè)代碼質(zhì)量提升定期復(fù)盤問題以及優(yōu)化,通過鍛煉不斷加強(qiáng)質(zhì)量
- 在研發(fā)提測(cè)、修復(fù)、上線流程注意開發(fā)分支,避免錯(cuò)亂合并產(chǎn)生問題
- 所有的業(yè)務(wù)流程配置監(jiān)控與圖表并打印日志,方便及時(shí)追蹤線上異常
- 核心場(chǎng)景的全鏈路壓測(cè)可以有效的保證質(zhì)量,也可很好降低流量風(fēng)險(xiǎn)
- 復(fù)盤功能:
- 功能邏輯封裝優(yōu)化,緩存、線程、驗(yàn)證
- 日志完整性校驗(yàn),入?yún)?、出參、異?/li>
- 調(diào)用外部接口的超時(shí)時(shí)長設(shè)定以及重試約定
- 異常展示的緊急問題,測(cè)試環(huán)境復(fù)現(xiàn)追溯
- 復(fù)盤部署:
- 按照壓測(cè)標(biāo)準(zhǔn)部署服務(wù)
- 核心業(yè)務(wù)雙機(jī)房三機(jī)房
- 非核心業(yè)務(wù)隔離RPC接口配置
- 按需調(diào)整JVM、連接數(shù)、日志等參數(shù)
- 復(fù)盤接口:
- 功能驗(yàn)證的完整性
- 異常流程的復(fù)測(cè)性
- 數(shù)據(jù)指標(biāo)監(jiān)控范圍
- 新上線后定期檢測(cè)
綜上,可能僅僅是對(duì)某一次項(xiàng)目的總結(jié)性復(fù)盤,便于新人接受和理解項(xiàng)目的重點(diǎn)內(nèi)容。如果團(tuán)隊(duì)中能及時(shí)有效的匯總技術(shù)并落地資料,可以非常有效的做好技術(shù)傳承。
六、總結(jié)
- 互聯(lián)網(wǎng)中一般中大型項(xiàng)目的開發(fā)過程,涉及的流程一般較多,也需要合理的把控。否則可能會(huì)出現(xiàn)一些過程中的風(fēng)險(xiǎn),導(dǎo)致項(xiàng)目不能如期上線。當(dāng)然也并不是所有項(xiàng)目都需要這樣處理,例如一些小功能的迭代和簡(jiǎn)單需求的開發(fā),可以簡(jiǎn)化流程,快速迭代。蓋茅坑、豬圈、三居室還是不同的,不能一概而論
- 做好技術(shù)分析、復(fù)盤、總結(jié)、歸納,沉淀出的技術(shù)資料非常有價(jià)值,既可以把項(xiàng)目開發(fā)經(jīng)驗(yàn)傳承給新人,也可以讓所有人做好各自的技術(shù)成長。并且通過復(fù)盤和總結(jié),又可以提煉出更多新的思路和提升技術(shù)氛圍。
- 好了,本章就總結(jié)到這,可能對(duì)具體的你或者具體的公司,會(huì)有不同的視角和結(jié)果。如果有一些好的點(diǎn)可以互相討論學(xué)習(xí)。另外最近學(xué)會(huì)了個(gè)新東西分享給大家:內(nèi)卷的反義詞是:外包,合同的反義詞是:離異!