April 13, 2026作者:柯仁傑(三叔公) 這兩年,軟體產業的空氣冷得讓人打冷顫。你一定有感:公司不是不缺工程師,而是不想再養「沒經驗的人」了。 裁員潮過後,招募市場進入了極致的現實主義:凍結新人名額、不收 Junior,所有的職缺都指名要 Senior,最好還能無縫接軌 AI 協作。表面上看,這決定聰明極了——省掉漫長的培訓期,靠 AI 輔助產出,報表上的開發速率甚至比以前還漂亮。 但身處其中的人都知道,這條路走久了,前方是一片看不見底的斷層。你省掉的不是成本,而是這家公司長久活下去的「免疫力」。 當「資深」成為絕響:被犧牲的經驗傳承 資深工程師不是從石頭裡蹦出來的天才,他們是靠著無數次與前輩的技術辯論、在半夜修復崩潰系統、以及在複雜架構中反覆踩雷,才慢慢磨出來的。這種「工程直覺」是活的,它存在於辦公室的閒聊裡,存在於 Code Review 時的一句點撥中。 當公司決定只留下 Senior,並把所有複雜的事全部往這群人身上堆時,組織的結構就開始變脆弱。因為沒有了 Junior 來承接基礎工作,資深老手被瑣事與高壓磨耗,根本無暇分享經驗。漸漸地,知道系統「為什麼當初這樣設計」的人越來越少。 AI…
April 13, 2026作者:柯仁傑(三叔公) 在軟體開發的現場,我們常陷入一種迷思:覺得只要測試案例寫得夠多、自動化覆蓋率夠高,系統就穩了。但現實狀況往往是,CI 跑出來一片綠燈,產品一上線還是被使用者抱怨連連。 這時候,很多人會提到「探索性測試」(Exploratory Testing)。但別誤會了,這不是那種漫無目的的「隨便點點看」,更不是因為懶得寫測試案例才做的補救。相反地,它是一場有策略的心理戰,是測試高手在面對複雜系統時,用直覺與經驗進行的「精準打擊」。 為什麼自動化測不到的,它測得到? 自動化測試本質上是在「驗證已知」,它就像導航,只能帶你去地圖上標好的地方。但使用者在操作系統時,往往是不照牌理出牌的。 想像一個情景:你在一個購物網站重複點擊結帳鈕、同時切換分頁、還順手改了瀏覽器縮放比例。這種「奇怪的互動」很難寫進固定的腳本裡。探索性測試的核心在於「邊測邊學」,測試人員不是死守著文件,而是像偵探一樣觀察系統的反應,發現一個小小的畫面閃爍或延遲,就立刻像獵犬一樣嗅出背後的邏輯破綻。 根據數據顯示,這種方式每單位時間能抓到的 Bug 數量,遠比傳統腳本測試多出不少。甚至在許多複雜的專案中,高達八成的關鍵缺陷,都是靠這種「真人對話」式的探索才被挖出來的。 業界的高手都怎麼玩? 為了不讓探索變成漫遊,業界現在流行幾種非常有感的方法: 最常見的是 「會話式探索」(Session-Based Testing)。我們不會漫無目的地測一整天,而是設定一個「黃金一小時」,定好目標(例如:專攻結帳流程的異常處理)。在這段時間內,測試人員必須像進入心流狀態一樣,全神貫注地挖掘問題並做紀錄。 另一種很有效的方式是 「雙人探索」(Pair Testing)。找一個工程師跟一個測試員坐在一起,一個了解代碼怎麼寫,一個了解使用者怎麼想。這種組合常會產生意想不到的化學反應。工程師可能會說:「這段邏輯我寫得很趕,可能會有問題。」測試員就立刻針對那裡進行各種破壞性嘗試。這種即時的反饋,比開一堆 Jira…
April 13, 2026作者:柯文傑(三叔公) 這幾年,軟體開發圈掀起了一股「規格即實例」的風潮。隨著 Spec by Example (SBE)、到最近火紅的 Vibe Coding,再加上生成式 AI 的強大產能,開發團隊比以往任何時候都更加興奮。我們常聽到這樣的對話:「太好了,AI 可以幫我寫範例!」、「我可以更快完成自動化!」、「Scenario 越多越安全!」。 然而,當這股熱潮席捲開發現場時,我觀察到一個令人擔憂的趨勢:大家幾乎把所有的精力都投注在「如何產出腳本」與「如何跑 CI/CD」,卻唯獨遺忘了最核心的那件事——實例化需求的核心不是為了「自動化」,而是為了達成「共同理解」。 迷思:開發人員的「單機自動化」秀 在許多敏捷團隊中,最常見的劇情是:開發人員在看完需求文件後,憑藉著卓越的理解力與 AI 的協助,迅速寫出一套美觀、格式正確的 Gherkin 場景,並引以為傲地展示…
April 13, 2026作者:柯仁傑(三叔公) 在實施 Scrum 的理想狀態下,Sprint Backlog 一旦在開發計畫會議(Sprint Planning)中確認,就像是一份神聖的契約:在 Iteration 中途不增加功能,也不隨意變更週期長短。 然而現實往往是殘酷的。業務急著說:「沒這功能客戶不簽約!」、產品經理焦慮地喊:「這不先做會流失市場!」甚至還有突發的嚴重線上 Bug(Hotfix)需要救援。面對這些「忽然插單」的要求,Scrum 團隊該如何處理才最合理?以下提供六個具體的應對策略與深層思考。 策略一:嚴格把關,別讓「黃牛需求」透支團隊 許多急件其實是源於溝通上的「通膨」。當 Sales 或 PM 聲稱「沒這功能就賣不出去」時,產品負責人(PO)必須發揮守門人的價值,仔細評估其商業價值與真實急迫性。 策略二:時間換空間,延後至下個 Iteration…
September 10, 2025http://www.agile-minds.com/when-to-use-waterfall-when-agile/ 敏捷採用的時機 在聊聊什麼是敏捷前,我想先談談一個知名的『Stacey Matrix』的解釋模型,『斯塔塞矩陣』(Stacey Matrix)是由管理學大師『斯塔塞』(Stacey)用『共識度』(Agreement)與『確定性』(Certainty)兩個維度來分析事情複雜度的方式: 1. 簡單(Simple):容易有共識且確定性很高(High Agreement & High Certainty)。 2. 繁雜(Complicated):『不容易有共識且確定性很高』或『容易有共識且確定性不高』( Medium Agreement & High Certainty, High Agreement…
September 10, 2025需求會一直改變,是再正常不過的事情,因此如何在需求變動中求生存,是軟體開發中最重要的事情之一。 瀑布式的作法天生就不太適合這種情況,因為它一開始需求確認後,就不太會改變。或者要震動時,召開需求變更會議,然後再走一次分析、設計、開發、測試的流程,只是不切實際,而且反應也太慢。 那在敏捷之中,又是如何來應對需求變動或是不確定呢? 基本上,是有很多方法可以幫忙,可以緩和波動所帶來的影響,但是絕對不可能用敏捷後,需求不會在外匯走勢或豐盛且清晰,這是需要先說明的。 那敏捷會出什麼招呢? 1. 客戶要全程參與 在敏捷開發中,Scrum 相關會議 (ex:sprint review, sprint refinement) 都會邀請客戶參與。如果團隊有任何跟需求有關問題,團隊成員要能直接找客戶確認,並且將結果和 Product Owner 對齊。 2. 利用 story…
