大部分程式設計師忙碌解決的問題,都不是程式問題,而是由偶然複雜度導致的問題。

軟體行業有兩個重要概念:

  • 本質複雜度(Essential Complexity):解決問題時無論怎麼做都必須要做的事
  • 偶然複雜度(Accident Complexity):因為選用的方法不當而導致多做的事

只要選擇正確的做事方法,減少偶然複雜度帶來的工作量,軟體開發是可以有條不紊進行的。

思考框架#

面對任何問題時,問自己三個問題:

  1. Where are we? — 我們現在在哪?(現狀)
  2. Where are we going? — 我們要到哪兒去?(目標)
  3. How can we get there? — 我們如何到達那裡?(路徑)

四大核心原則#

從這個思考框架延伸出四個工作原則:

原則說明對應的問題
以終為始工作一開始就確定好目標Where are we going?
任務分解將大目標拆分成可執行的小任務How can we get there?
溝通回饋疏通與他人交互的管道通往目標路上的保障
自動化將繁瑣工作交給機器執行通往目標路上的保障

本章內容#