你的程式碼也能貢獻社會! 群眾外包 (crowdsourcing) 與 Visual Studio Online 雲端協同開發平台如何協助人道救援工作

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

身為開發者的你,是否也想貢獻一己之力呢?

只要你想,你的程式碼也能造福人群、貢獻社會哦。

以下就是個很好的案例!

  圖片來源 - https://www.htbox.org/

Humanitarian Toolbox - 使用 Visual Studio Team Services (原名Visual Studio Online) 讓群眾外包開發 ( Crowdsourced Development) 更有生產力!

軟體開發者常常自願提供解決方案給救援組織。為了要增進此成果的生產力及長遠的利益,非營利組織 - Humanitarian Toolbox 在 2013年時成立。
它志在提供開源的解決方案給救援組織,透過一些開發者的黑客松活動 (hackathon) 以延續和擴大開發者在志願活動時所投入的心血。他們目前已完成開發三項國際響應組織 (international response organizations) 和其他非政府組織 (NGOs) 所需要的解決方案。此計畫使用 Visual Studio Team Services (原名Visual Studio Online) 儲存在雲端上,讓開發者在任何一個地方,都可有權限的存取專案的程式碼和工作項目,讓應用程式可以持續開發,也不用擔心志工加入或離開此計畫,Humanitarian Toolbox 預計在 2014年開發 20 個新的應用程式。

 

背景故事

資訊科技在救災行動中 (包括救援物的收集以及重要資訊和新聞的傳遞) 扮演了一個越來越重要的角色。
在2010年海地大地震的救災工作中,志工數及賑災規模遠大於當時 IT系統可承受的量,此經驗讓組織了解到說,更先進的科技對於救災人員及志工在災區復原這方面是需要的。

Humanitarian Toolbox 創立於2013年,志在提供現代、開放的科技解決方案給人道救援組織。美國微軟開發工具部的行銷總監 Matt Nunn 解釋了一開始的目標:「我們才剛發行了 Visual Studio Online 的測試版本,我們相信基於雲端的團隊開發解決方案,對於時常使用群眾外包 (crowdsourced) 開發的人道救援組織來說,是一個極大的好處。」

美國微軟的災害對策 (Disaster Response) 組織快速地決定要支持此計畫。CTO 和微軟災害對策的資深執行長 Tony Surma 評論「我們視此次為一個重要的機會,讓 Microsoft的資源及科技能夠投入人道組織,並提供可擴展性的解決方案。利用微軟在開發者及回應社群的投入,我們開發出的應用程式可以有巨大且長遠的影響。」

現有在此領域的努力已經產生了好的結果,對於支持慈善組織透過黑客松 (hackathons) 或其他聚集形式的開源 (open-source) 計畫,在開發者社群中引起極大關注。然而此努力常常無疾而終,可能原因為:計畫失去了熱度、沒被完成或是人道救援組織在執行時並未被支持。NetHope 的災害對策執行長 Gisli Olafsson 向我們描述以下的情形:「我們也許花了一整天的時間在開發者的問題及需求上,但只剩一天來努力開發。然後,此計畫會被擱著,直到下次活動再度發生才會被提起,這時我們又需要花時間做背景敘述。利用此方式的追蹤或持續是緩慢且困難的。」

解決方法及效益

Visual Studio Team Services (原名Visual Studio Online) 提供了 Humanitarian Toolbox 一個在雲端上可存取專案數據的地方。此環境包括了使用 Git 或是微軟 Team Foundation Server 的程式碼儲存庫及版本管控、敏捷開發的範本、持續整合 (Continuous Integration, CI),和微軟 Visual Studio 整合式開發環境 (IDE)。

Humanitarian Toolbox 已投入於三項被 NGO 非政府組織測試過的應用程式。有鑑於在海地所學習到的經驗,其一為幫助在災難現場追蹤及組織志工的災難打卡 (Crisis Check-in) 應用程式。第二個為提供手機進入訓練資源的管道,有助於志工們能下載訓練影片,並在到達災難現場前快速進入狀況。第三個應用程式為書籤 (browser toolbar) 功能,讓在場志工可容易地接收關於災難最正確的即時資訊。

「Visual Studio Online 在 Humanitarian Toolbox 計畫中是用來原始碼版本管控,我們可取決於此計畫的需求來利用 Git 或 Team Foundation Server 的程式碼儲存庫。」Bill Wagner,Humanitarian Toolbox 的主席說道。「Visual Studio Online 不只輔助程式碼管理,它也讓我們有效率的收集需求及管理 Backlog。當人們加入此計畫時,他們可以清楚的了解 Sprint Planning,並且可追蹤之前所做的需求。」志工們只需提供電子郵件信箱,他們在 Visual Studio Online上便可擁有進入此計畫的權限。

