——微软Visual Studio商业软件部总经理潘正磊专访

文 / 霍泰稳 常政

随着2010年4月12日微软官方正式颁布“Visual Studio 2010”的日期临近,无数中国开发者翘首以盼,津津乐道微软下一代软件开发平台的全新功能。但并不是很多人知道,有一群中国研发人员在Visual Studio 2010的诞生过程中,起着举足轻重的作用。这是一个什么样的团队?他们正以什么样的方式在工作?为此,我们采访了该团队的领导人——微软Visual Studio商业软件部总经理潘正磊。

研发历程:从“瀑布式”到“迭代式”

[caption id="attachment_3423" align="alignright" width="200" caption="微软Visual Studio商业软件部总经理潘正磊拥有近20年的软件研发经验"]

微软Visual Studio商业软件部总经理潘正磊拥有近20年的软件研发经验
[/caption] 记者:请简单介绍您自己和正从事的工作?

潘正磊:我1992年大学毕业后直接进入微软工作。十多年来,我的工作性质和职位发生了很多次变化。最早做开发程序员,参与Microsoft Access的开发,之后转做微软第一款针对网络Web的开发工具Visual Interdev;接着到Visual Basic团队担任开发经理,见证了微软从VB6到VB.NET的艰苦转型。之后在Visual Studio部门担任了一系列职务,包括开发总监、Visual Studio Team Architect全球产品总经理、Visual Basic全球产品总经理。目前我的职位是Visual Studio商业软件部总经理,主要负责面向企业的开发工具;同时兼任微软亚太研发集团服务器与开发工具事业部联席总经理,领导开发工具部门的中国研发团队。

记者:从您身上,几乎可以映射出微软研发团队的技术变迁史。请问这些年来,纵观微软产品的开发过程,主要经历了哪几个比较重大的阶段?

潘正磊:微软的产品研发,这些年来确实经历了很多重要变化。记得刚进微软的时候,包括Microsoft Access在内的很多微软产品还属于第一代。那时使用计算机的人数不多,相对来讲用户需求也较少,因此微软的产品已经基本满足了用户的需求,通常情况是只要产品发布,就有用户来使用。但如此一来,就造成了新版本产品的开发瓶颈。如何在满足基本用户需求的前提下,使自己的产品更上一层楼,这是我们当时考虑最多的问题。所以那个时期,我们团队的最大竞争者不是别人,而是上一版产品。这种情况下,我们采用了当时很流行的Waterfall(瀑布式)研发模式,即由我们预先定义用户的基本需求,然后销售给用户,在当时市场背景下,这种模式应用得十分成功。

但到了2000年左右,这里面隐藏的弊端慢慢凸现了。客户的满意度逐年降低,使得微软的研发一度陷入低潮。2000年以后,我们发现原来那种“做一款产品——收集用户反馈——再做一次升级”的模式,已经不合时宜了。我们开始改变策略,采用了“迭代式”的开发模式,即事先并不先入为主地确定用户的需求,而是先做一些prototype(原型)试验品,先给关键用户去体验,再根据用户的反馈意见不断做修改和调整。在整个研发流程中,我们会发现产品的最初设想和最终设计往往不同,这种对用户反馈需求的注重,逐渐成为我们在研发中所秉承的最基本理念。众所周知,微软的研发团队都很大,所以在贯彻这些全新理念的时侯,我们也面临了许多挑战。

微软大约花了7、8年的时间成功完成了这样的转型。以Visual Studio产品为例,从2008年开始,我们大量推出了CTP(Community Technology Preview,社区技术预览版),与我们的客户、开发人员进行了非常透明的交流。我们会将产品定义和方案设想在网上公布,邀请很多MVP(微软最有价值专家)、客户进行评点。直到现在,我们也会花很大精力做这样的工作。

Visual Studio 2010的中国制造

记者:Visual Studio 2010即将发布,您能否透露下这款产品包含哪些新功能?

潘正磊:从更宏观层面讲,Visual Studio 2010中有几个特点,值得大家多关注。最大的特点是Visual Studio 2010完善和强化了对开发平台的支持力度,全面支持Windows 7、Windows Azure、Office 14、SharePoint 14、SQL、SQL Azure、Silverlight、.NET 4.0等等所有微软的开发平台。

在平台支持方面,值得注目的亮点还有两个。一是C++产品功能在Visual Studio 2010里有大幅提高。如果在Windows 7中做开发,不论并行运算、调试、还是IDE,都有很多新功能。第二是在SharePoint 14平台上增加了很多新功能。SharePoint是微软最近几年成长最快的一个服务器产品。我们Visual Studio 2010跟Office 14、SharePoint 14团队共同打造了一个非常强大的平台和开发工具,时间上基本同时发布。这个产品为开发人员在SharePoint平台上做二次开发提供了非常便利的功能。此外,.NET 4.0在整个.NET Framework中也增加了很多新功能,包括WPF、WCF、WF等领域,感兴趣的读者可以亲自体验。

