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

原创 2007年09月19日 11:46:00

引子
===============

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

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

 
 
一、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的价值,或从案例中看到作者务实求用的思想。

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

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

2007年09月19日 11:46:00 引子===============大概是因为列在博文的作译者清单里的缘故罢,我常常能在第一时间得到有关新书的消息。这本《移山之道》的消息在《大道至简》...
  • softart
  • softart
  • 2007年10月27日 18:12
  • 274

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

 有源则至清——我读《移山之道》 引子===============大概是因为列在博文的作译者清单里的缘故罢,我常常能在第一时间得到有关新书的消息。这本《移山之道》的消息在《大道至简》出版前我就知道了...
  • whkyna
  • whkyna
  • 2007年10月16日 23:02
  • 356

平民化的项目管理之道——我读《移山之道——VSTS软件开发指南》

在书店随手翻看这本书,可能由于书名的缘故吧,并没有太多的注意,倒是书内的漫画印象深刻。后来有机会在图书馆里面看见了这本新书,就借了回来。回家仔细看了几章就被里面的内容吸引了。我还是比较喜欢此书的叙事方...
  • phphot
  • phphot
  • 2008年02月22日 09:39
  • 503

读《移山之道》&《现代软件工程讲义》 —— Ever

读《移山之道》&《现代软件工程讲义》 —— Ever 这是我们软件工程的个人阅读作业,然后我就把邹欣老师的《移山之道》和《现代软件工程讲义》读了,还是有些体会的,这里说一下。作为大学生,没有真正...
  • ilvu999
  • ilvu999
  • 2012年11月02日 00:47
  • 283

走马观花移山之道

杨绪勇:《移山之道》:Chapter1 To Chapter12Question:1、整个TFS架构提供了完善的源代码管理,任务管理和分析服务,但我们知道越是复杂强大的工具,越需要海量的文档支持,才能...
  • codingcrazy
  • codingcrazy
  • 2010年11月08日 11:23
  • 894

读书之法

曾国藩的读书诀 原则 不贪多,不求速 “求速效必助长,非徒无益,而又害之。只要日积月累,如愚公之移山,终久必有豁然贯通之候;愈欲速则愈锢蔽矣。” 不求记 “看书不必求多,亦不...
  • SkewRain
  • SkewRain
  • 2014年09月06日 17:21
  • 1258

程序员修炼之道读后感

程序员修炼之道读后感   本书一共8章 针对编程的实效进行一系列的阐述,以前自己总是看一些偏向于纯技术的书籍都是针对代码技术的实现,并没有详细的介绍项目开发中程序员担当的角色,读完本书丰富了自己对一名...
  • zzzEcho
  • zzzEcho
  • 2016年04月21日 22:14
  • 503

【《代码整洁之道》精读与演绎】之一 让代码比你来时更干净

“我们就是一群代码猴子,上蹿下跳,自以为领略了编程的真谛。可惜当我们抓着几个酸桃子,得意洋洋坐到树枝上,却对自己造成的混乱熟视无睹。那堆“可以运行”的乱麻程序,就在我们的眼皮底下慢慢腐坏。” ...
  • zhmxy555
  • zhmxy555
  • 2016年07月31日 19:00
  • 16832

有源RFID,无源RFID,半有源RFID工作原理及区别

有源RFID,无源RFID,半有源RFID工作原理及区别 工作原理     有源电子标签又称主动标签,标签的工作电源完全由内部电池供给,同时标签电池的能量供应也部分地转换为电子标签与阅读器通讯所需的射...
  • haodafeng2000
  • haodafeng2000
  • 2010年06月29日 19:40
  • 4009

读《移山之道-VSTS软件开发指南》记一

软件开发的关键:1、了解用户领域需求和如何用技术解决他们的问题,如何与用户沟通。2、开发产品技术上的管理。即产品本身用什么技术实现,如何实现高效的代码,减少错误,等待。3、开发过程中工程上的管理。什么...
  • ocan
  • ocan
  • 2009年05月06日 23:47
  • 619
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:有源则至清——我读《移山之道》
举报原因:
原因补充:

(最多只允许输入30个字)