有源则至清——我读《移山之道》

引子

大概是因为列在博文的作译者清单里的缘故罢,我常常能在第一时间得到有关新书的消息。这本《移山之道》的消息在《大道至简》出版前我就知道了。当时也是心中忐忑,因为同样是一本言“道”的书,同样以愚公移山为背景,同样讲软件工程……邹欣先生在博客中说这“车”撞得他眼冒金星,其实我又何尝不是如此?哈哈~于是当时便想着:等《移山之道》出版了一定得好好看看,是不是好书不论,评论的心态要先调整好。。。。

还没想好怎么个调整法子,书就到了手上;还没看到第一页,书就被同事抢去了。有些事往往如此,来也没个准备,去也没个准备。不过这被同事抢走的事实,让我知道:无论如何,这一定是一本受欢迎的书。

一、VSTS之源:MSF

一本书,最怕写到糊里糊涂,自己说不明白别人也读不懂。我写书,所以便常常这样提醒自己。今天读到邹欣先生的《移山之道》,第一篇便说到这样一句话:

问渠哪得清如许,为有源头活水来。

书的开篇便解了我久久以来的疑惑:如何把一本书写清楚。这句话摘自朱熹的《观书有感》,所以说的是读书者如何“看书的‘清如许’”。同样一句话,简略下来就是“有源则清”。

书名“移山之道”并不是哲学的“道”,简言之就是“法子”。所以本书原本就是在讲“移山的法子”。作者将软件工程(的具体实施)寓作移山之艰,在这万千艰难中,作者给了的“法子”是两个东西:MSF和VSTS。前者,是思想理念,后者则是方法工具。

注1:我向来不直接讨论一个方法、思想的好或坏,因为这种讨论总是宥于某种具体的背景或范围的。所以我这里也不对MSF和VSTS直言好恶,我们这里只说书。

说实话,在读邹先生这本书之前,我与书中的“果冻”一样,面对MSDN上的“官方绕口令”大感困扰。基本上来讲,我除了知道“MSF/MSA是微软的工程理论”之外,没有从那些绕口令中得到任何有价值的信息。而这样的知识到了《移山之道》里,变成了“白话MSF”。一句话:就是微软推荐的做软件的方法。

再简而言之:一种方法。如同敏捷方法一样,MSF方法也有几个“基本原则”——好象从敏捷之后,工程理论都是先谈“原则”的。《移山之道》一书除了讲述这些原则之外,也讲述了他们在VSTS中的映射——一些具体的功能。

这大概就是前8章的内容了。其中前4章是我推荐阅读的部分。

二、移山之道,源出务实

第二个该读的部分,则是12章之后的内容。这本书构建了一个虚拟的项目,并且围绕一个完整的项目过程“导演”了一出实战的大戏。我们可以清晰地看到每一个工程角色在这个戏目中的表演、心态,甚至神情(因为有很漂亮的插图)。

我们常读到一些讲工程实施的书籍,大概都是讲某种工程方法、工具或过程理论的条条框框或者(界面)操作指南。读者看完,大抵是既不见得能懂,也不见得会用的。凡是这些,都必须要放在具体的工程环境中,读者才会发现问题。而一发现问题,读者要么畏难而弃,要么以大无畏的精神一通乱撞。工程中不能活用的,大概都是这样的状况了。而《移山之道》则是切切实实的讲工程场景的,讲具体场景下的应用方法的。所以,你会看到类似这样的语句:

同学:对!我们要用全(敏捷开发模式的)5个工作项类型。

……

阿超:当敏捷模式变成强迫,那还能敏捷到哪儿去呢?

又或者一些应时应事的实战法门:

……

同学:你说得在理,但是老师让我们用全套敏捷模式,我们怎么办?

阿超:你们可以回去告诉老师说这是最新的“移山精简开发模式”,填补了国内外空白,(大牛、超人和理论家们都一致说——这是我加的^.^)很好用。

这样的段落看了是非常过瘾的。如果遇到这种连具体工程是什么都不知道,就要求“用全套XX方法、XX模式、XX过程”的那些工程角色时,这常常是可以派上用场的。

三、怎么读这本书

这本书的内容可以分成好几个部分:

  1. VSTS与MSF基础
  2. 团队角色的基础素质
  3. 工程实战的细节与处理方法
  4. 阿超的故事
  5. 用好VSTS

一般的读者,大概可以把本书当成VSTS的快速指南,所以可以用它来学学VSTS以及MSF。毕竟如宣传所言这是“第一本由微软VSTS一线开发人员所写的原创精品”。同样的道理,对于一个工程团队来说,也不妨用这本书作为团队成员的一般性读物。另外,如果你的团队的“个人技术和协作精神及技巧”尚有待启蒙(在我看来许多人有此需求),不妨看看本书的第二篇(9~11章)的内容。

但如果这样读这本书,大概是暴殄天物。因为这些大概是1、2、5三个部分的内容,只是书中所述的末节,远非精要。

我读这本书,看完前四章,全书的思想基础与行事原则就已经了解了。接下来,我大概都是在看书中以阿超、大牛、果冻等虚拟角色之间的对话,我称之为“阿超的故事”。在我看来,“工程实战的细节与(具体的)处理方法”,只不过是阿超的思想的一种表达罢了。所以上述3、4两部分综合起来,才是全书的精华。而这些精华,作者用楷体小字藏在一段段对话、一篇篇文言,以及一个个籍阿超的身份而作出的工程决策之中。

这些一般读者快速掠过的东西,我看得反倒细致些,启我思想的也反倒多一些。同样,也希望读者能放下学以致用的急切心态,好好读读阿超的故事。

四、最后

总的来说,读这本书,可饮水,可思源。饮水者略知其用。思源者,才能从作者对VSTS的讲述中思及MSF的价值,或从案例中看到作者务实求用的思想。

愿读者作思源者。相信作者以《移山之道》为书名,也有这样的深意。若此一来,“道”不必仅作“方法”去解释了。