除平台支持外,Visual Studio 2010的新特性还体现在团队开发管理和实施敏捷流程方面。通过Visual Studio 2010,可以有效地统筹整体项目成员,包括开发人员、测试人员、管理人员,甚至架构师等等,大大提高整个团队的集成度。从Team Foundation Server产品到更完善的架构师工具、测试工具,还有诸如面向开发人员的IntelliTrace(以前称为Historical Debugging)等等工具,其新增的功能和特性,都非常值得期待。

记者:Visual Studio 2010中一系列靓丽的新功能,有哪些是我们中国研发团队的贡献?

潘正磊:实际上,Visual Studio 2010是我们微软中国开发工具部研发团队所参加过的最大的开发项目,我们团队从中积累了许多经验,并主持了好几个重要模块的开发,这包括UML工具、Silverlight、WPF Designer里的一系列功能、对SQL Azure的支持、WCF和WF开发工具、以及Windows Form对.NET 3.5和.NET 4.0的支持等等。在并行开发工具的研发过程中,特别是调试和性能分析等领域,我们也起到了主导作用;对于使用C++工具的开发人员来说,在对项目进行编译时,会发现新版本的Link效率有显著提高——这也是由我们中国团队实现的。

Visual Studio 2010 的敏捷精髓

记者:听说Visual Studio 2010 是用敏捷开发的模式完成的,对于其他想基于Visual Studio去实施敏捷的团队,能否谈谈你们的经验和建议?

潘正磊:第一,我们受益于使用了的Team Foundation Server产品。我们充分利用Team Foundation Server的特性, 管理源代码,做每日集成,整和资源,自定义工作流程,管理项目进度。在每个milestone(里程碑)之后,根据TFS里汇总的实施情况,来优化下一个里程的计划。

对于企业用户来说,Team Foundation Server在2010版本中有一个很大的改进,就是对“跨平台”的支持。以前大家都认为它只适合用.NET或者C++的项目,其实Team Foundation Server上有很多Web Services和API。不久前微软收购了Teamprise公司,他们就曾经用这些API做了一套客户端,可以分别在Mac、Linux、Unix等平台上运行。开发者常常会遇到这样的项目:用户会用Java做服务器端,用.NET做客户端。此时如果把两个项目分开管理,会很繁琐。但通过Team Foundation Server,就可以把它们整合在同一个服务器;而且Team Foundation Server本身和Microsoft Project有非常好的集成,这会给管理者提供很大的便利。

第二,需要指出的是,有了好的管理工具,并不意味着它可以取代管理者的重要性。在一个团队,管理者始终要起主导作用。一个高效的团队,团队成员之间,需要有一种合作的精神,需要一个共同的目标。管理工具只能帮助促进这样的过程,而管理者本身工作的难度并不会完全减轻。因为你每设计一个目标,都需要团队的认可,需要大家能够全心全意地、目标一致地前进。这样的精神和力量,并不是靠工具就能简单实现的。

最后一点,在用Team Foundation Server进行敏捷开发的时候,要时刻记住敏捷最重要的精髓,不要让过程化的东西妨碍了自己的思维,不能受条条框框的束缚。实施敏捷最重要的是,要根据不同的用户场景、需求,灵活地调整实施方案。这个项目的成功方案,并不意味着另外一个项目可以完全照搬,你还需要考虑不同的因素:如客户需求,工程师的素质和特长等,这些因素都会导致实施方案的不同。敏捷是用最好的方法帮你完成项目,它需要和用户有非常多的交流,能帮助你的团队迅速团结一致地朝一个明确的目标行进,这才是敏捷的精髓。

Visual Studio 2010 的研发体验

记者:你们团队曾参加了多个不同Visual Studio版本的开发和发布,您觉得完成Visual Stuido 2010开发,同以往相比最大的不同是什么?

潘正磊:跟以往不同的是,在开发Visual Studio 2010的时候,我们不只做了很多功能,而且我们和用户间的交流比以往更多更强。无论是刚开始的Beta 1还是Beta 2,或是RC的发布,我们和很多用户都有非常直接的沟通与交流,在产品的开发过程中及时解决了不少用户反馈出的问题。我自己感觉这是最大的不同。

其次,由于新款的Visual Studio 2010增加了很多新功能,不可避免地造成了软件本身的庞大,导致相应的运行速度有所降低,所以我们花了大量时间做Visual Studio 2010的性能调优,以确保产品的性能能够像Visual Studio 2008一样好。

作者简介:

霍泰稳,InfoQ中文站总编辑,有多年的软件开发经验和媒体从业经历,以技术传播为己任,关注企业软件开发领域的变化与创新。曾先后参与《程序员》杂志、《MSDN开发精选》杂志、《开源大本营》图书和《开源技术选型手册》2008版图书的策划编辑工作。

(本文来自《程序员》杂志1004期)

Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