2014年10月14日 星期二

台灣政府敏捷首例

徐柏峰
2014年間,輔導國家災害防救科技中心導入敏捷方法,成就了台灣第一個機關敏捷的案例,以下是他們的故事...



「終」「始」卓越品質
資訊服務委外運用敏捷方法之經驗分享
國家災害防救科技中心 張志新博士、林又青助研究員

對任何機關來說,開發資訊系統,就是要幫使用者解決問題或創造機會。執行專案的過程一定要投入成本、人力和時間,怎樣才能有效率的工作,又能產出高品質的成果呢? 2014年間,國家災害防救科技中心(簡稱NCDR),在行政院NICI小組成立之政府資訊委外服務團的協助下,率先在國內機關導入敏捷方法,執行資訊服務委外專案,堅持「以終為始」(To Begin with the End)的心態,獲致了豐碩的成果。本文以委外機關的觀點,分享這次成功的經驗。

災害事件調查,需要使用大量資料
    國家災害防救科技中心成立以來,執行多次重大天然災害事件調查,經歷2009莫拉克颱風全台災害調查、2010凡那比颱風高雄與屏東災害調查等,每次調查過程中,都需要大量的影像圖資、表單紀錄與填寫、影音記錄、座標紀錄等繁複的工作,每次調查過後,還需要投入大量的後續分析作業。

資料來源:Google街景圖、NCDR
災害事件調查範例
使用行動裝置,可以提升調查效率
2012年紐約遭受SANDY颶風侵襲,一周以後,網路上就陸續公布大量災後調查成果,效率之快,令人驚艷。原來,負責災害調查的美國聯邦緊急事務管理署(Federal Emergency Management Agency , FEMA),在Sandy颶風侵襲後立即派出勘災人員,攜帶行動裝置深入災區,進行災後調查與損失評估,利用網路無遠弗屆的特性,在最短的時間內就把災害資訊對外公開。
資料來源:FEMA
美國FEMA災後評估與災害認定
透過網路連結,整合勘災調查資料
NCDR受到FEMA作法的啟發,提出行動災害調查的構想,希望發揮行動裝置輕便的特性、儲存動態資訊的能力,整合精密電子設備,透過網路連結,提升災害調查的效率。NCDR內部經過一番討論,決定開發屬於國人的《行動災害調查APP》,提供以下功能:
  • 圖層資訊功能,含地圖(含離線地圖)、流域水系分布圖、衛星影像等有助於災害勘查的資訊;
  • 調查表單填寫功能,含坡地災害、土石流災害、水災與聚落環境調查等表格填寫;
  • 調查輔助工具,含影音記錄、異地座標定位、災害範圍圈繪計算、距離量測、圖畫影像筆記本註記功能等;
  • 離線作業與勘災資訊回傳功能;
  • 以及災害事件簿資料庫管理與網頁綜整及展示勘災資料等功能。
資料來源:NCDR
行動災害調查與災害事件簿
導入敏捷方法,整合了想法與做法
NCDR同仁,全部都是學有專精的領域專家,對於開發《行動災害調查APP》,提出非常專業的想法。不過,由於同仁多為研究人員,不見得有軟體開發專長,也不一定具備專案管理的經驗,而承包開發的資訊團隊,也不是來自災害調查的相關領域。因此,在這次的資訊委外開發專案中,要讓開發團隊了解業務單位的專業需求,掌握專案真正的進度,以及確保交付成品符合設計的構想,就成為執行專案的最大挑戰。
所幸,就在專案已經發包,即將啟動的時候,政府資訊委外服務團,前來NCDR推廣導入「敏捷式專案管理」,適時地解答了我們的疑惑。敏捷方法主張用「以終為始」的心態,先確定要解決的問題是什麼,然後把資訊團隊當成開發夥伴,定期透過面對面溝通,檢視實際的軟體產出,據以提出優化的新需求,一步一腳印地創造出真正解決問題的最終成品。這一套方法,和這幾年來NCDR力推的「設計思考」(Design Thinking)非常接近,也因此,我們一拍即合,決定導入敏捷方法,而承包廠商的主管和專案經理,在明知溝通量會增加的情況下,也非常配合,同意全力投入這個敏捷專案。就這樣,國內第一個政府機關導入敏捷方法的案例,跨出了成功的第一步。

