跳至主要內容
Aurikle
AI與系統Aurikle

客製軟體上線回滾怎麼寫

客製軟體的上線回滾,先寫哪一個現象可以啟動、由誰做決定、這一次是還原資料還是關掉功能開關,以及決定之後通知誰。切換手冊管的是當晚每一步的順序;這一頁管的是退回決定本身怎麼寫。

目錄
  1. 回滾計畫和切換手冊分開寫
  2. 觸發寫成旁人看得到的現象
  3. 做決定的人和動手的人分開具名
  4. 還原資料和關掉開關要先選一條
  5. 關掉開關不會把已經寫入的列清掉
  6. 通知寫明誰收、走哪一條管道
  7. 預演用同一批人和同一組觸發
  8. 決定頁沒寫完,不掛進切換通知
對應服務客製軟件、網站與應用程式閱讀這篇

回滾計畫和切換手冊分開寫

切換手冊回答的是當晚先停哪一項、誰簽可否上線、退回時從哪一步做起。回滾計畫回答的是哪一個現象可以啟動退回、誰有權做這個決定、這一次要還原資料還是關掉功能開關、決定之後誰會收到哪一種訊息。兩份可以互相指到版本。不要把當晚的步驟表改寫成決定頁,也不要把決定頁拆進每一行任務裡。當晚的順序見 客製軟體上線切換怎麼做。

範圍變更看的是規格要不要改。資料遷移看的是欄位對照、預演和以哪一份抽取為準。交接看的是上線之後誰持有系統。三者都不代替這頁上的觸發和決定人。分別見 客製軟體範圍變更怎麼管、客製軟體資料遷移怎麼做、客製軟體專案交接要準備什麼。交付仍走 客製軟件、網站與應用程式。

觸發寫成旁人看得到的現象

2026年10月23日閱讀的 Microsoft Learn:切換策略 把切換計畫應包含的項目寫成:每項工作的順序和時點、負責人和備援、說明和工具、驗證和簽核,以及出問題時的退回計畫。該頁沒有刊登日期。該頁寫給 Dynamics 365 專案,不是要求客製專案必須採購該產品。該頁沒有列出客製專案必須採用的觸發清單,也沒有規定退回一定要還原哪一種備份。

觸發因此由這次上線自己寫,每一條都是旁人看得到的現象,並指回已經存在的核對。例如技術核對或業務核對沒有過、手冊上的時段已過仍不能讓使用者進來、正式環境寫入了無法對回來源的資料。不寫「感覺不穩」或「有人反對」。一條觸發對上計畫裡的一種回應:還原資料,或關掉功能開關,或兩者都要、並寫明先做哪一個。對不上任何回應的現象,不放進可以啟動的清單。

做決定的人和動手的人分開具名

同一頁寫明,要決定誰做最終判斷、方案能否進入正式環境,並把這個判斷稱為 go/no-go。那是可否上線的關口,名字和條件寫在切換手冊上。回滾計畫另寫一行:哪一個現象出現之後,誰可以宣布退回。兩行的名字可以是同一個人,行仍然分開。宣布的人當天不在,由計畫上預先寫好的代理人宣布,不在群組裡臨時改口。

每一條觸發再寫執行的人:誰還原資料、誰關掉開關、誰核對做完。執行的人不是決定的人,除非計畫寫明由同一個人兼任。兼任仍是兩欄。該頁要求切換任務有負責人和備援;回滾計畫沿用這個寫法,不把「工程組」寫成決定人。決定一旦寫下,執行的人按對應的順序做,不在當場改先後。順序若在切換手冊裡,這頁只指到那一版手冊,不把步驟抄第二遍。

還原資料和關掉開關要先選一條

資料已經寫進正式環境、而且對不回來源時,計畫選還原資料。還原以哪一次抽取為準、要不要先移除這次寫入的列、移除之後對哪幾個筆數,寫在資料遷移計畫裡,這頁只指到那一版。見 客製軟體資料遷移怎麼做。沒有抽取版本,這一條觸發不能標成「還原資料」。

