上線(xiàn)前,請(qǐng)先準(zhǔn)備好這份 Checklist
編輯導(dǎo)語(yǔ):任何一件事在完成之前,都需要做一個(gè)Checklist,從而檢查錯(cuò)誤,規(guī)避風(fēng)險(xiǎn)。這對(duì)于上線(xiàn)來(lái)說(shuō),尤其重要,稍不注意就可能損害到用戶(hù)的體驗(yàn)感。本文作者從準(zhǔn)備階段、發(fā)布階段、驗(yàn)證階段和異常處理四個(gè)方面,具體的談了談如何做上線(xiàn)的checklist,希望看后能夠?qū)δ阌兴鶐椭?/p>
每次發(fā)版上線(xiàn)都是一個(gè)緊張且激動(dòng)的時(shí)刻,為了保證上線(xiàn)順利,可以早點(diǎn)回家睡覺(jué),上線(xiàn)清單一定提前準(zhǔn)備好,做到心中有數(shù)。
上線(xiàn)的checklist可簡(jiǎn)要分為以下3個(gè)部分:
一、準(zhǔn)備階段
1. 上線(xiàn)前培訓(xùn)
上線(xiàn)前給相關(guān)人員進(jìn)行培訓(xùn)。
首先:需要給客戶(hù)進(jìn)行培訓(xùn),讓客戶(hù)提前了解改動(dòng)的功能點(diǎn)。避免出現(xiàn)功能上線(xiàn)后,客戶(hù)并不知情,一臉蒙的情況。
其次:上線(xiàn)前也需要給客服等運(yùn)維人員做好培訓(xùn),并告知可能遇到的問(wèn)題以及對(duì)應(yīng)的解決策略。
2. 數(shù)據(jù)資料
歷史數(shù)據(jù)是否做好備份,如果需要清空數(shù)據(jù),需再次檢查執(zhí)行任務(wù)的代碼是否準(zhǔn)確,執(zhí)行的時(shí)間是否明確。
新數(shù)據(jù)是否已經(jīng)準(zhǔn)備好,一旦發(fā)版成功后,可以及時(shí)導(dǎo)入新的數(shù)據(jù)。
3. 遺留問(wèn)題
首先:確認(rèn)全部上線(xiàn)的功能均經(jīng)過(guò)測(cè)試驗(yàn)證。
其次:明確測(cè)試結(jié)果,了解目前SIT和UAT的情況,是否還有遺留待解決的問(wèn)題;明確對(duì)應(yīng)遺留問(wèn)題的原因,以及對(duì)應(yīng)問(wèn)題的解決時(shí)間和責(zé)任。
如帶問(wèn)題部署到生產(chǎn)環(huán)境是否嚴(yán)重影響用戶(hù)體驗(yàn),這些都需要提前進(jìn)行評(píng)估。
4. 壓測(cè)情況
是否有做壓測(cè),基于壓測(cè)結(jié)果核對(duì)能否支撐大規(guī)模的業(yè)務(wù)場(chǎng)景(需要業(yè)務(wù)方提供或基于歷史數(shù)據(jù)進(jìn)行模擬),并及時(shí)做好報(bào)備。
5. 埋點(diǎn)
對(duì)于新功能,上線(xiàn)前都需要做好埋點(diǎn)工作,并對(duì)同功能的歷史數(shù)據(jù)做好記錄,方便后續(xù)做數(shù)據(jù)分析和對(duì)比。
6. 文件報(bào)備
明確發(fā)版過(guò)程中是否需要停機(jī),針對(duì)大公司,停機(jī)需要提前發(fā)停機(jī)發(fā)文,并告知各個(gè)相關(guān)系統(tǒng)。
7. 代碼合并
需要對(duì)最終發(fā)布的代碼做好打包合并,封版后不許改動(dòng),如果有則需要重新評(píng)估。
8. 代碼review
開(kāi)發(fā)負(fù)責(zé)人重新對(duì)合并的代碼進(jìn)行review,以免出現(xiàn)問(wèn)題。
9. 配置文件
上線(xiàn)前的準(zhǔn)備工作,配置文件、腳本、程序升級(jí)。
10. 小程序提審
如果是小程序,需要提前進(jìn)行小程序的提審。
11. 日志
建立快速的日志清查和響應(yīng)機(jī)制,一旦需要排查問(wèn)題,這些日志就是找到原因的關(guān)鍵。
12. 人員安排
如果涉及到多個(gè)系統(tǒng),一定要預(yù)留相關(guān)系統(tǒng)的責(zé)任人,并確保功能驗(yàn)證通過(guò)后再離開(kāi)。
二、發(fā)布階段
1. 發(fā)版順序
本次功能上線(xiàn)涉及到的相關(guān)系統(tǒng)有哪些?
確定系統(tǒng)相互之間的依賴(lài)性,明確上線(xiàn)的前置條件及上線(xiàn)順序;確定哪些系統(tǒng)需要先發(fā),哪些后發(fā)。
2. 調(diào)度執(zhí)行
夜間是否有調(diào)度程序問(wèn)題?(定時(shí)任務(wù))調(diào)度什么時(shí)候開(kāi)始執(zhí)行?以及什么是時(shí)候終止?停止的調(diào)度什么時(shí)候要回寫(xiě)配置和啟動(dòng)?
3. 發(fā)版模式
確定采取的發(fā)版模式是什么?如灰度發(fā)版。
三、驗(yàn)證階段
1. 功能驗(yàn)證清單
可以分為兩版:
1)主流程版
針對(duì)核心功能進(jìn)行快速驗(yàn)證。
2)詳細(xì)版本
可以在主流程走通的情況下,再逐個(gè)驗(yàn)證。
測(cè)試人員需要基于清單來(lái)驗(yàn)證,可以更加高效,準(zhǔn)確,以免遺漏關(guān)鍵核心驗(yàn)證點(diǎn)。
2. 及時(shí)輸出缺陷
驗(yàn)證過(guò)程中,及時(shí)報(bào)備問(wèn)題,并告知對(duì)應(yīng)的開(kāi)發(fā),把問(wèn)題闡述清楚,附帶截圖;讓開(kāi)發(fā)可以清晰是什么問(wèn)題,方便快速排查;測(cè)試人員需階段性地同步驗(yàn)證進(jìn)度和問(wèn)題解決進(jìn)展。
四、異常處理
回滾方案:
做好回滾的準(zhǔn)備,相關(guān)責(zé)任人需明確該功能上線(xiàn)的回滾策略。并根據(jù)日常的用戶(hù)量,評(píng)判最晚可以接受的發(fā)版時(shí)間。
在不大規(guī)模影響生產(chǎn)環(huán)境用戶(hù)的情況下,明確最晚可以接受的系統(tǒng)切換時(shí)間;一旦到了時(shí)間,如沒(méi)有辦法解決發(fā)版中的嚴(yán)重阻斷性問(wèn)題,采取版本回退方案。
五、小結(jié)
上線(xiàn)Checklist一定是不斷總結(jié),不斷完善的清單列表,并根據(jù)上線(xiàn)需求的類(lèi)別針對(duì)性地進(jìn)行調(diào)整。
當(dāng)然,心態(tài)和清晰的頭腦也是至關(guān)重要的。發(fā)版期間遇到問(wèn)題時(shí),一定要權(quán)衡利弊,優(yōu)先處理問(wèn)題,而不是規(guī)避責(zé)任。畢竟發(fā)版時(shí)間有限,一切都以風(fēng)險(xiǎn)最低,用戶(hù)體驗(yàn)最佳為原則。
本文由@黑心老巫婆 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Pexels,基于CC0協(xié)議
點(diǎn)贊~