工程細節 · 制度
Git 記得改了什麼,
記不得為什麼決定不做。
四張表,每週 15 分鐘維護。其中第四張是 Git 沒有、而這個產品最需要的。
四張表
01
專案卡
六條線各一張:帳本與績效/每日訊號與簡訊/客戶名單與續約/行銷素材/選股策略/工具開發。每張寫:目前狀態一句話、負責人、現行檔位置、下一步。
02
工作項目(=issue)
最重要的一欄是「完成長什麼樣」——寫不出來代表還沒想清楚,狀態就該停在待討論。三個視圖就夠:按專案分組的看板、我的待處理、等對方回覆。
03
變更紀錄(=commit log)
日期、專案、版本、改了什麼、為什麼、影響到誰、對應工作項目。每次發版補一列。
04
決策紀錄(最值錢)
關鍵是兩欄:當時的前提、什麼情況要重新討論。加上「放棄的方案與原因」,避免半年後有人重提被否決過的方案。
為什麼第四張最值錢
已到期會員的未實現部位,早期決定「不做」,因為當時沒有歷史收盤價;後來資料做出來了,改成「要做」。當時若沒有寫下「不做的前提是沒有歷史價」,這個決定會被一路沿用下去,沒有人知道它早就該重開——包括當初做決定的自己。
角色與權限
| 角色 | 讀 | 寫 | 不碰 |
|---|---|---|---|
| 產品負責人 | 全部 | 契約、決策紀錄、主檔 | — |
| 分析師 | 契約、自己產品的帳本 | 自己產品的訊號 | 別人的產品、計算公式 |
| 業務 | 成品專區、客戶名單 | 客戶名單與訂閱 | 帳本、公式、工作項目 |
| 工程師 | 全部文件與程式碼 | 程式碼、經指派的頁面 | 契約(要改先開決策紀錄) |
| 稽核/複核 | 全部 | 對稿結果 | — |
現在這五個角色多半是同一個人,但表先擺著,加人的時候照著給權限即可。唯一從第一天就該硬性遵守的是最後一欄:契約要改,先開一列決策紀錄,不能默默改公式。
每週節奏
關掉這週完成的工作項目並填結論;把檔案改動補一列變更紀錄;這週如果有「本來要 A 結果改成 B」的判斷,開一列決策紀錄;掃一次「等對方回覆」視圖,該催的催。做不到每週,至少每次發新版檔案時做一次。這 15 分鐘就是整個制度的全部維護成本。