另一個 Visual Studio Team Services (原名Visual Studio Online) 幫助到 Humanitarian Toolbox 開發工作的功能為 Team Rooms,它讓組員可在 Visual Studio 中線上溝通。「我習慣開啟一個 Team Room 的視窗,並且讓任何在進行計畫的成員可直接詢問我問題。」Wagner 說。「他們不需透過 Skype 或 Twitter 來搜尋我的聯絡方式,此種方式更有效率。」

因為 Visual Studio Team Services (原名Visual Studio Online) 是一個基於雲端的服務,所以微軟經常更新此功能。Humanitarian Toolbox 計畫中的分佈式小組 (distributed teams) 對於在雲端編輯程式的功能感到很興奮。「在世界各地都有開發者貢獻己力,跨越時區一起合作,好似我們就坐在隔壁,看著同一個螢幕,此貢獻非常的重要。」Wagner 補充。

 

擴展志工數

讓更多的 Visual Studio 開發者們投入流程,因為這是他們熟悉的開發工具及流程。
「我們將觸角深入尚未投入這些開放貢獻計畫的開發者們,因為他們對這些工具還不熟悉。Visual Studio 提供了一個相似的環境,和目前普遍的敏捷開發流程。」Wagner 說。

Humanitarian Toolbox 也能和不同規模的企業進行組織內計畫的連結。「企業將此視為一個很好的方式來達成公司的公益目標,同時又可訓練人員使用最新的 Visual Studio 技術。」Nunn 說。「我們也發現開發者們自願性的投入時間來增進 Visual Studio 技能。」

提供可追蹤性及維持性

Visual Studio Team Services (原名Visual Studio Online) 提供單一的地方,完整的記錄專案從需求至測試。「我們有一份關於計畫進行中細節的存檔,所以任何剛加入計畫的成員可以馬上了解工作事項,並看到未辦事項。」Wagner 說。「在過去,群眾外包 crowdsourced 計畫可能透過許多不同的工具來傳遞資訊,這使得新成員很難及時的進入狀況。」

Olafsson指出,「從使用者的角度,我們可清楚的紀錄下需求並且產生使用者個案 (Use Case) 或使用者故事 (User Story) 給開發者們。藉由這個詳細記錄開發流程的功能,我們產生了更好的成果。」這個 Visual Studio Team Services (原名Visual Studio Online) 所提供的架構,讓 Olafsson 可以檢視工作項目的進度並提供 input 給開發者。

「Visual Studio Online 讓我們提供開發者一個不須準備時間就能快速融入 Humanitarian Toolbox 的專案中。我們能擁有全部並且準備好的程式碼,使我們能立即地開始寫程式。這樣的效率讓我們能更專注時間和精力在建立有用的軟體。」Philip Japikse 提到,他是一位專案領導人與開發人員。

專注的專案管理

Visual Studio Team Services (原名Visual Studio Online) 讓專案管理者向前進。「我們能對於正在進行的工作有更好的控制。NGO 可設立優先順序,讓我們專注於那些讓應用程式進入 Beta 測試 (Beta testing) 需被完成的事項。」Wagner說。「我們可進行 sprint planning 和建立可放到 CodePlex 的報告,或是透過 email 讓志工們知道待完成事項。」

延續黑客松活動 (Hackathons) 以外的支援

它延續了在傳統上認為大型活動才是志工首要投入資源的熱潮。「現在所有的事情都可在雲端上完成,因此開發者們在 hackathon 活動後還可持續的合作。」,NUNN 說。「所有開發者的需求皆在網路上。」「我們對於這種新動力 - 流程的改革,被引進到 Humanitarian Toolbox 感到興奮。Visual Studio Online 使成員可持續進行除錯並可隨時更新解決方法,讓整個流程在活動間持續的進行。」Olafsson 說。「我們建立了在非常不同環境及需求下使用的解決方案,而且他們需要隨著時間來努力維持效能。」

管理與促進成長

Humanitarian Toolbox 專注於採用能夠幫助組織達成目標,或能夠對於救災組織回復緊急狀況有廣大影響的基礎建設和工具。「使用 Visual Studio Online 來管理專案是執行未來策略的關鍵,包括我們計畫在 2014年時需要釋出 20 個解決方案。」Wagner 說。

 

本案例摘錄自原文 - Humanitarian Toolbox, Visual Studio Online Used to Energize and Optimize Crowdsourced Development

延伸閱讀 -

1. Visual Studio Online 正式發表! Visual Studio Online (VS Online) 是什麼?

2. 最省錢及省時的負載壓力測試怎麼做? Visual Studio Online 雲端壓力測試 (Cloud Load Test) 簡介