2014 Microsoft ALM Day 團隊開發日研討會 - 簡報下載及線上影片
註: 內文提及Visual Studio Ultimate已於 2015/3月改名為 Visual Studio Enterprise
註: 內文提及Visual Studio Online已於 2015/11月改名為 Visual Studio Team Services
各位夥伴們,
當天的投影片/影片也附在本文最下方
微軟一年一度的 ALM Day 軟體開發高峰會,已於 2014/6/26 日結束,我們今年的主題聚焦在 ALM (Application Lifecycle Management, 軟體生命週期管理) 的趨勢,主題包括了 - Agile、Quality、Cloud、DevOps/Automation,在當天的第一個Session場次 - 「建立持續高效能的開發團隊 – ALM 的價值及未來」,我們花了一些時間說明,為何開發人員及RD 主管應該要留意這些主題,籍由以下這篇文章,也可以看線上影片,希望讓當天沒能參加的來賓,也能了解這些重要的議題,以提升團隊開發的能量及成熟度!當天現場有提到3本關於 ALM 的書籍,哪3本呢,可參考這裏。
台灣微軟開發工具產品經理 - 吳典璋 (Dann Wu)
--------------------------------------------------------------------------------------------------------------------
建立持續高效能的開發團隊 – ALM 的價值及未來 (ALM Day 第一個 Session 內容摘要,也可看線上影片)
一開場,我們與來賓分享,從3個角度 Quality, Automation, Agile 去評量你的團隊及研發能量。
軟體開發愈來愈複雜,開發 Web 需考量到適合不同瀏覽器及不同大小裝置; 開發 App 需考量到不同平台 (iOS/Android/Windows)
應用系統的改版頻率愈來愈高、超過 60% 的企業應用,至少一個月上版一次,24% 則至少每週上版一次。這些因素讓 ALM 對軟體團隊管理更加重要!
ALM 的價值在於 - 建立「開發及維運」的標準、自動化、軟體品質及透明度
每一次的改版,持續交付價值給客戶,以用戶價值為中心的開發,追求不斷地縮短交付週期及,減少各種重工及浪費。
1. Quality - 品質
接下來我們來談談 Quality,為什麼 Visual Studio 如此設計,幫助開發團隊提升軟體及程式碼品質。
Code Map - 程式碼地圖,是 VS 2013 Ultimate 的功能之一,讓開發者可以透過視覺化的方式除錯,以及了解模組之間的關連性,有助於了解維護或接手他人的系統。
接下來談到 「網站效能及壓力測試」,下午場也會詳細說明。
從雲端透過 Visual Studio Online 發動大量的 concurrent users 進行負載壓力測試,測試團隊無需準備大量機器。更能準確模擬正式上線時,大量的外部使用者操作網站的情境。
2. Automation 自動化
接下來談談自動化這議題,在以往對自動化這字眼認識不深,軟體開發是一個高度腦力的工作,與人習習相關,怎麼會與製造業生產線常用的”自動化“這個字眼有關係呢?
原本想不透,直到近幾年才了解為何「自動化」對軟體開發的價值及好處是什麼,以及哪些軟體開發/測試的工作可以進行自動化。以筆者早期在開發/維運電子商務網站的例子說明 -
談到 Release Management - 自動化佈署及過版,就是一種自動化的展現,讓開發及維運團隊降低過版出錯風險、以及人工作業的時間,建立標準化的上版流程 ...
案例分享 - 某 IT 公司的目前系統維運狀況及內部 Portal - SharePoint 網站原本過版的所需時間。
透過 Release Management 設定過版流程、參數化設定 IIS、Database、檔案註冊或是script 執行。
給過版人員的審核介面,透明化每次的過版並設定排程。
改善過的成果 - 大幅縮短過版時間以及自動化。
終於理解了,自動化目的,就是「讓機器做機器該做的事,讓人做更有價值的事」。軟體開發中,還有很多可自動化的空間 。例如 - 持續整合 (Continuous Integration, CI)、自動化 UI 測試 、自動幫你建立測試環境、自動將使用者操作軟體的習慣回報給開發團隊,這些都是研發團隊可以持續追求的。
3. Agile 敏捷
最後我們來聊聊 Agile - 敏捷。引 Ruddy 的話 - 「凍結需求可能嗎?」,一個資深的開發者,應該要能體認使用者的需求是不斷地變化的。就如同市場及競爭是不斷地演進的,開發團隊需要更接近使用者及市場,開發出來的系統及應用才能真正帶來價值。
敏捷思維的轉變 - 從 Waterfall 的專案管理方式,到 Agile 的管理方式。傳統 Waterfall 是先決定需求 (Requirements) ,再來安排資源 (Resources) 及時程 (Time,例如拉甘特圖、資源配置 ....),這是 Plan - Driven 的管理方式,也就是專案進行需先做好計畫,然後執行過程中按照計畫走; 但敏捷的思維是先認知到,我們的資源是有限地、固定的 (例如 - 我們團隊只有 10 個人)、時間更重要 (例如 - 我們預計 3個月後新產品就要上市)、再來決定在我們的產品需要哪些功能 (features),這是 Value Driven 價值導向的規劃方式,在時間/資源有限的狀況下,先開發最有價值、Priority 最高的需求。在現在高度競爭及軟體開發週期縮短的趨勢下,要不斷地推出讓使用者及市場來考驗,持續收集使用者回饋並依市場動態或 Priroty 不斷調整及改進。
即使不採用敏捷的開發流程、團隊也可以有敏捷的思維!
軟體開發的理想境界 - 與來賓共勉之,追求「又快、又好、又高價值產出」的小小交集。
針對主管們該關心的事,與來賓分享 ...
整合性的 ALM 平台 - Visual Studio Ultimate + Team Foundation Server/Visual Studio Online
提醒來賓善用 MSDN 權益,尤其是 Azure 的時數 及 Visual Studio Online,在下午場 - 董大偉老師會詳細講到,如何善用雲平台進行軟體開發管理。
[投影片下載] 「2014 Microsoft ALM Day 團隊開發日」
場次 |
主題 |
講師 |
內容 |
投影片& 影片 |
1. | 建立持續高效能的開發團隊 – ALM 的價值及未來 | 吳典璋 | 你如何因應快速發展的開發技術及隨時在變化的需求呢?從實務的角度及團隊價值出發,ALM軟體生命週期如何協助開發團隊,並以實例講解,輔以適當的管理工具,建立團隊開發及維運的標準。 |
投影片影片 |
2. | 自動化佈署的作法 – 善用 Release Management 因應持續佈署的挑戰 | 徐鈞安 | Release Management 發行管理,使用自動化的工具,讓你自訂佈署的流程及時程,每次過版的歷程都會留存,以符合稽核或有效追蹤問題,達到持續佈署並上線營運! |
投影片影片 |
3. | 正確的團隊寫碼標準 – 兼顧程式碼品質及開發效率 | 胡百敬 | 從程式碼品質出發,說明開發過程需注意事項,包括程式碼及效能分析、配合 Visual Studio Ultimate 視覺化工具做好架構設計,如Code Map、Code Lens 的功能協助團隊開發的寫碼效率,以及搭配 Team Foundation Server 做好控管及 Code Review,建立一個持續產出的高效研發團隊。 |
投影片影片 |
4. | 雲端團隊開發平台 Visual Studio Online的初體驗 | 吳典璋 | Visual Studio Online包括專案管理、版本管控、測試與建置都可在上面完成,同時支援 .NET/Java/PHP/Android/iOS等多種平台及技術的開發團隊,更好的是 MSDN 訂閱用戶免費使用! |
投影片影片 |
5. | Visual Studio Online 雲端壓力測試 – 最省力的測試工具及案例 | 張羽承陸雲中 | 如何確保大型系統的可用性及效能呢?以往進行壓力測試,需準備產生壓力的機器數10台以上,才能模擬大量的(上萬) 同時上線 使用者 (concurrent users)。現在可以運用 Visual Studio Online 彈性的雲端壓力測試(Cloud Load Test),快速地產生這些壓力,馬上省下機器成本及安裝相關軟體的時間。 |
投影片影片 |
6. | 案例分享 - 如何善用 Visual Studio Online 及 Azure 進行軟體開發管理 (以 Scrum 敏捷開發進行) | 董大偉 | (適合 IT 及研發主管、PM 參加) 不論你是企業主或是軟體開發商,面對 User 或是外包團隊,如何有效溝通及管理專案一向是個難題,本場將從實務案例出發: 1. Agile/Scrum 敏捷開發 2. 利用 Azure 建立開發測試環境3. 多地協作及工作單管理 – Bug Tracking 及回報4. 客戶驗證及交付 – 客戶意見回饋及 UAT,程式碼如何交付到客戶內部的 Team Foundation Server |
投影片影片 |
若想了解更多Visual Studio 2013 + MSDN 產品資訊及優惠,可參考 https://aka.ms/vs2013tw
ALM 學習中心 (ALM 相關書籍、課程、Lab 及學習資源) - https://aka.ms/learnalm