2003年的某个寒冬的夜晚,我决定放弃继续阅读那本英文原著《Software Engineering: A Practitioner's Approach》。第二天就要考试软件工程了,可是我还有最后三章没有看完,管不了那么多了,再看下去真的要吐了。所幸只是开卷考试,即使有些题目没答出来,还是考了85分。十二年之后我还能清晰的记起那天夜晚时我的感受。我很少半途而废,尤其是在看书或者学习上,但那是其中的一次。
在那之后,因为职业的原因,依旧对软件工程领域保持着关注。期间看过比较好的著作有《人月神话》,还有《走出软件作坊》(有趣的是和本书是同一策划)。但这两本都不太适合作为大学生的教材使用。直到春节前,因为研究创新的话题而买了这本《构建之法》。看了之后就被其中的一些内容吸引住了,特别是作者邹欣的诙谐的语言,简直可以当段子看。因为不用为了考试而赶工,这本书是断断续续的读,一般是在遇到某方面的问题时,把对应的章节阅读一下,所以直到最近才把整本书看完。要考虑到我是一个工作了八年的工程师加项目经理,评价的视角会与在校学生不同。
本书的第16章是讲IT行业的创新的,是我最喜欢的一章。正是因为这一章,解开了我多年对创新的困惑,即“伟大的创新怎么就灵感一现的来了?“。这一章是邹欣的博客文章《IT 行业的创新》的扩展版,内容要更系统一些。至于一本讲软件工程的著作为什么要讲创新?我专门咨询了邹欣老师,并得到了解答:Build To Win - 构建之法 - 知乎专栏。当最初看到这章内容的博客版时,真的有种相见恨晚的感觉,要知道我已经被创新这个概念问题困扰了至少十年了,如果在2011年这篇博客发出时就能看到,要少死掉不少脑细胞。我还通过周筠老师(本书策划编辑)拿到了这章内容的PPT,先后给两个团队(离职前在百度带的团队,以及现在的创业团队)做了分享,许多同学听了表示很受启发。有位同学说之前都觉得创新是一件很遥远的事(都是些传奇故事),听了之后自己都有信心做出些创新的东西来。
因为创业的缘故,对团队的人的因素比较关注。本书的最后一章讲到了猪、鸡和鹦鹉的故事。它们三类动物凑在一起开餐馆,猪割了自己的肉做红烧肉,鸡下了蛋卖煎蛋,鹦鹉扯扯嘴皮子吆喝顾客。它们三者的投入和风险是不同的,得到的回报也是不同。在从考虑创业到真正创业三个月,这个过程中对这个分类深有感触,自己心中的这杆秤可以分的很清楚。经常有些朋友拿着自己的想法和团队和我聊创业,我都会把这个段子讲给他们听。
前面说到这本书的一个特点是语言诙谐,还有一个特点就是讲的透。我从2008年开始带团队,到现在也有了7年的经验了。但看到书中讲团队合作划分为萌芽阶段、磨合阶段、规范阶段、创造阶段时,才恍然大悟,为啥有的阶段的产出不靠谱,而有些时候又非常好,原来有阶段的因素在里面。对于什么是团队,什么不是团队?书的第5章举了个形象的例子,一堆路边打零工的,你给点钱就去干,干多少拿多少的钱,各做各的事,这只能叫乌合之众。而真正的团队应该像接力赛跑、足球队那样,有共同的目标,并且有各自的分工,相互协作共同完成任务。
书的第三个特点是与时俱进,不管是创新,还是用户体验,还是敏捷开发。都是一些在当下IT领域最为关心的问题,而非和现实脱节。
至于需求分析、软件设计、开发、测试、发布等经典环节,本书都有系统的论述。当然,我已经过了学习这些基础知识的阶段,相信对初学者更为有用。
在阅读本书的过程中,我有幸也加入在了构建之法微信群中。目睹了几个学校使用本书作为教材的实践过程,以及遇到的一些问题,相信那些认真学习的本书的学生,会有更大的收获。
软件工程还可以这么写——读《构建之法》
《构建之法》热门书评
-
构建之法,运用之妙,存乎一心
15有用 0无用 杨贵福 2014-12-31
构建之法,运用之妙,存乎一心1. 构建之法,存乎一心史学理论与史学史,是把历史自己作为研究对象的学科,前者讨论历史本身所研究的内容,后者讨论历史研究本身的历史。这种对于抽象的抽象的研究,正符合计算机领域 meta... 这样的思想。当年 xml 刚出来时,不少计算机和图书情报的大学生照本宣科地提到,...
-
可否把邹欣老师这个人也给“出版”了?
11有用 0无用 王忠杰rainy 2014-10-02
“软件工程是计算机专业里很难讲的课程之一。面对在软件开发方面经验很少的学生,邹欣老师通过丰富生动的故事和隐喻帮助学生建立软件工程的思维习惯,通过严格扎实的动手训练与考核帮助学生总结归纳自己的“最佳实践经验”。读这本书,软件工程课不再是一门枯燥沉闷的“文科类哲学课”,变得出乎意料的生动有趣。这是IT学...
-
水面下的冰山——读《构建之法》
10有用 0无用 qiuyue 2015-04-07
足球课上,学员们发现教练没有带球,于是向教练询问原因。教练反问道:「足球比赛,场上有 22 名球员,同一时刻一般会有几个人触球?」,学员答「1 个」,教练说,「那么,今天我们就来学习剩下那 21 个人要做的事情」《构建之法》可能是我读过最有用的软件工程书。我已经不再写代码了,但依然翻来覆去把书读了三...
-
匠心独运,干货满满
10有用 0无用 Sirui 2014-11-12
一年半前准备实习面试,曾寻觅到邹欣老师博客上“现代软件工程”讲义来突击学习PM相关章节,而这次《构建之法》出版,通读全书更是受益匪浅。从一个初入职场的PM的角度来看,这本书是走入PM大门不可或缺的读物:其项目管理和产品相关章节既有宏观的介绍,又可运用于实战。而作为PM去看开发/测试的章节,则能进一步...
-
100倍速度前的慢动作
9有用 0无用 nongfei 2015-01-15
周老师请我写下读后感,一直没有写,原因是工作十几年第一距离技术一线渐行渐远,第二距离微软方法论渐行渐远,第三在近期工作无论微信硬件平台还是无人机都是最前沿的领域,没有太多可以参考的东西,基本都是在破坏旧世界建立新世界,对团队同学和自己的要求都是首先“忘掉过去的经验”。看了邹老师的《构建之法》,往日在...