iT邦幫忙

2026 iThome 鐵人賽

DAY 28
0
佛心分享-IT 人職涯歷練

我從 intern 變菜鳥:30 天學會別再手擀破輪子系列 第 28

Day 28|寫第一行程式以前,先做一次 30 分鐘輪子盤點

  • 分享至 

  • xImage
  •  

我們用 SMART——Specific(具體)、Measurable(可衡量)、Achievable(可達成)、Relevant(具關聯)、Time-bound(有時限)——把每個故事拆成五天,作為每次動手造輪子前的五個檢查問題。

本篇是回顧總結的「工具」篇:動手之前的三十分鐘,要照哪些欄位問完哪些問題?

本篇定位:把整個系列收斂成可立即使用的檢查表。

如果每個故事的第一天都有三十分鐘

決策梯排出來之後,我做了一個事後諸葛的思想實驗:回到五個故事的第一天,動手之前強制暫停三十分鐘,照一張固定的表把欄位填完。用表上的欄位重跑一次,每個故事各卡在一格:

  • 第一個故事停在「他現在無法完成哪一件事」——誠實的答案是「按鈕按不動」,跟分層乾不乾淨無關。
  • 第二個故事停在同一區的另一格:倉庫裡那條線只能填進成本條件,當時卻被填進了問題欄。
  • 第三個故事過不了「原作者離開之後誰能接手」。
  • 第四個故事被「這是現有方案做不到,還是我們還沒學會」問倒,因為誠實的答案是「還沒試」。
  • 第五個故事卡在最小解法那一區:「能不能補文件、範例或測試工具?」能,而且工具早就在架上。

五台破輪子,沒有一台活得過第一天的三十分鐘。這些問題一點都不深刻,當時缺的只是把它們問出口的機制。

為什麼是動手之前

同樣一組問題,第一天問,成本是三十分鐘;第三個月問,成本是三個月,外加一場沒有人想開的檢討會。原因不神祕:程式碼一旦開始累積,沉沒成本就開始說話,自尊也跟著押上桌,之後每一次檢討都往繼續錯下去的方向傾斜。五個故事共同的結構,其實不是沒有人發現問題,而是等到有人說出口時,大家已經捨不得回頭。

所以盤點必須發生在第一行程式之前。那是所有人都還沒有立場要守的時刻,也是「不知道」三個字最容易說出口的時刻。

可以怎麼做

輪子盤點表,五個區塊、二十個欄位,一頁寫完,時間盒三十分鐘。每個區塊要處理的事,兩句話講完:

一、問題。 這一區擋的是方案跑在需求前面:使用者是誰、他卡在哪一件事、卡點落在哪一層。有一條規則要寫死:倉庫裡剛好有的零件、手邊剛好熟的框架,只能填進成本條件,不能填進問題欄。

二、現有能力。 先問世界上有沒有人解過,再問我們自己有沒有解過。這一區最誠實的一題是「這是現有方案做不到,還是我們還沒學會」,它逼出來的答案,常常只是「文件我們還沒讀完」。

三、最小解法。 沿著決策梯由上往下走一遍,每一級都問一次能不能收工。這一區的關鍵字是「最小」,不是「最好」。

四、成本與責任。 這一區處理第一版之後的事:誰維護、誰接手、怎麼回退。填不出名字的欄位,日後也不會自己長出名字。

五、時間與停止條件。 什麼時候該看到第一個可驗證結果,什麼證據一出現就停手。這一區是五個故事各自的 Time-bound 收尾濃縮成四行。

表可以直接抄成下面這張,貼進工單或提案裡填:

區塊 問題 答案 證據來源
問題 真正的使用者是誰?
問題 他現在無法完成哪一件事?
問題 問題發生在功能、介面、文件、操作、效能、安全還是合規?
現有能力 有沒有既有標準、SDK、工具、元件或平台?
現有能力 團隊目前是否已有類似能力?
現有能力 官方是否提供擴充方式?
現有能力 這是現有方案做不到,還是我們還沒學會?
最小解法 能否透過設定解決?
最小解法 能否補文件、範例或測試工具?
最小解法 能否建立薄型轉接層?
最小解法 真的需要修改原有方案的核心語意嗎?
最小解法 有沒有能快速證偽假設的 PoC?
成本責任 誰負責開發、測試、部署、資安與維護?
成本責任 版本升級與相容性如何處理?
成本責任 原作者離開後誰能接手?
成本責任 失敗時如何回退?
停止條件 第一個可驗證結果何時出現?
停止條件 技術探勘最多投入多久?
停止條件 哪些證據代表應停止自研?
停止條件 何時淘汰暫時方案?

使用規則比表本身重要。

第一,三十分鐘要事先分配,否則一定全花在最好玩的那一區:問題八分鐘、現有能力八分鐘、最小解法八分鐘、成本與責任三分鐘、時間與停止條件三分鐘。前三區是判斷的主體,後兩區是簽名,快不代表不重要。

第二,時間到就停。超時不算失敗,把還沒答出來的欄位原樣抄成一份風險清單附在提案後面:「不知道」寫出來永遠比留白誠實,一格沒有答案的欄位就是一個已經被標記的風險。

第三,填完的那一頁要附在工單或提案上。它同時是日後那份架構決策紀錄的草稿——第一天的答案,會是三個月後回顧時最有價值的證據。

第四,填表的目的不是得出「不要做」,而是讓決定「要做」的人,清楚知道自己簽了什麼。

今天學到的事

這三十分鐘不是用來阻止工程師動手——動手永遠是這份工作最快樂的部分——而是避免整個團隊花三個月,證明第一天就問錯了問題。兩者差別在方向:一個用最貴的方式發現問題不成立,一個用最便宜的方式讓問題先站穩。

盤點表大多數時候會把人導回階梯上方那些便宜的選項。但總有一天,它會誠實地指向底端:缺口是真的,較小的選項都試過了,證據俱在。一套方法如果只推得出「永遠不要自研」,它自己就是一顆破輪子。那顆真的該造的輪子,動手之前還缺一份東西:一張寫著誰來養它的紙。那張紙上該有哪些欄位、誰有資格在上面簽名,是最後一道關卡。


上一篇
Day 27|採用、設定、文件、轉接、擴充、自研:六級輪子決策梯
下一篇
Day 29|真的需要自己造時,先簽下這顆輪子的維護承諾
系列文
我從 intern 變菜鳥:30 天學會別再手擀破輪子30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言