引言
本書的核心思想是“任何技術都有侷限性”。因此,不可能找出一種最好、最正確的軟件開發方法。
在軟件開發項目中彙報情況的人們也會因爲一些不是事實的“事實”,犯了類似的觀察錯誤。需求編寫人員也不例外。他們觀察用戶羣體並編寫自認爲是需求的文檔,其實其中包含不少觀察錯誤。
我們對“這是什麼”的理解會隨我們如何分解元素而走向不同的方向。
我們一開始所使用的錯誤詞彙會誤導我們對事務的理解。
在軟件開發中,每個人都使用他自己的模式來解析項目中所經歷的事件,因而也都會犯同樣的錯誤。
項目中人的存在就是這種影響項目成果的重要因素,而這個因素常常被忽視。
有重要意義的思維過程發生在不精確的思維領域,在頭腦中只有想法的雛形,還沒有劃定邊界。
充分交流的不可能性。
第1章
我所知的可以與軟件開發進行比較的所有對象中,攀巖是最恰當的。
協作和追求目標
負載
團隊
天才
注重技能
訓練
工具
資源有限
作計劃
臨場應變
有趣
有挑戰性
危險
軟件開發是一個(資源有限的)創造與交流的協作遊戲。遊戲的主要目標是交付有用的可工作的軟件。次要目標,遊戲的沉澱(知識的積累),是爲下一個遊戲做準備。下一個遊戲可以是改變或者替代當前系統,或者是創建一個相關的系統。
一個人的職業生涯也是一場長期遊戲。