前言
这本书讲什么
这是一本介绍软件开发方法(MSF)和工具(VSTS)的书,这本书讲程序设计的基本原则,讲如何在工具的帮助下进行软件的开发,如何与人合作,如何管理软件工程,讲微软解决方案及方法论。
本书通过虚拟的开发团队——移山公司利用Visual Studio Team System (VSTS)及Microsoft Solution Framework(MSF)敏捷方法论来培训员工,开发商业网站的全过程,系统地讲述了软件开发的方方面面,使大家可以了解VSTS如何与真实的开发过程结合起来,并且通过一系列发生在团队成员之间的故事和对话,生动地描述了在实战中如何运用开发方法,同时解答读者的疑惑。
此书在编排上按照由易到难的方式渐进,可以供各种层次的读者选择阅读,第一部分,介绍VSTS的基本功能;第二部分,着重讲个人技术和两人如何合作;第三部分,则联系具体的开发过程,讲解具体使用技巧,理论联系实战。
本书的写作,采用的是讲故事的形式,为什么要这样做?因为软件工程的管理,不光是技术的管理,更重要的是过程和人的管理,任何软件工程的理论,在实践中都要由活生生的人去执行。执行的情况可能是生搬硬套,可能是敷衍了事,可能是过犹不及,当然也有可能是恰到好处。如果脱离了人和环境的因素,生搬硬套一些貌似先进的方法论,在实践中可能适得其反。本书每个故事的发展都有对应的技术内涵,对故事不感兴趣的读者,可以直奔技术主题,对故事感兴趣的读者,不妨姑妄听之,想一想自己的团队中有没有这样的人和事,想一下如果你身临其境会怎么办……
书中的许多内容,如极限编程、代码复审、团队发展的阶段等,都与具体的软件工具无关,可以应用在各种类型的开发环境中。在本书中,作者根据自己的经验和中国软件开发的特点,提出了一个精简的开发方法论——“移山方法论”,这个方法论简明、扼要,适合中小型的团队进行快速的软件开发。
谁适合读这本书
软件专业的大学生、研究生,软件企业的开发、测试和管理人员会是这本书的读者。这本书假设读者至少自己写过5000行程序,或者有1年以上的实际开发经验,曾经(或者将要)和五个人以上的团队在一起开发软件。
这本书没有讲什么
这本书没有讲其他软件工程管理软件,没有讲 C#的特性、ASP.NET、网站的实现细节等等。另外,MSF和VSTS中的不少东西我也没搞懂,所以那些内容我也没有往上写。
配套资源
这本书有一个配套网站http://www.yishan.cc,在那里,读者可以找到得更多的相关知识,并能和书中的人物一起,参与关于MSF、VSTS以及其他软件工程问题的讨论。
内容的来源
本书内容的来源,有以下几个方面:
◆ 我个人的经验和想象;
◆ TFS及MSDN官方的材料(见文中注解);
◆ 软件开发和管理的书籍(见附录A(第321页));
◆ 网上其他资源(见附录D(第339页));
◆ 同事与朋友的经验及意见。
我尽量注明所有的直接引用,如有不妥、遗漏或谬误之处,是我的责任。
关于格式的说明
由于我在开发、工作和培训时使用的VSTS环境都是英文版的,所以我在本书中也都使用英文版。我尽量对名词给出相应的中英文翻译。如果由于解释不足或翻译不准确造成理解上的困难,我在此道歉。
书中所用的TFS服务器是微软亚洲研究院技术创新组的服务器。在一些图像中会出现“MSRA-TTG”的字样。
本书的文字使用Word2003/2007编辑,一些流程图采用Visio 2003编辑,输入法为微软拼音输入法2003/2007。