大部分程式設計師忙碌解決的問題,都不是程式問題,而是由偶然複雜度導致的問題。
軟體行業有兩個重要概念:
- 本質複雜度(Essential Complexity):解決問題時無論怎麼做都必須要做的事
- 偶然複雜度(Accident Complexity):因為選用的方法不當而導致多做的事
只要選擇正確的做事方法,減少偶然複雜度帶來的工作量,軟體開發是可以有條不紊進行的。
思考框架#
面對任何問題時,問自己三個問題:
- Where are we? — 我們現在在哪?(現狀)
- Where are we going? — 我們要到哪兒去?(目標)
- How can we get there? — 我們如何到達那裡?(路徑)
四大核心原則#
從這個思考框架延伸出四個工作原則:
| 原則 | 說明 | 對應的問題 |
|---|---|---|
| 以終為始 | 工作一開始就確定好目標 | Where are we going? |
| 任務分解 | 將大目標拆分成可執行的小任務 | How can we get there? |
| 溝通回饋 | 疏通與他人交互的管道 | 通往目標路上的保障 |
| 自動化 | 將繁瑣工作交給機器執行 | 通往目標路上的保障 |