推荐序
我在微软总部工作的时候,就听说邹欣程序写得很棒。后来在我和同事们的力邀下,邹欣2005年加盟亚洲研究院成为技术创新组研发经理。在负责将一些研究院技术转化成微软产品的同时,邹欣还负责研究院新员工和实习生的编程培训,包括MS^2项目。
邹欣工程师集他于微软10年的工作经验,撰写了这本关于编程和项目管理的专著。本书内容丰富实用,适合计算机学院、软件学院、信息学院高年级本科生、研究生作为软件开发方法和工具的参考教材。这又是一本基于VSTS软件开发编程实践的好书,是软件程序员继续进修的优秀阅读材料。更特别的是,这是我读过的最有趣的一本关于软件开发的书籍。所有对软件产业有兴趣的人士都会发现此书具有极大的参考价值。
作者在本书中与读者分享他在微软的工作经验,以及以MSF为代表的微软的管理理念和企业文化。他列举了很多微软的具体做法,比如一个软件团队成员组成为什么包括软件工程师(Dev),项目经理(PM),软件测试工程师(Test)。读者在本书中还会发现很多微软软件开发的秘密,例如吃狗食(Dogfood),小强大扫荡(Bug Bash)和为什么我们采用里程碑(Milestone)的方式来开发软件。以前人们常说软件总是要做到第三版(v3)才稳定和最终受用户欢迎,在互联网的时代中,书中的主人公们还有足够多的机会做到V3么?大家可以从书中找到答案。
编程是一个自我挑战的过程。要成为一个优秀的软件程序员,我们必须学习多种编程语言,熟悉编程环境,掌握编程工具,勇于面对挑战。
编程也是一种文化。编写大型软件需要团队协作,需要鼓励争论的工作环境,批评和自我批评的氛围。本书书名为“移山之道”,作者意在鼓励各位编程同好以愚公移山之执著精神,不断提高程序设计和管理的功力。
编程是一项艰苦的工作,更可以是一项有趣的工作。我希望读者在阅读本书时找到编程的快乐,在实战中发掘出更多的编程乐趣,在管理软件项目中收获成功的喜悦。
人类的生活因为优秀的程序员和杰出的软件而变得更加美好。
沈向洋博士
微软亚洲研究院 院长
微软公司全球资深副总裁
2007年春于北京