写《构建之法》读后感的想法,其来已久,一直未能完成。拖延症爆发的原因大概有二,一是感觉吸收的不够丰富而无法反刍,二是选择不好读后感切入的角度。《构建之法》2014年出的第一版,买到书时已是开学季,想要调整构建之法的模式,需要做很多准备,备课调整的工作来不及。但《构建之法》"给任课老师和助教的建议",既有妥帖的课程安排计划,也有师生关系的明确定位,还给出了直面教学实践问题的建议,这极大增强了将"构建之法"引入软件工程实践教学的底气。经过2015、2016、2017三年的模式训练,与其说是读后感,更是实践后感。
《构建之法》本身就是遵循软件工程的原则之一——迭代改进的典范。第一版的构建之法,从业界的角度,来描述和指导软件工程应该如何实践。第一次翻阅的感觉是:它太不像是计算机专业的教材了,太不像经典的软件工程教材。传统软件工程教材,大多是以瀑布模型为顺序,从需求分析开始,设计、编码、测试、部署,各章节依序展开。而《构建之法》大不同,从项目实际操作出发,个人效能、结对编程、团队项目、需求分析、项目经理、用户场景、软件设计、用户体验、软件测试、IT行业创新、绩效和职业等。瀑布模型中流程的内容,穿插融入在各章节中。
软件工程的教学困境在于需要给几乎不具备软件开发能力的学生讲述软件开发的理论,有些内容流于理论枯燥,不像程序设计类课程的由浅入深,学生可以根据章节内容进阶实践。按照传统经典的软件工程教材,过程模型的理论既无法立即上手体验,大多数学生自身也还没有可参照印证的经验。按照经典教材授课就会造成和实践作业间的严重脱节,将实践为核心的"软件工程"课变成了文科理论课,多少有点荒谬和无奈。我理解的,《构建之法》最显著的价值,正是打破之前的荒谬和无奈,将软件工程理论和实践无缝匹配对应起来,随着实践作业的深入而循序渐进展开。