寫《建構之法》讀後感的想法,其來已久,一直未能完成。拖延症爆發的原因大概有二,一是感覺吸收的不夠豐富而無法反刍,二是選擇不好讀後感切入的角度。《建構之法》2014年出的第一版,買到書時已是開學季,想要調整建構之法的模式,需要做很多準備,備課調整的工作來不及。但《建構之法》"給任課老師和助教的建議",既有妥帖的課程安排計劃,也有師生關系的明确定位,還給出了直面教學實踐問題的建議,這極大增強了将"建構之法"引入軟體工程實踐教學的底氣。經過2015、2016、2017三年的模式訓練,與其說是讀後感,更是實踐後感。
《建構之法》本身就是遵循軟體工程的原則之一——疊代改進的典範。第一版的建構之法,從業界的角度,來描述和指導軟體工程應該如何實踐。第一次翻閱的感覺是:它太不像是計算機專業的教材了,太不像經典的軟體工程教材。傳統軟體工程教材,大多是以瀑布模型為順序,從需求分析開始,設計、編碼、測試、部署,各章節依序展開。而《建構之法》大不同,從項目實際操作出發,個人效能、結對程式設計、團隊項目、需求分析、項目經理、使用者場景、軟體設計、使用者體驗、軟體測試、IT行業創新、績效和職業等。瀑布模型中流程的内容,穿插融入在各章節中。
軟體工程的教學困境在于需要給幾乎不具備軟體開發能力的學生講述軟體開發的理論,有些内容流于理論枯燥,不像程式設計類課程的由淺入深,學生可以根據章節内容進階實踐。按照傳統經典的軟體工程教材,過程模型的理論既無法立即上手體驗,大多數學生自身也還沒有可參照印證的經驗。按照經典教材授課就會造成和實踐作業間的嚴重脫節,将實踐為核心的"軟體工程"課變成了文科理論課,多少有點荒謬和無奈。我了解的,《建構之法》最顯著的價值,正是打破之前的荒謬和無奈,将軟體工程理論和實踐無縫比對對應起來,随着實踐作業的深入而循序漸進展開。