核心觀點#
「開發軟體」不是名詞,而是動詞——它是一個過程。專注於開發過程與專注於產品本身同樣重要。忽視過程,你就會面臨延遲交付、交付錯誤產品、甚至無法交付的風險。
關鍵概念#
- 方法論的價值:大量的思考已被投入到軟體開發方法論中,但大多數開發者從未受益。對多數團隊來說,process 只是從上面強加的事後想法。
- 主動擁有流程:如果你的組織沒有流程,就研究可能適用的方法論;如果已有流程被強加,就主動去理解並正確實施它,而不是被動抵抗。
- 沒有銀彈:不太可能有公司完全實施任何一種方法論。最好的流程是讓團隊最有生產力、產出最好產品的那個——通常需要從多種方法論中取長補短。
- 流程能力即競爭力:能讓軟體運作的人很多,能讓軟體開發過程運作的人很少。掌握軟體開發流程的知識只會對你有益。
如果你想擁有一個流程,最好的方式就是幫助實施它。
行動建議#
- 挑選一個軟體開發方法論,買書、加入社群、開始閱讀。以批判性眼光分析其優缺點,然後對另一個方法論做同樣的事。比較兩者的強弱項,思考如何結合它們的優勢。