——微軟Visual?Studio商業(yè)軟件部總經(jīng)理潘正磊專訪
文 / 霍泰穩(wěn)?常政
隨著2010年4月12日微軟官方正式頒布“Visual?Studio?2010”的日期臨近,無(wú)數(shù)中國(guó)開發(fā)者翹首以盼,津津樂(lè)道微軟下一代軟件開發(fā)平臺(tái)的全新功能。但并不是很多人知道,有一群中國(guó)研發(fā)人員在Visual?Studio?2010的誕生過(guò)程中,起著舉足輕重的作用。這是一個(gè)什么樣的團(tuán)隊(duì)?他們正以什么樣的方式在工作?為此,我們采訪了該團(tuán)隊(duì)的領(lǐng)導(dǎo)人——微軟Visual?Studio商業(yè)軟件部總經(jīng)理潘正磊。
研發(fā)歷程:從“瀑布式”到“迭代式”
[caption id="attachment_3423" align="alignright" width="200" caption="微軟Visual Studio商業(yè)軟件部總經(jīng)理潘正磊擁有近20年的軟件研發(fā)經(jīng)驗(yàn)"]
潘正磊:我1992年大學(xué)畢業(yè)后直接進(jìn)入微軟工作。十多年來(lái),我的工作性質(zhì)和職位發(fā)生了很多次變化。最早做開發(fā)程序員,參與Microsoft?Access的開發(fā),之后轉(zhuǎn)做微軟第一款針對(duì)網(wǎng)絡(luò)Web的開發(fā)工具Visual?Interdev;接著到Visual?Basic團(tuán)隊(duì)擔(dān)任開發(fā)經(jīng)理,見證了微軟從VB6到VB.NET的艱苦轉(zhuǎn)型。之后在Visual?Studio部門擔(dān)任了一系列職務(wù),包括開發(fā)總監(jiān)、Visual?Studio?Team?Architect全球產(chǎn)品總經(jīng)理、Visual?Basic全球產(chǎn)品總經(jīng)理。目前我的職位是Visual?Studio商業(yè)軟件部總經(jīng)理,主要負(fù)責(zé)面向企業(yè)的開發(fā)工具;同時(shí)兼任微軟亞太研發(fā)集團(tuán)服務(wù)器與開發(fā)工具事業(yè)部聯(lián)席總經(jīng)理,領(lǐng)導(dǎo)開發(fā)工具部門的中國(guó)研發(fā)團(tuán)隊(duì)。
記者:從您身上,幾乎可以映射出微軟研發(fā)團(tuán)隊(duì)的技術(shù)變遷史。請(qǐng)問(wèn)這些年來(lái),縱觀微軟產(chǎn)品的開發(fā)過(guò)程,主要經(jīng)歷了哪幾個(gè)比較重大的階段?
潘正磊:微軟的產(chǎn)品研發(fā),這些年來(lái)確實(shí)經(jīng)歷了很多重要變化。記得剛進(jìn)微軟的時(shí)候,包括Microsoft?Access在內(nèi)的很多微軟產(chǎn)品還屬于第一代。那時(shí)使用計(jì)算機(jī)的人數(shù)不多,相對(duì)來(lái)講用戶需求也較少,因此微軟的產(chǎn)品已經(jīng)基本滿足了用戶的需求,通常情況是只要產(chǎn)品發(fā)布,就有用戶來(lái)使用。但如此一來(lái),就造成了新版本產(chǎn)品的開發(fā)瓶頸。如何在滿足基本用戶需求的前提下,使自己的產(chǎn)品更上一層樓,這是我們當(dāng)時(shí)考慮最多的問(wèn)題。所以那個(gè)時(shí)期,我們團(tuán)隊(duì)的最大競(jìng)爭(zhēng)者不是別人,而是上一版產(chǎn)品。這種情況下,我們采用了當(dāng)時(shí)很流行的Waterfall(瀑布式)研發(fā)模式,即由我們預(yù)先定義用戶的基本需求,然后銷售給用戶,在當(dāng)時(shí)市場(chǎng)背景下,這種模式應(yīng)用得十分成功。
但到了2000年左右,這里面隱藏的弊端慢慢凸現(xiàn)了??蛻舻臐M意度逐年降低,使得微軟的研發(fā)一度陷入低潮。2000年以后,我們發(fā)現(xiàn)原來(lái)那種“做一款產(chǎn)品——收集用戶反饋——再做一次升級(jí)”的模式,已經(jīng)不合時(shí)宜了。我們開始改變策略,采用了“迭代式”的開發(fā)模式,即事先并不先入為主地確定用戶的需求,而是先做一些prototype(原型)試驗(yàn)品,先給關(guān)鍵用戶去體驗(yàn),再根據(jù)用戶的反饋意見不斷做修改和調(diào)整。在整個(gè)研發(fā)流程中,我們會(huì)發(fā)現(xiàn)產(chǎn)品的最初設(shè)想和最終設(shè)計(jì)往往不同,這種對(duì)用戶反饋需求的注重,逐漸成為我們?cè)谘邪l(fā)中所秉承的最基本理念。眾所周知,微軟的研發(fā)團(tuán)隊(duì)都很大,所以在貫徹這些全新理念的時(shí)侯,我們也面臨了許多挑戰(zhàn)。
微軟大約花了7、8年的時(shí)間成功完成了這樣的轉(zhuǎn)型。以Visual?Studio產(chǎn)品為例,從2008年開始,我們大量推出了CTP(Community?Technology?Preview,社區(qū)技術(shù)預(yù)覽版),與我們的客戶、開發(fā)人員進(jìn)行了非常透明的交流。我們會(huì)將產(chǎn)品定義和方案設(shè)想在網(wǎng)上公布,邀請(qǐng)很多MVP(微軟最有價(jià)值專家)、客戶進(jìn)行評(píng)點(diǎn)。直到現(xiàn)在,我們也會(huì)花很大精力做這樣的工作。
Visual?Studio?2010的中國(guó)制造
記者:Visual?Studio?2010即將發(fā)布,您能否透露下這款產(chǎn)品包含哪些新功能?
潘正磊:從更宏觀層面講,Visual?Studio?2010中有幾個(gè)特點(diǎn),值得大家多關(guān)注。最大的特點(diǎn)是Visual?Studio?2010完善和強(qiáng)化了對(duì)開發(fā)平臺(tái)的支持力度,全面支持Windows?7、Windows?Azure、Office?14、SharePoint?14、SQL、SQL?Azure、Silverlight、.NET?4.0等等所有微軟的開發(fā)平臺(tái)。
在平臺(tái)支持方面,值得注目的亮點(diǎn)還有兩個(gè)。一是C++產(chǎn)品功能在Visual?Studio?2010里有大幅提高。如果在Windows?7中做開發(fā),不論并行運(yùn)算、調(diào)試、還是IDE,都有很多新功能。第二是在SharePoint?14平臺(tái)上增加了很多新功能。SharePoint是微軟最近幾年成長(zhǎng)最快的一個(gè)服務(wù)器產(chǎn)品。我們Visual?Studio?2010跟Office?14、SharePoint?14團(tuán)隊(duì)共同打造了一個(gè)非常強(qiáng)大的平臺(tái)和開發(fā)工具,時(shí)間上基本同時(shí)發(fā)布。這個(gè)產(chǎn)品為開發(fā)人員在SharePoint平臺(tái)上做二次開發(fā)提供了非常便利的功能。此外,.NET?4.0在整個(gè).NET?Framework中也增加了很多新功能,包括WPF、WCF、WF等領(lǐng)域,感興趣的讀者可以親自體驗(yàn)。
除平臺(tái)支持外,Visual?Studio?2010的新特性還體現(xiàn)在團(tuán)隊(duì)開發(fā)管理和實(shí)施敏捷流程方面。通過(guò)Visual?Studio?2010,可以有效地統(tǒng)籌整體項(xiàng)目成員,包括開發(fā)人員、測(cè)試人員、管理人員,甚至架構(gòu)師等等,大大提高整個(gè)團(tuán)隊(duì)的集成度。從Team?Foundation?Server產(chǎn)品到更完善的架構(gòu)師工具、測(cè)試工具,還有諸如面向開發(fā)人員的IntelliTrace(以前稱為Historical?Debugging)等等工具,其新增的功能和特性,都非常值得期待。
記者:Visual?Studio?2010中一系列靚麗的新功能,有哪些是我們中國(guó)研發(fā)團(tuán)隊(duì)的貢獻(xiàn)?
潘正磊:實(shí)際上,Visual?Studio?2010是我們微軟中國(guó)開發(fā)工具部研發(fā)團(tuán)隊(duì)所參加過(guò)的最大的開發(fā)項(xiàng)目,我們團(tuán)隊(duì)從中積累了許多經(jīng)驗(yàn),并主持了好幾個(gè)重要模塊的開發(fā),這包括UML工具、Silverlight、WPF?Designer里的一系列功能、對(duì)SQL?Azure的支持、WCF和WF開發(fā)工具、以及Windows?Form對(duì).NET?3.5和.NET?4.0的支持等等。在并行開發(fā)工具的研發(fā)過(guò)程中,特別是調(diào)試和性能分析等領(lǐng)域,我們也起到了主導(dǎo)作用;對(duì)于使用C++工具的開發(fā)人員來(lái)說(shuō),在對(duì)項(xiàng)目進(jìn)行編譯時(shí),會(huì)發(fā)現(xiàn)新版本的Link效率有顯著提高——這也是由我們中國(guó)團(tuán)隊(duì)實(shí)現(xiàn)的。
Visual?Studio?2010?的敏捷精髓
記者:聽說(shuō)Visual?Studio?2010?是用敏捷開發(fā)的模式完成的,對(duì)于其他想基于Visual?Studio去實(shí)施敏捷的團(tuán)隊(duì),能否談?wù)勀銈兊慕?jīng)驗(yàn)和建議?
潘正磊:第一,我們受益于使用了的Team?Foundation?Server產(chǎn)品。我們充分利用Team?Foundation?Server的特性,?管理源代碼,做每日集成,整和資源,自定義工作流程,管理項(xiàng)目進(jìn)度。在每個(gè)milestone(里程碑)之后,根據(jù)TFS里匯總的實(shí)施情況,來(lái)優(yōu)化下一個(gè)里程的計(jì)劃。
對(duì)于企業(yè)用戶來(lái)說(shuō),Team?Foundation?Server在2010版本中有一個(gè)很大的改進(jìn),就是對(duì)“跨平臺(tái)”的支持。以前大家都認(rèn)為它只適合用.NET或者C++的項(xiàng)目,其實(shí)Team?Foundation?Server上有很多Web?Services和API。不久前微軟收購(gòu)了Teamprise公司,他們就曾經(jīng)用這些API做了一套客戶端,可以分別在Mac、Linux、Unix等平臺(tái)上運(yùn)行。開發(fā)者常常會(huì)遇到這樣的項(xiàng)目:用戶會(huì)用Java做服務(wù)器端,用.NET做客戶端。此時(shí)如果把兩個(gè)項(xiàng)目分開管理,會(huì)很繁瑣。但通過(guò)Team?Foundation?Server,就可以把它們整合在同一個(gè)服務(wù)器;而且Team?Foundation?Server本身和Microsoft?Project有非常好的集成,這會(huì)給管理者提供很大的便利。
第二,需要指出的是,有了好的管理工具,并不意味著它可以取代管理者的重要性。在一個(gè)團(tuán)隊(duì),管理者始終要起主導(dǎo)作用。一個(gè)高效的團(tuán)隊(duì),團(tuán)隊(duì)成員之間,需要有一種合作的精神,需要一個(gè)共同的目標(biāo)。管理工具只能幫助促進(jìn)這樣的過(guò)程,而管理者本身工作的難度并不會(huì)完全減輕。因?yàn)槟忝吭O(shè)計(jì)一個(gè)目標(biāo),都需要團(tuán)隊(duì)的認(rèn)可,需要大家能夠全心全意地、目標(biāo)一致地前進(jìn)。這樣的精神和力量,并不是靠工具就能簡(jiǎn)單實(shí)現(xiàn)的。
最后一點(diǎn),在用Team?Foundation?Server進(jìn)行敏捷開發(fā)的時(shí)候,要時(shí)刻記住敏捷最重要的精髓,不要讓過(guò)程化的東西妨礙了自己的思維,不能受條條框框的束縛。實(shí)施敏捷最重要的是,要根據(jù)不同的用戶場(chǎng)景、需求,靈活地調(diào)整實(shí)施方案。這個(gè)項(xiàng)目的成功方案,并不意味著另外一個(gè)項(xiàng)目可以完全照搬,你還需要考慮不同的因素:如客戶需求,工程師的素質(zhì)和特長(zhǎng)等,這些因素都會(huì)導(dǎo)致實(shí)施方案的不同。敏捷是用最好的方法幫你完成項(xiàng)目,它需要和用戶有非常多的交流,能幫助你的團(tuán)隊(duì)迅速團(tuán)結(jié)一致地朝一個(gè)明確的目標(biāo)行進(jìn),這才是敏捷的精髓。
Visual?Studio?2010?的研發(fā)體驗(yàn)
記者:你們團(tuán)隊(duì)曾參加了多個(gè)不同Visual?Studio版本的開發(fā)和發(fā)布,您覺得完成Visual?Stuido?2010開發(fā),同以往相比最大的不同是什么?
潘正磊:跟以往不同的是,在開發(fā)Visual?Studio?2010的時(shí)候,我們不只做了很多功能,而且我們和用戶間的交流比以往更多更強(qiáng)。無(wú)論是剛開始的Beta?1還是Beta?2,或是RC的發(fā)布,我們和很多用戶都有非常直接的溝通與交流,在產(chǎn)品的開發(fā)過(guò)程中及時(shí)解決了不少用戶反饋出的問(wèn)題。我自己感覺這是最大的不同。
其次,由于新款的Visual?Studio?2010增加了很多新功能,不可避免地造成了軟件本身的龐大,導(dǎo)致相應(yīng)的運(yùn)行速度有所降低,所以我們花了大量時(shí)間做Visual?Studio?2010的性能調(diào)優(yōu),以確保產(chǎn)品的性能能夠像Visual?Studio?2008一樣好。
作者簡(jiǎn)介:
霍泰穩(wěn),InfoQ中文站總編輯,有多年的軟件開發(fā)經(jīng)驗(yàn)和媒體從業(yè)經(jīng)歷,以技術(shù)傳播為己任,關(guān)注企業(yè)軟件開發(fā)領(lǐng)域的變化與創(chuàng)新。曾先后參與《程序員》雜志、《MSDN開發(fā)精選》雜志、《開源大本營(yíng)》圖書和《開源技術(shù)選型手冊(cè)》2008版圖書的策劃編輯工作。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-450763.html
(本文來(lái)自《程序員》雜志1004期)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-450763.html
到了這里,關(guān)于Visual Studio 2010中國(guó)團(tuán)隊(duì)的研發(fā)內(nèi)幕的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!