每日一句
2026 年 05 月 22 日
「經常有人說軟體發佈像一種藝術,但事實上,它應該是種工程學科。」——《Continuous Delivery 中文版》
說到跟「軟體」有關的學科,你首先會想要什麼?如果「軟體」後面要接上兩個字,你會接什麼?
我想不管怎麼接,應該都不會是「藝術」吧?
同時你一定知道我希望你接上的是「工程」兩個字。
好吧,我知道軟體領域裡面確實有很多「藝術」。
公司角落那位高深莫測的資深工程師,他寫出來的精美程式碼,不但效能好、功能佳、還解決了大家束手無策的技術難題,那確實是一份藝術品。
但如果每一份程式碼都如此藝術,這真的是一件好事嗎?
當然,軟體領域也有很多「非藝術」的部分。
例如一個標準化、自動化、可重複執行、可量測、可持續改善的軟體發佈流程,它妥妥的就該是一項「工程」。
它必須是一項讓團隊覺得安全、穩定、有信心的流程,不論誰來執行,都能穩定的上版發佈。
在你的團隊中,你們的軟體上版、發佈或部署是人人都可做的嗎?還是只能仰賴具備特定知識的少數工程師呢?
你們的軟體上版、發佈或部署,是有辦法被量測與稽核的嗎?
你覺得你們的軟體開發是一門藝術,還是一門工程呢?