簡析敏捷在分佈式團隊中的實踐

簡而言之,敏捷是一種新的軟件開發的思想,通過迭代、結對編程、測試驅動等實踐逐步完善對軟件的開發,最終形成穩定的系統。與傳統的軟件開發相比,敏捷強調人與人之間的溝通,而不是通過文檔。這兒可以用Kent Beck、Martin Fowler等16位業內權威的軟件人士在幾年前所做的一個敏捷宣言來解釋:

  1. 個體和交互勝過過程和工具
  2. 可工作軟件勝過面面俱到的文檔
  3. 客戶合作勝過合同談判
  4. 相應變化勝過遵循計劃

從中我們可以看出直接的溝通和交流在敏捷中所起到的重要作用。在傳統的方法中,我們強調經驗的積累,通過大量的文檔和合同等來記錄這些東西,其實在實際的工作中,這些辛苦積累下來的東西得到的後期應用很少,因爲這些記錄通常是煩瑣的,不人性化的。即使文檔再好,但沒有起到實際的作用,也是做無用之功。而在敏捷的方法中通過人與人經驗的傳遞,使得團隊中的人很快地成長,站在一個水平線上,爲最終目標的完成配置最有效的人力資源。

InfoQ中文站是什麼?

這兒之所以要介紹InfoQ中文站,因爲這是介紹整個主題的背景知識。InfoQ.com是一個社區型技術媒體,以關注企業級軟件開發領域的趨勢見長。目前這個媒體在全球開發者社區內引起了很大的反響,經常被各大社區引用。那麼InfoQ.com的架構是什麼樣子的呢?可以說,它是一個非常典型分佈式的團隊。這件網站的總編在加拿大,銷售在美國,開發團隊在羅馬尼亞,另外還有InfoQ中文站、InfoQ日文站等。而InfoQ中文站上的參與人員也是分部在全國各地的,包括北京、上海、廣州、深圳、西安、成都等。

敏捷方法對於團隊溝通的借鑑

作爲一個知識型的團隊,如果沒有有效的溝通是很難將工作完成的,InfoQ.com和InfoQ中文站是如何保證團隊間的溝通的呢?

在敏捷的方法裏,有兩個非常有效也是比較簡單易用的實踐,一個是Stand up,一個是回顧。Stand up的意思就是站立會議,詳細解釋就是說每天早晨或者晚上,團隊成員圍成一個圈,分別彙報當天的工作進展情況和下一步的打算,從而讓整個團隊內部的信息溝通有無,彼此瞭解對方的進展,推動整個項目的發展。而回顧,簡而言之就是在一個稍微長的一段時間內,將過往的項目進行分析總結,發揚優點,改正缺點,爲下一個項目或者項目的下一個階段積累經驗。

在InfoQ.com和InfoQ中文站兩個組織中都比較好地應用到了這兩個實踐。比如InfoQ.com的溝通方式是每週二團隊Stand up,包括內容、商務和開發人員,分別彙報自己的工作狀態,還附之以溝通的電子郵件,進行問題的確認,防止出現理解有誤的情況。而對於InfoQ中文站,因爲都是中文,交流相對也比較方便,所以一般是每天通過郵件羣組的形式進行Stand up,每週一電話溝通本週計劃,週三則追蹤計劃的進展情況,週五則是回顧。通過這種形式很好地保證了公司日常工作的進展。另外一個好處是隨着交流的增多,團隊之間的瞭解程度也逐漸加深,團隊成員的熱情也得到很大的調動,形成了一個比較有活力的團隊。這些成績的背後都可以看到敏捷的功勞。

工具和平臺對於敏捷的補充

那麼是不是說只要借鑑敏捷方法,就可以讓一個分佈式團隊有效地進行工作呢?還不完全是,另外一個不可或缺的因素是工具和平臺。這裏所謂的工具就是指交流所用的軟件,比如MSN、Skype、Google Group等,通過這種在線溝通的形式,可以方便地聯繫到團隊的其他成員,就某個話題進行交流,還可以進行任務的分配等;所謂平臺就是辦公寫作平臺,因爲InfoQ.com和InfoQ中文站的主要工作是編輯,那邊一個協同的辦公平臺就非常重要。

這裏列舉一個協同辦公的流程。比如InfoQ.com上新發布了幾篇新聞,InfoQ中文站要拿過來翻譯,那麼管理員把新聞的相關內容植入Google Spreadsheet,然後共享給其他參與翻譯的團隊成員,成員接到郵件後同步打開在線文檔,選擇自己感興趣的內容進行翻譯,然後將翻譯好的文檔再通過Google Docs共享給審校的人員,然後新聞就可以在InfoQ中文站上進行發佈了。如果說沒有Google的在線協同辦公工具,還是依靠原來的郵件或者單純的IM形式,效率會降低很多。

總結

綜上所述,我所強調的內容基本是兩點,第一是要借鑑敏捷方法中的精髓,將其思想應用到分佈式團隊的溝通之中,加強人與人之間的交流;第二則是在溝通的同時,也要注意合理地利用現有的技術,比如IM和在線協同工作平臺,通過這些技術提高團隊之間的溝通效率。希望這些經驗能夠對創業中的分佈式團隊起到一定的借鑑意義。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章