敏捷專案管理,核心就是做事態度
軟體開發專案,本質上就是集合團隊的專長,共同創作出成品的過程。90年代以來,業界先進逐漸體認到,在不確定性高卻要快速產出結果的專案中,要增加成功的機會,就要摒棄70年代以來,「先寫大量計畫文件才進行開發,最後才做測試」的瀑布式作法。在軟體專案中,客戶一開始往往只能講出需求的大方向,唯有透過不斷操作實際的產出,才會逐步淬煉出符合使用者需求的最終成品,因此可以說,軟體開發本身就是一個不斷變動的過程,透過詳細計畫驅動開發,其實是本末倒置的做法。基於這個體認,2001年間,17位資訊界大老齊聚一堂,用短短的4句話,道出敏捷方法的核心理念:
資料來源:Manifesto for Agile Software Development
敏捷軟體開發宣言與知名敏捷方法
活用敏捷精神,制定協同合作規則
NCDR這次領風氣之先,引入敏捷開發的精神,將原本專案RFP內所列構想進行拆解,由開發團隊估算各項工作的複雜程度,排定開發期程並透過雲端看板追蹤需求執行情況,過程中「敏捷式專案管理」,協助我們釐清專案需求,確認如何驗收每一項需求,使得與廠商溝通更順暢。執行專案期間勢必調整APP需求開發排序,在不違背大原則情況下,調整工作優先順序,在敏捷專案導入後,重新排程。至於實際運作方面,我們在專案初期,就決定採取以下的開發模式:
  • 將期中和期末,各視為1個里程碑,稱為Release
  • 每個Release開始前,先進行Roadmap Planning NCDR承辦人先逐一說明待開發需求,交由開發團隊溝通並評估複雜度,再交由NCDR需求窗口決定每個需求的優先順序;
  • 為了避免遺漏,使用雲端看板,登錄相關的需求內容,以及需要討論的議題;
  • 以每2周為開發周期(Iteration),每期的期初都透過面對面溝通,規劃當期需求,每個需求都有明確的過關條件(Acceptance Criteria或稱為How to Demo),讓團隊有所依循;
  • 每期期末由需求窗口實機操作,根據過關條件,逐一驗證需求是否達到可以接受的標準;
  • 需求窗口根據實機操作的結果,評估是否需要提出新需求,如果有新需求,就儘量在尚未開發的功能中,淘汰不再需要的需求來交換新需求;
  • 專案執行的過程中,只要有需求要釐清,或是有議題要反應,不論是NCDR對開發團隊,還是開發團隊對NCDR,都儘量在第一時間內,直接透過電話,或是面對面溝通。
Roadmap Planning
R
以實機操作驗證需求

提出新需求,汰換舊需求


        秉持以終為始,成就優質委外專案
在導入敏捷的過程中,NCDR、開發廠商和政府資訊委外服務團這3方,都投入了不少的人力與工時,我們堅持以終為始的信念,交出了傲人的成績:
l   在專案啟動後第3周,就開始交付出實際成果,並適時進行現地驗證;
l   2周都依據實機操作結果,調整需求;
l   啟動後3個月,執行期中驗收,功能已經完成80%
l   專案進行中,定期進行回顧討論,並根據團隊意見,修改工作流程;
l   專案尚未結束,已經有實際《行動災害調查APP》,用在進行災害調查;
l   高雄氣爆事件後2天,就因應需求擴充出勘災相關功能

後記
本專案是在RFP公告後才開始導入敏捷方法,對所有參與的夥伴來說,除了原本規劃給專案的時間以外,還要額外預留學習新方法的時間,以及衍生的溝通時間。這次參與專案的所有夥伴,在導入的整個過程中,都非常積極主動參與付出,我們很高興,透過NCDR同仁、開發團隊和政府資訊委外服務團三方的協同合作,過程中團隊的每一個人都有參與感,雖然這樣的工作模式並不會減輕工作量,但是整個過程都是學習與成長,無形中團隊在成長、團隊在調整工作模式、提升協調溝通技巧、享受開發成果的展現與獲得肯定。以上過程的無形的效益與未來可能的發展,遠勝於本專案提升20%30%的績效,或是壓縮多少工作期程!

感謝
政府資訊委外服務團吳仁傑主任、林祖馨顧問、邱淑敏顧問、徐柏峰教練
本中心同仁林又青、傅鏸漩、王俞婷、吳啟瑞、黃俊宏
凌網科技賴彥豪、朱毓婷、林宜明、蔡孟玹