[案例分享] 趨勢科技 - 善用 Scrum 敏捷開發 靈活因應市場變局

趨勢科技-- 善用敏捷開發 靈活因應市場變局

借助 Team Foundation Server 及 Visual Studio Team Services (原名Visual Studio Online) ,大幅提高專案透明度

註: 內文提及Visual Studio Online已於 2015/11月改名為 Visual Studio Team Services

 

 

圖說: 成立於1988年的趨勢科技,一向矢志開發資訊安全解決方案,協助用戶抗禦千變萬化的安全威脅;然有鑑於資安市場需求變幻莫測,深知必須不斷提高軟體開發效率與品質,方能有效因應變局。

近幾年來,隨著雲端運算、行動應用浪潮席捲,及新版個資法上路,導致資安產業變動加劇;早先即已參透此一脈絡的趨勢科技,便亟思在網路安全軟體等既有產品外,開發一系列新產品,以協助用戶克服接踵而來的資安挑戰。包括密碼管理員、行動裝置安全防護軟體、手機省電軟體等新產品,皆在趨勢科技縝密規劃下應運而生,以能切中使用者及市場之殷切需求。

綜觀上述諸多新產品,無論開發過程的緊湊性及更新週期的綿密度,對開發團隊皆是挑戰;面對市場變動及使用者的需求不斷改進,要如何在既定的團隊資源之下,妥善完成屬性不一的新專案,Scrum敏捷開發提供了有效的幫助。

 

藉由Scrum,將開發流程導向正軌

大約在2008年,趨勢科技的軟體品質保證(SQA)部門,為協助各產品開發部門優化軟體開發流程及生產力,便評估引進敏捷開發法(Agile Development),以加快產品上線時程、提高專案透明度、並增進團隊因應市場需求快速變動之彈性,於是建議公司高層予以採納,循序推廣至各研發部門。

趨勢科技研究開發部專案經理林志銘指出,在導入敏捷的初期,由SQA部門進行一系列的教育訓練,協助建立同仁的敏捷心態及思維 (Agile Mentality) 為主,也就是讓同仁先熟悉並了解敏捷的精神,團隊成員都有基本的知識並能判斷哪些是敏捷的精神及作法,不一定馬上讓既有的專案導入敏捷開發,隨後該部門 (Consumer WSE) 在專案中引進Scrum敏捷開發,很快就讓該部門成員感受到明顯轉變。一般軟體開發專案時程最多可至8個月左右,一旦專案啟動,便依序執行設計、開發、測試等任務。但在Scrum框架下,所有專案都切割為許多循環 (Iteration),每個Iteration為期約4週,只要鎖定每個Iteration,完成最重要的工作事項,產品經理及使用者就可驗證每次循環的產出是否符合需求,並得到真實的建議及回饋,再於下次的循環做修正及調整開發的優先順序,即可為專案扎下穩固基礎,爾後當遭逢任何變數,都可在後續的循環靈活反應,不致衝擊專案行進步驟。

採用微軟Team Foundation Server,有效實踐敏捷開發

執行Scrum時,需要使用一些工具,例如白板讓團隊成員可以視覺化的方式管理專案,若考量到多地協同開發,以及需要將專案資料電子化以利保存,需一些電子化的工具協助。林志銘提到,開始接觸Scrum時,該團隊以傳統白板搭配便利貼的模式,進行相關的Scrum會議 (如每日站立會議) 以協調並更新工作進度,雖然此便利貼的方式有利於會議的即時討論,唯因白板上常貼滿便利貼,很難一目了然清楚並追蹤專案進度,在沒有將工作項目電子化記錄下來的情況之下,PM需要花時間自行製作報表,並專案完成後,因便利貼不利保存,通常就將之丟棄,不利於知識傳承。後來也曾使用過一些Web軟體進行管理,但在每日站立會議,與會者只見畫面呈現密密麻麻Task,反倒失去看板的視覺效果,無法有效掌握各項狀態。

於是乎,林志銘與團隊決定初期先透過雲端版的 Visual Studio Team Services (原名Visual Studio Online) 進行評估並試用其功能,了解是否符合團隊需求,待測試完畢後便於企業內建立 Team Foundation Server (TFS),以方便整合企業的 Active Directory 進行開發團隊成員之權限及群組設定。而且Team Foundation Server也提供了完整的報表以隨時查詢專案相關資訊,另外客製化Work Item表單中些許欄位,以符合該團隊的需求。

藉由 TFS 所提供的工具及敏捷開發流程範本,包括「任務看板」、「Product Backlog」、「Sprint Backlog」、「燃盡圖」等項目,直觀所有專案執行與資源分佈現狀,當察覺團隊成員工作負載不均或因應發佈時程需調整需求之優先順序,便立即加以調配,也可利用相關資訊,作為後續專案Portfolio的規畫依據。

在TFS上,該團隊找回了原本傳統白板的視覺感,不僅如此,尤其是每天的Daily Stand-up會議結束後,團隊成員隨時可到該系統中了解進度,PM也馬上可以從自動產生的燃盡圖及資源報表了解專案進度,有助於該團隊將Scrum精神發揮到極致。

 

不同角色及不同技術團隊 – 在微軟 TFS 上協同合作

林志銘提到:「因我們不同的專案團隊,使用各種技術進行開發,包含 .NET, Java, PHP, Python 等技術,再加上團隊成員有PM、QA及Developer,Team Foundation Server 讓我們可以在同一個平台上進行專案管理,大大增進了每個成員對專案進度的透明度」。

參與Scrum團隊的QA人員認為,如今透過每日站立會議,即可從TFS 畫面清楚看出開發同仁的進度,利於QA工作者執行銜接測試;另有開發人員認為,藉由系統的History機制,可集結每位成員的作業狀態,不僅有利於自我工作管理,更可直接據此產生工作報表,以呼應上級主管的要求,可謂一舉數得。

 

專案的不確定性及挑戰,相信Scrum團隊有彈性及能力面對

林志銘提到:「因應行動裝置及雲端應用,我們研發團隊面臨的專案挑戰更大,例如針對全新的專案如何更準確的預估時程、如何與產品經理 Product Owner找出新產品的需求,更快地反應使用者的回饋進而改進下一個版本,這些挑戰在Scrum團隊運作上軌道後,相信團隊會更有能力解決」、「我們也看到了開發 Dev與測試QA團隊成員的互動機會增多,團隊合作更有默契」。

總括而論,透過「Agile/Scrum + Team Foundation Server」的組合,趨勢科技該團隊已有6個Scrum Team,約10個專案共約40位成員使用中,無論是專案透明度、還是工時預測的精準度,雙雙大幅提升,等於一舉匯聚了諸項利多因子,得以有效掌握市場需求演變,進而憑藉迅捷的應變能力,按市場需求脈動催生多項新產品。

 

[延伸閱讀]  趨勢6成專案導入敏捷開發的關鍵 (ITHome 文章)

其它資源 - ALM 學習中心 - Visual Studio ALM 的 書籍, Demo, Lab 及 VM