微软Visual Studio挖掘着开发人员的无限潜能,也承载了微软在云计算时代再次称霸的野心。
2010年4月12日,最新一代的Visual Studio 2010(以下简称VS2010)在拉斯维加斯、北京、伦敦、班加罗尔、吉隆坡举办首发展会,本次发布会的主题为“Coding完美世界”,上千人见证这一老牌产品“开新花”。
微软,这个庞大的软件帝国,自1975年创立以来,在市场上所向披靡,特别是在开发工具市场,20年间将众多竞争对手一一斩于马下……
但微软从来不缺少竞争对手,从DOS时代的Borland,互联网时代的Sun,到今天的IBM、谷歌、苹果、开源软件……早期的竞争对手黯然退下,战争却始终在继续。
在云计算大行其道的今天,微软必须认真对待谷歌、亚马逊这些后起之秀,同时还面临着IBM、HP等传统企业“大佬”的竞争。
当年的Visual Basic开发工具,让微软稳坐Windows系统市场首席十余年,现在一场新的战役已经打响,VS2010还能力助微软成功吗?
第一章 云计算革命
“微软生产和销售的所有软件将会被重新写到Azure平台的云中运行。”在微软首席执行官鲍尔默绘制的一张微软云计算的草图上,VisualStudio非常醒目地被单独放置在最右边。
个人电脑的统治时代业已结束,敢于尝鲜的用户已经能通过网络,免费获得诸如谷歌的企业级在线应用服务,微软因此备感压力。特别在经济不景气时期,用户自然会衡量这些选择的优劣,使微软不得不对过去“购买许可”的传统商业模式进行反思。
按照“软件+服务”的战略,微软于2008年11月发布了云计算平台WindowsAzure,这个平台与遍布世界各地的巨型数据中心和网络一起构成全球化的平台基础。微软的客户、合作伙伴以及广大开发人员可以按照“随用随付费”的方式,在Azure上快速部署自己开发的应用服务。
云计算时代的到来,使软件开发模式和商业模型进入新的时代。VS2010,就是通向微软云计算的快车。
放诸云端
2009年5月15日,杭州市政府与微软合作建设的“软件开发创新服务平台”正式上线,该平台结合微软开发工具解决方案与云计算平台,向中小软件企业和软件外包企业提供全程按需服务。据第一个吃“螃蟹”的杭州浙大信达数码科技有限公司负责人估算,公司使用此平台后,每年仅研发投入成本就可节省70%。
IDC曾有数据说,微软在中国每挣1元钱,合作伙伴就赚16.89元。借助VS2010或许将帮助微软的中国合作伙伴进一步提升增值能力。
《IT时代周刊》记者调查发现,目前,很多企业仍然在使用老版本的开发工具。但不久后,他们会发现自己可能已经跟不上云计算的发展速度。
与传统的开发模式不同,云计算时代的开发强调的是任何人,在任何地点都可以进行开发,代码编写、协作、调试、测试、部署、运行都在云端完成。云计算提供了更多的存储和处理能力。从根本上说,它消除了开发的局限,开发者再也不用忍受有限物理资源的约束。
不过要让传统的应用软件在云计算时代发挥优势,则必需对应用程序的架构进行重大调整。虽然Azure可以满足大部分的云计算工作,但是其有一个缺陷,就是开发周期普遍较长。
VS2010就是为解决这一关键问题而生。VS2010提供的云计算开发服务平台,将提供包括虚拟计算、可扩展存储以及自动化服务管理系统等,通过专门的项目模型、开放的应用程序接口,实现与异构平台和其他开发人员的交流互动。开发人员可以通过这个平台开发、测试、部署Azure上的应用,大大缩短云计算系统的开发周期。
“VS2010与微软云计算平台做了更好的整合。”一位开发人员接受《IT时代周刊》记者采访时说,“将程序包放到云上,把自己的电脑关掉,用任何一台电脑访问网络,这段程序已经存在,所有人都在分享运算能力。而在VS2010中,只需要做很简单的操作就能实现。”
数据显示,截止到2010年1月23日,VS2010第二个测试版的全球下载量超过58万人次,短短两个半月,中国大陆地区下载量总计超过10万次,超过印度排在美国之后居第二位。
难以拒绝的愿景
2009年年初,微软一名技术人员走入重庆金算盘总部大楼,这家公司于2005年开始为客户提供在线软件租赁服务。和许多人一样,金算盘的领导对“云计算”也是一头雾水。
但微软云计算的愿景让人难以拒绝:企业主可以在和谐号上用手机或PDA查询订单、管理经营;在办公室里用PC管理企业、做生意;在码头拿着条码扫描仪与准备办理集装箱入库的员工联系在一起;而企业根本不需要为IT系统担心,因为所有信息都已经放诸“云”上……
几周后,金算盘正式与微软开始了云计算的落地工作。微软通过自己的服务器承担大量程序和数据维护工作,金算盘通过微软Azure云计算为中小企业提供服务,满足不断增长的客户需求。
金算盘副总裁兼产品总监魏然告诉《IT时代周刊》记者:以前中小企业客户自己购买服务器、建立技术人员队伍、买软件许可。而在云计算平台上,用户可以从中选取任意的软件,并将运算、存储、维护一整套服务放到“云”上,可以实现比传统的PC软件更快更高效的开发、部署和升级,不仅IT维护成本大为降低,而且能更专注地拓展业务。企业甚至不用做IT建设,直接交给像微软这样的专业云计算服务提供商。
现在,金算盘的客户都迁移到了这个平台上。
金算盘与微软合作的另一个主要原因是,金算盘一直使用微软VisualStudio工具进行开发。魏然向记者透露,金算盘一直在关注VS2010,因为这个开发工具不仅具备了项目管理功能,而且还将全面支持微软云计算平台,使他们的应用软件开发快速步入云计算时代。
不过也有客户抱怨说,目前,微软云计算应用本地化程度不够,许多在国外应用得好的软件,要在中国落地,还需适应中国的国情,或者吸引更多中国第三方软件开发企业的加入。微软大中华区开发工具及平台事业部总经理谢恩伟对此表示,“微软是一个平台公司,要把这个平台真正能够变成盈利模式,是微软非常重视的,其中一个主导因素,就是如何有效地把第三方合作伙伴整合进来,让他们可以在这个平台上做开发。”
VisualStudio的改变
作为面向下一代平台的开发工具,VS2010还提供了很多工具来帮助开发者开发基于Windows7的应用程序,同时也使那些已经存在的非托管应用程序,通过一定的处理后,同样能够应用新操作系统的特性。VS2010使微软有更丰富的资源和能力,直接为开发者提供全套的开发和运行软件服务。
此外,VisualStudio与微软各平台的无缝融合,也是其它开发工具无法提供的。不仅是PC端操作系统,微软的移动操作系统、嵌入式操作系统和云端操作系统都将VisualStudio定位为“御用”开发工具,使得VS2010成为微软“三屏一云”战略的一个重要支点。
博朗软件开发(上海)有限公司是一家面向欧美市场的软件外包企业,该公司一位负责人认为,VS2010在软件设计、开发和测试及管理方面都有了长足的进步。
软件开发日趋集成化、规模化、网络化,对软件的质量和管理要求也随之增高。从VS2005起,微软专门加入了覆盖软件开发生命周期的团队协作管理平台,帮助开发人员适应管理快速变化的业务需求,解决项目经理、开发人员和测试人员之间沟通的障碍,组织团队成员进行合理的分工以实现高效的工作,增强企业对软件开发过程的控制力。而VS2010则对这一管理工具进行了强化。
上述博朗软件人士表示,VisualStudio已不再是仅面向开发人员一种角色的软件编码工具,它已变成了一个覆盖整个软件开发生命周期的管理工具,让软件行业从业人员工作更简单、更轻松。
另外值得关注的一点,就是VS2010首次进军软件测试工具领域。目前,在这一市场,HP和IBM占据了主导地位。尽管VS2010的软件测试性能如何,还有待市场检验,但从产品布局而言,测试功能的加入使之正逐步脱离单纯作为集成开发环境工具的层面。国内最大的软件测试门户网站领测国际总经理贺炘认为,随着后继版本测试功能的不断强化,这一工具将对传统测试工具构成威胁。
#p#
第二章 生于敏捷
事实上,VS2010是一个生于敏捷,用于敏捷的开发平台。
敏捷是一种以人为核心、迭代、循序渐进的开发方法,自2001年提出以来,这种全新的软件开发管理模式和价值观已深入人心。如今,软件开发人员更关注如何将敏捷的概念应用到具体的开发实践中。VS2010不仅仅全面支持敏捷软件开发周期,同时,微软本身就是敏捷开发的受益者,研发团队身体力行,将敏捷开发方式融入VS2010开发过程中。微软的合作伙伴在使用这款工具进行开发时,同样将从中受益。
敏捷之道
在位于上海紫竹科学园区的微软中国研发大楼的办公室里,工程师抬头就能看见墙上记录着客户需求的陈列表。自VS2008起,微软开始运用敏捷开发方法,改善产品交付时间和质量问题。其中最重要的一点,就是变“瀑布式”为“迭代式”开发,这样做的好处是,可以在研发过程中根据客户需求不断改进质量。
此前,微软开发一个产品,客户就要接受,其实对客户的真正需求并没有深挖掘。当客户需求开始显露出来之后,如果还是采用瀑布式开发方式,将影响整个项目的进展。微软VisualStudio商业软件部总经理兼微软亚太研发集团服务器与开发工具事业部联席总经理潘正磊告诉《IT时代周刊》,“迭代式开发则是将一个很长的产品周期,切成一个个短的迭代,每个子项目都具备集成和可运行的特征,可根据客户需求随时调整,而不会影响整个开发流程。”
“敏捷是用最好的方法帮助团队完成项目,它需要和用户有非常多的交流,能帮助你的团队迅速团结一致地朝一个明确的目标行进,这才是敏捷的精髓。”潘正磊说。
VisualStudio专门加入了团队开发管理平台,以帮助开发团队进行整个过程的管理。而VS2010对这一管理工具进行了强化。运用这一工具既保证了交付时间,也确保了产品质量。
在VS2010的研发过程中,工程师不仅仅要写代码,更多时候要去了解客户需求。就在VS2010第二个测试版本发布后不久,中国研发团队接到客户提交的一个工具部件的问题。尽管这是一个小概率发生的问题,项目经理郭晓颖和软件开发工程师郑瑶海仍主动与这个客户联系,了解需求,并在VS2010候选版中予以解决。
微软每一款产品上市前,都会先在内部进行大规模的试用,公司内部称之为“吃狗粮(DogFood)”。在VS2010正式发布前,仅内部大规模的试用就不下三次,每当一个部门结束一段开发工作之后,就会“敲锣打鼓”似的在微软发出号召:“快来试用新出炉的VisualStudio!”
有一段“吃狗粮”时期,产品组发现了几个漏洞经常导致服务器性能不稳定甚至宕机,严重影响了整个开发团队的开发进度,虽然这几个问题只有在大规模使用情况下才会出现,但微软还是花费大量精力解决。“我们首先用自己的产品来进行开发,把一些潜在的问题都暴露出来,修复之后再交付给客户使用。”潘正磊说。
中国团队撑起半边天
2004年,当微软服务器与开发工具事业部高管来到中国,看到这里每天发生的巨大变化,以及优秀的人才储备后,决定在这里组建一支中国研发团队。“打难打的仗才能锻炼好队伍。”谢恩伟是这个团队的创办人之一,他说,“在团队建立之初,就将研发方向锁定在对微软具有战略意义,对全球用户而言至关重要的项目上。”
五年间,这个团队从零开始,发展到现在已拥有近400位优秀的工程师,并成为VisualStudio这款微软著名开发工具的创造者之一。在VS2008的开发过程中,这支团队“小试牛刀”,得到了微软高层的肯定。
通过几年的磨砺,微软中国开发工具研发团队积累了许多经验。在VS2010开发过程中,这个团队发挥了主要作用,主持了多个重要模块的开发,并承担了更多核心的开发任务。比如在并行开发工具的研发中,特别是调试和性能分析等领域,都起到了主导作用。
还有许多工程师创造性地创建了很多工具,使整个开发流程更简单高效。
为了提高小组的工作效率,商业软件小组的软件开发工程师胡世超和实验室经理刘擎利用两个多月业余时间,为他们的小组编写了一套系统,每天能自动创建十多个虚拟环境,以减少每天开发人员装载最新版VisualStudio的时间,很快这套虚拟化系统得到中、美国团队的认可,并逐步推广开来。
中国团队还发现,一些“老”的开发语言的反弹,譬如C++的反弹得益于移动应用和游戏开发等一些领域,在国内依然有20.8%的市场占有率。因此,中国研发团队专门投入了资源,将C++融入到VS2010中。对于很多中国开发人员来说,在对项目进行编译时,都会发现新版本的效率有显著提高。
“马可波罗”与“丝绸之路”
敏捷开发的核心管理理念是强调沟通交流和协作。虽然是简单的一句话,但实施起来,特别是对于像VS2010这样一个跨国协作项目,却是一个艰难的过程。
最大的障碍来自时差和文化上的差异,由此可能使一件很简单的事情最后变成一场“灾难”。“一封邮件要等一个晚上才能得到回复,如果碰巧有理解错误,得再发一封信过去解释,一个问题来来回回要几天才能解决。”一位开发人员对《IT时代周刊》说。
时差问题较容易解决,只要确定一个双方都能接受的固定时间段就可以做到。但是,跨地区团队之间的高效沟通和相互信任不是一两个月就能做到的。因此,微软内部的“马可波罗”与“丝绸之路”计划开始了。与这两个举世闻名的历史典故一样,中美两边相互派出成员进行为期3-6个月的互访交流,因为相识相知,后来即使在异地沟通交流过程中,冰冷的电子邮件也变得感性有趣,促进了沟通效率。
Sean是美方一位高级开发主管,申请来上海团队参加“马可波罗”计划,主要工作是指导一个6人小组在4周内完成公共语言运行时一个极富挑战性的项目。这个小组成员虽然技术能力很强,但开发经验与团队协调能力欠缺,这可是Sean的强项。在她的带领下,小组按时完成了这个让美国团队都认为不可能的任务。小组成员郭晓颖利用她的“丝绸之路”,为美国团队做了一次专题讲座。据她说,当时会议室都挤满了人,美国同事第一次领悟了过去从未意识到的中美差异,解开了种种疑团。
“马可波罗”项目还获得了额外的收获:越来越多的外国同事在项目结束后依然留在中国,继续带领和指导年轻的团队开发产品。
“有了项目管理工具,并不等于取代了管理者的重要性。”潘正磊说,“因为每个目标都需要团队的认可,让他们能够全心全意地、目标一致地前进,这种精神、这种力量,不是说哪个工具可以帮你做到的,起主导作用的仍然是管理者。”
#p#
第三章 风云再起
微软希望将VS2010打造成和VisualStudio6.0(1998年上市)一样经典的开发工具。据说,直到今天,尽管其间各种开发技术和开发工具已经发生了翻天覆地的变化,但仍然还有很多用户用它练手、入门。
在云计算时代,Goolge无休止的扩张,在各条战线上都给微软制造了麻烦,对桌面计算的传统观念造成了冲击。此外还有IBM,这个蓝色巨人牢牢把握着大型企业级市场,现在也发布了云计算战略。尽管微软在桌面软件还保持着第一的位置,但除此之外,几乎境况都不妙。
不过微软有一项宏伟的计划,“软件+服务”成了这家软件巨头的又一次战略性转移。
微软发起反击的第一轮炮火就是其老牌开发工具VS2010,它将在两个方面成为微软的里程碑产品:第一款全面支持微软云计算的开发工具,以及向软件生命周期管理的全面升级。
面对新环境下众多强劲的对手,VS2010能像前辈们一样成功吗?
DOS时代的战争
VS2010的最终成败还无法判断。自从创立以来,微软的每一个传奇都是在激烈的市场厮杀中树立的。
1996年的一天黄昏,当安德斯·海尔斯伯格走出Borland办公大楼时,一辆加长的黑色轿车早已等在门口。车里坐着的是Borland的竞争对手——微软的老板比尔·盖茨。
在此之前,微软曾数次邀请安德斯加盟,并许以丰厚的回报,但屡遭安德斯拒绝。直到安德斯因为在开发方向上与公司发生争执,感觉Borland已限制了他的发挥空间时,才最终接受了来自微软的橄榄枝。
这位编程天才主导开发的开发工具TurboPascal被Borland买下后,为Borland的崛起打下了坚实基础。而其后推出的数款工具逐渐使Borland走上巅峰,成为全球第三大软件公司。
尽管微软早在1992年开创了可视化开发的时代,但Borland却一直是那个时代的明星,其推出的BorlandC/C++3.1力压微软,成为当时位列第一的开发工具。而安德斯主导开发的Delphi1.0版在上市时,由于用户的疯狂购买,竟造成全球缺货的局面。
安德斯加盟微软成为这场战役的转折点。微软给了他最好的平台,安德斯后来为微软数款开发工具奠定基础。比尔·盖茨甚至认为他“影响了未来十年的产业发展”。一直到现在,安德斯仍被程序开发员视为精神榜样:淡泊名利,用代码改变世界。
1998年,VisualStudio6.0发布,其与WIN98的结合,被看成是微软开发工具中最成功的杰作之一。而此时的Borland向企业级市场的转型受挫,就再也未能迎来翻身机会。2006年2月8日,Borland宣布出售其开发工具业务;2009年,Borland被MicroFocus整体收购。
一个传奇就此终结。而微软的新对手接踵而至。
微软的新对手
在互联网时代,微软遇到了另一个主要竞争对手——随着互联网热潮快速膨胀的Sun。
1997年,Sun公司发明了Java语言。由于Java可以在任何电脑、操作系统上下载和运行,因此,它也成为重量级企业客户所依赖的互联网系统的主体。
面对Java的进犯,微软当年一直想除之以绝后患。
微软于2000年发布了.Net战略,该技术使微软的操作系统具备了类似Java的功能,由此开创了以互联网为核心的微软软件平台,为微软赢得了一大批忠实拥趸,其后的开发工具都是基于这一平台。
不过,尽管Java语言成了计算机行业最为知名的品牌之一,但并未给Sun带来多少现实利益。作为一个几乎曾经独霸商业市场的“大象”,掌握了Solaris操作系统、Java语言、服务器和存储三架马车,却因无法适应Web2.0时代的商业变革,走向没落。
2009年4月20日,甲骨文公司斥资74亿美元收购Sun,但是Java的地位并未因为易主而被降低。连甲骨文公司创立者埃里森也承认Java是“我收购过的最重要的软件资产”。自2005年以来,埃里森已经先后斥资400亿美元收购了50多家软件企业。
埃里森之所以给予Java如此高的评价,原因在于这种编程语言已经被广泛应用于编写商业软件。目前,在大型、复杂的企业级应用领域,Java仍是主流的开发工具。此外,Java还在8亿台PC和21亿部手机上运行。
而微软VisualStudio也并不完美,有评论认为,自VisualStudio6.0以后,无论是开发环境的改善,还是新的开发语言的引入,都缺少革命性的变化。有的只是安装程序越来越大,整个开发环境越来越臃肿。
因此,如果甲骨文的方法得当,Java仍将是微软不可小觑的重要势力。不过,从另一方面来说,.NET与Java也已不再是当年“汉贼不两立”的对抗局面。微软在VS2010的团队服务器平台上,支持了Java主流开发工具Eclipse,而Java阵营也提供了更多与.NET程序互操作的可行性。
当然,微软的对手不仅仅是Java。
一切才刚开始
雅克布森公司吴穹告诉《IT时代周刊》记者,目前软件开发工具大厂已经转向软件开发应用生命周期管理,比如收购了Mercury的HP、收购Rational的IBM。无论是方法论、工具布局和产品线,它们都和微软直面竞争。究竟鹿死谁手,还需要市场的检验。
一位业内人士也表示,目前,微软VisualStudio、IBMRational,以及开源软件已经构成了三足鼎立之势,未来三者都将占据一定的市场份额,关键是在激烈竞争的商业环境中,谁能以更低的成本、更快的速度推出满足用户需求的产品,这是业内非常关心的问题。
未来开发工具的竞争将主要集中在云计算领域。研究机构EvansData最近的云开发调查显示,30%接受调查的软件开发人员表示他们正在面向云环境开发应用,另有19%指出他们预计将在未来12个月内投入到云开发工作当中。显而易见,对于诸多希望采用云计算模式,并从中获得大量成本和效率优势的企业来说,为开发人员提供适合开发云计算软件应用的工具非常重要。
在这个领域,微软最直接的竞争对手是另一个巨人——IBM。近年来,媒体一直聚焦于微软与Google的云计算竞争,却忽略了蓝色巨人IBM的存在。事实上,IBM不管是服务器、开发,还是应用软件方面,都是微软的潜在竞争对手。
1月14日,IBM宣布推出面向云环境的两个软件开发解决方案,以帮助开发人员在公共云和私有云环境中实现软件开发和交付。此举意味着IBM不仅要在大型企业应用环境中保持优势,在公共云计算方面也希望能有所斩获。
但微软也有自己的优势,那就是VS2010高集成度的开发环境,它甚至能与Office工具集成;其次它的售价便宜,这将极大降低开发人员和软件企业进入的门槛;最后,微软还有十几年运营MSN、Hotmail等在线服务的经验,而IBM在公共云方面才刚开始。
也许一切正如鲍尔默所说:“一切都为之过早。Amazon还刚开始。VMware勉强为之。我们花了整整10年时间来建立自己的企业竞争力,而Google还没注意到这一点。”
【编辑推荐】