新行為可以關掉、舊行為仍在同一個版本裡時,計畫可以選功能開關。兩種都要的觸發,寫明先關開關還是先還原,以及做完哪一項核對才算退回完成。只寫「回滾」兩個字、不選條,執行的人當天會各自假設。選擇寫在觸發同一行,改選擇先改計畫版本。

關掉開關不會把已經寫入的列清掉

2026年10月23日閱讀的 Microsoft Learn:用 Azure App Configuration 管理功能開關 寫明,功能開關讓團隊在不重新部署程式的情況下控制功能。該頁把 Switch 寫成用簡單開關把功能打開或關掉,用於短暫的操作切換,以及單一開、關就夠用的情況;並寫明 Switch 用來立刻為所有使用者啟用或停用功能。該頁沒有刊登日期。該頁寫給 Azure App Configuration,不是要求客製專案必須採購該產品,也沒有寫關掉開關會把資料庫還原到上一份。

計畫若選開關,就寫這次系統裡實際的開關名稱、誰可以把它關掉、關掉之後使用者看到的是哪一種舊行為。已經寫入的列留在哪裡,另用一句寫明:開關只管行為,不刪列。要刪列或重載,回到還原資料那一條,並指到遷移計畫的抽取版本。沒有這種開關的系統,不在計畫上填一個不存在的名稱。該頁還寫了按百分比逐步開放和實驗,那些不是退回決定的預設做法;這頁不把百分比抄成退回條件。

通知寫明誰收、走哪一條管道

同一份切換策略頁把溝通寫進切換策略:誰是利害關係人、他們在何時以何種方式收到或發出訊息、有問題時找誰。它並寫明,要先決定不同情況用哪一種訊息,例子是開始切換、完成一項工作、發現問題、正式上線。該頁的例子裡沒有單獨一則「已經決定退回」。退回的訊息因此由這份計畫自己加一行,並註明是計畫補上的,不是該頁列出的那四種。

這一行列出:決定人宣布之後,誰收到、用哪一條已經在用的管道、訊息裡要寫的現象編號、此時使用者仍用哪一個環境、支援由誰接。不另建一套只有當晚才看的群組。管道當天發不出,計畫寫備援管道和備援的人。訊息發出的時間寫回決定頁。沒有這一行,退回做完了,使用者和支援仍可能看著新環境。

預演用同一批人和同一組觸發

該頁把事先演練稱為 mock cutover 或 dress rehearsal,並寫明應使用相同的資料、工具和人員,而且做一次以上,直到團隊有把握。切換手冊的走讀仍歸切換那一篇。回滾這一次只走決定頁:念出一條觸發、由決定人說出選的是還原還是關開關、執行的人指出順序寫在手冊的哪一版、通知的人指出管道和對象。

預演裡說不出開關名稱、指不到抽取版本、或通知對象是空白,這一條觸發從可以啟動的清單拿下,改完計畫版本再預演。不在預演會議上口頭補一個對象。預演紀錄寫日期、在場的決定人、走過的觸發編號、拿下的編號。該頁沒有規定預演要做幾次。它把切換窗口說成通常少於 48 小時,那是該頁對 Dynamics 365 切換的說法,不抄進這份回滾計畫的時限。時段長度寫公司自己同意的窗口,並註明日期。

決定頁沒寫完,不掛進切換通知

觸發、決定人、還原或開關的選擇、通知對象,有一項沒寫上,這份回滾計畫不掛進切換通知。缺的那項寫在封面。業務核對還沒有人簽名的現象,不臨時加進觸發。要加,先改計畫版本,再預演那一條。

停機長度、缺陷數和開關產品的價格留在公司自己的規則和當次報價,並註明日期。上述頁面沒有為客製專案指定這些數字,也沒有排序產品。計畫可以交出之前,用三件事看:每一條觸發是否是看得到的現象並選了還原或開關、決定人和代理人是否具名、通知是否寫了對象和管道。三件事都在決定頁上,才把回滾計畫的版本寫進切換手冊。

相關筆記