從Visual Studio 2005開始,這套軟體就活在小弟的電腦裡面,雖然當時還不是很會用…(抖抖),但因為學校上課的關係,就讓他一直存活者。
而到了Visual Studio 2010,Visual Studio整個煥然一新,更是讓人覺得Visual Studio進入了另外了一個里程碑!!而這個時期,也正是小弟第一次來台北參加恩師Ruddy老師與百敬老師的研討會 ( 當時一整個覺得百敬老師外表像流氓一樣..但內心實際上根本就是個活佛…... ),而直到現在,Visual Studio也準備進入2015了,歷經了10年的時間,看著Visual Studio的版號,就等同看著自己的成長阿…
阿,廢話那麼多,那這場軟體高峰會為什麼會吸引小弟去哩??又為何講古講了一堆Visual Studio勒!?因為這場Microsoft請到了 全球資深副總裁 潘正磊女士 Julia,大家會想說他是誰!?他就是鼎鼎大名的Visual Studio Team的超高級長官!! 有多高級哩??..連 C#之父Anders Hejlsberg都是他底下的人…( 現在Scrum的創辦人之一Ken Schwaber,應該也是在他底下,只是這次沒有證實… ) 所以,大家這樣應該就可以猜到,他底下負責的產品,就是Visual Studio、.Net、TFS、Visual Studio Online、TypeScript!!
既然那麼重量級的人物出現,小弟我又怎麼可能不去晃晃哩!!?
這次是舉辦在高級的寒舍艾麗裡面,時間還沒到,其實就已經有很多人開始報到了~~
這次的會場其實非常漂亮=v=,我們也可以看到DX Team的團隊已經在準備了。
這次當然還是由我們台灣區偉大的Dann哥來負責主持與總指揮啦XDD,快要開始前,Dann哥已經躍躍欲試了XDD。
正式開始!!,當然就是由Dann哥主持啦!!
接下來,有那麼大的人物來台灣,當然就是由台灣區的微軟總經理 紹光華開場嚕。
總經理首先針對微軟的政策,特別述說了Mobile-first與Cloud-first,所以可以看出,行動與雲端依然是微軟主要的策略。
接下來,提到了MS的開宗始祖Bill Gates,在1975年說的那句名言,而40年後的今天,現任的微軟執行長Satya Nadella,也依據雲,提出了相同的論點。
接下來的重頭戲,就是Julia上台了!!~基本上他是中國人,所以全程是用中文來講,完全不用擔心聽不懂,在開頭的自我介紹中,Julia說他從Visual Studio第一版,就開始參與,而且是裡面的開發工程師,所以可以看出,她也有深厚的技術實力;也可以看到微軟的制度,就算是高層的總裁,技術實力也依樣的深厚。
Julia一開始就提到,微軟未來的三大方向,就是更開發,更創新和更加的敏捷,而對於她來說每一個企業,都是一個軟件公司,因為每家企業,未來都會持續的開發屬於自己的系統,也因此未來軟體的開發會極為重要;另外因為雲端和手持裝置的崛起,流量可能會是以前的百倍,而透過Mobile與Cloud來收集資料與分析,更是未來的趨勢。
更開放的部分,微軟用更開放的態度,和其他公司合作,例如在Azure上面放上Oracle的VM,甚至是最近的大新聞,Google的AngularJS 2.0 將使用TypeScript、又或是在iOS裝置上提供Office等等,這些都是以前微軟沒有做到的事情;而如今,連.Net都Open Source了!!
更創新的部分,則提供更多的方案,來讓不同的使用者滿足,例如Visual Studio 2015就開始內建使用JavaScript的Cordova來建立Mobile,但可能還是有很多人使用C#阿,所以也提供了以C#為基底的Xamarin;當然,使用C++的朋友們,也有提供以C++為主的跨平台方案~ ( 這次的Office轉移,就是使用C++的跨平台方案 )。
其次,雲端的開發上,提供了新版的.Net Core,讓Web Site的開發更小;而透過雲端的應用Load Test也更方便測試。
處此之外,在生產力方面,也持續的讓C++ 速度的提升等等,效能的提升,讓大家能更加的感受到改進。
最終,Julia提出了她的願景,就是希望幫助每一個開發人員,無論你是哪個平台,哪個語言。
接下來談到了Visual Studio的開發歷程,改成每2~4個月更新一次;那這個原因當然是因為現在Visual Studio 開發Team已經完全啟用敏捷,所以更新與回饋的速度就更快了,這也是因應現在的潮流;所以我們可以看到Visual Studio 2012和Visual Studio 2013的推出間隔其實是很短的,而過程中,也不斷的發佈新的更新包。
接下來提到,以前的Visual Studio開發,參與人數高達4700人。
當然,也是跨全球的一個研發團隊。
接下來,就提到,以前Visual Studio的開發就是使用瀑布流的方式 ( 所以台灣其實沒有落後很多,基本上台灣遇到的問題,微軟也遇到過了XDDD )。
他們的週期大概是兩年到三年一輪,所以一開始會花很多的時間,決定未來兩年後的趨勢。
而這個過程中,測試花的時間,其實會遠比寫Code的好幾倍,而早期會花費很多的測試時間和測試人員;Julia有提到,那是因為早期的時候,都是要透過店鋪購買盒裝的軟體,而如果裡面出現嚴重的bug,那回收回來的成本是很可觀的;而現在則可以透過網際網路快速的更新,所以著重的反而是能快速反應使用者的需求… ( 題外話..其實家用電玩也是一樣,記得之前看過FF13的報導,日本Square Enix 之前也是花費了大量的測試人員進行測試與封閉型的開發,現在也逐漸轉變成敏捷的方式了。 )
而早期的專案結構,會有PM、Development和Testing,如果有讀過微軟出的測試一書的朋友,就會對於底下的這張圖很熟悉~~,當然,現在就不是這樣的結構了。
那現在變成怎樣子勒,現在約18的月發行一次大版本,例如 xx 2015 xx 2017之類的,而每六個月會評估一次,目前的方向和方案是否與市場狀況相同,團隊則以3週為一個Sprint,而且人數也沒以前那麼多了,目前不到2000人。
而現在的內部開發人員,會非常的重視白箱測試,也就是會撰寫Unit Test ( 那黑箱測試,不會就落到我這白老鼠的身上了吧= =+.. 總之會場沒特別提到黑箱怎樣做了… ),並且多聽使用者的反饋,而不是以前的蠻幹。
另外,工程師也開始進行數據收集與分析的工作 ( 這點台灣倒是還沒有開始… ),透過數據收集與分析,來決定未來的方向;所以也不是以前,完全靠有經驗的大師們指揮,就算是大師們,也必須透過數據。
另外,工程師也要開始直接與客戶交流 ( 這點台灣最難辦到吧XDD 我們都是宅宅阿~~抖抖 ) 透過與客戶的交流,來更了解客戶的需求。
組織結構也改成如下圖了,移除了Testing,但並不代表不用測試,而是由開發人員自行來測試,也就是說,整合了開發人員與測試人員;整合的過程中也滿有意思的,Julia有提到,先讓兩邊人馬互相交換做事情,而過程中,也發現到,原來兩邊人馬有非常多的重工。
但不管怎樣,目前還是依據功能來區分;並且每個Team都有非常高的自主性管理。
Team Room 的結構,不再是以前一個一個獨立的房間,而是把大家聚在一起,更加的Open,從一開始只有一棟的試驗,現在已經有四棟的大樓,都是採用此模式了。 ( 其實小弟的Team目前也是用此模式,溝通更快了,間隙更小了 )
接下來,提到Sprint,基本上是三周一次,而三周內,還有一周會進行佈署,所以時程其實是非常緊迫的;而Julia也有提到,初期改成Scrum的時候,內部也是有很多人反對,例如…我是寫編譯器核心的,我兩周根本沒辦法Demo!!但後來實際run後,的確還是可行的,畢竟不可能兩周完全沒做事情吧,有做多少東西,就Demo多少東西~~
最後,再重新回顧的時候,有提到Visual Studio 2015 CTP的Codava 第一代的安裝包,就是因為沒有WIN 7的版本,所以一堆Win 7的使用者,都發生了錯誤;其次,當進行Codava安裝的時候,很多都要透過第三方的下載的中心,進行下載,但有時,第三方的下載中心可能會出問題,或是擅自的更改位置,這些都會讓安裝過程遇到問題,但這些都是和功能無關,MS還是會想辦法解決,這就是注重需求與體驗,也就是未來微軟的方向。 ( 從這邊也可以看到,現在的整合,真的是難上加難阿… )
另外,有提到一件事情,是別的國家問的問題,你們微軟是跑真正的sprint嗎?
Julia也解釋說,如果是真正的Sprint,Bug單是不會大起大落的,因為真正的Sprint,在每次交付的時候,都會有許多的bug單回饋回來;而如果是假的Sprint,那會到最後的時候,才會看到大量的Bug單提交…
所以~Microsoft是真的Srpint ( 笑 )
最後,現場留了一些時間來Q&A,而Q&A的問題如雪片般的飛來 ( 可見大家還是非常想知道大公司內部是怎樣運作的… )
以下是Q&A的內容,當然,內容是小弟憑印象Key的~
Q : 短期的開發是否認定客戶為白老鼠
A : 我們希望客戶可以參與到,並且確認的確是客戶所需要的,而事實證明,客戶也很樂意的反饋,並且告訴我們,這東西做的是對還是不對;最終,我們會修正成客戶真正想要的。
Q : 可否敘述清楚,關於3、6、18這些數字。
A : 以去年年初 ( 一、二月為案例 ) ,我們決定要制定跨平台開發,過程中,我們不新增人,而是調度人員,透過調度人員,讓大家能做到不同的事情;六個月後出版,再來看看,做出來的東西,是否和現在的市場符合;過程則使用為期3周一次的進入Sprint 來開始開發;而在進行Codova的部分,我們也發現,原本的核心應該可以更好,所以抽了一部份的人,去改Codova核心,這也是回饋Open Source的一個方法。
Q : 可否敘述文件是怎樣寫的。
A : 我們的文檔多半是Word寫的,我們沒有使用沉重的工具,因為每天都在改..所以不需要沈重的文件,其實Code就是最好的文件了;但有些時候,我們會希望透過Word,來寫一些當初的想法或是當初比較特殊的思維;但不管怎樣,這是由每個Team自行決定;最後,交流才是最重要的,只要Code清晰的表達,文件只要能共享就可以了。
Q : 人員流失(離職)怎麼辦勒??
A : 我們會定期Code Review的機制來解決這個問題。 ( 看來未來有人問到小弟這個問題,小弟有一個極好的案例可以拿來解釋了~~ )
過程中,其實大家都聽得很認真也很High,這邊也謝謝Julia女士的經驗分享,也謝謝她帶領的團隊,能提供一個那麼好用的ide工具。
接著,就是由Dann哥所率領的DX Demo Team,來進行VS 2015的功能Demo。
他們以一個企業叫車的案例,來串所有的Demo內容,所以我們可以看到跨平台開發還有新的ASP.NET 5。
比較好玩的梗,雙Scott都變成叫車司機XDD,希望哪一天我可以搭到這兩位的車 ( 抖抖 ),另外,果然還是Scott Gu第一名阿XDDD。
另外一個主題是當紅的物聯網,這邊拿電梯監控和倫敦地鐵為案例。
其實倫敦地鐵去年TechDay就已經出現過了..QQ..,但也可以看出,其實微軟這方面,很早就已經開始準備與琢磨。
比較有意思的是這個架構圖,透過Azure服務來達到IoT ( 未來有機會,小弟來實作一下看看好了=V= )
另外一個大主題就是大數據,這也是近期出現在FB當紅的題目 如果搭上了鐵達尼號,有機會生還嗎?
這是依據那些搭上鐵達尼號的名單,來進行分析;後來,發現只要是女生,生還比率最高= =+。
最後,就是由小白來進行5min的壓力測試與佈署的Demo,雖然只有短短的五分鐘,但我知道,這個東西是要準備很久的,so,小白辛苦了XDD
總之,雖然只有半天的研討會,和短短的Demo,但聽到了官方開發Visual Studio的經驗,還是非常可貴的,而透過這半天的研討會,也讓小弟深深的開始省思,一個軟體的成功,並不是只是單單的開發出來就好,尤其現在這個快速改變的時代,整個思維也必須敏捷與改變才行。
總之,還是要謝謝 Visual Studio Team 與 Julia的帶領,讓我們能一直不斷的使用這麼好的開發軟體。