重點摘要#
- 從成功和失敗中學到的經驗,對整個產業的進步至關重要
- 我們對軟體開發的絕對正確知識其實很少,大多依賴直覺和猜測
- 向他人解釋經驗是鞏固知識最好的方式
- 分享知識不僅幫助他人,也幫助我們自己理解和修正認知
詳細內容#
從所有的經驗中——包括成功和失敗——我們學到了很多。在軟體開發這樣一個年輕的產業中,傳播這些經驗和知識對於維持進步至關重要。每個團隊在自己的小角落學到的東西,可能對全球各地都有影響力。
知識的局限性#
現實地說,我們軟體開發的基礎知識庫中,絕對且理論正確的知識相比成功完成一個專案所需的知識而言是很少的。為了彌補這個差距,我們猜測、依賴直覺判斷,甚至隨機選擇。每個大型開發專案都在產生關於什麼有效、什麼無效的經驗證據。
為什麼要分享#
- 解釋的過程總能幫助發現弱點——你不真正理解一件事,直到你能輕鬆地解釋它
- 只有通過提出我們的解釋並加以討論,我們才能將經驗鞏固為知識
- 我們從特定經驗中得出的推論可能不完全正確——我們可能沒有想像中那麼成功或那麼聰明
將你的知識與真實世界對照驗證是令人害怕的,特別是當你發現某些珍視的信念其實是神話、不正確或從未成立時。但承認錯誤才能開啟進步的可能性。
分享的意義#
如果我們的想法和信念經不起辯論的考驗,那麼現在發現比在它們之上繼續建構要好得多。我們分享知識和經驗是為了幫助產業進步,同時也是為了幫助自己理解和修正。如果我們幫助周圍的人進步,他們也會幫助我們達到自己的潛力。
— By Paul W. Homer