-- 自由人,足球術語,由意大利球隊首度創造,又名清道夫,指在足球比賽中的特定人選,根據場上形勢靈活變換位置與職責,因而得名。

 

    當CPU(中央處理器)在執行一條現行指令時。收到高優先級任務指令的中斷信號后,暫停執行當前的程序指令,跳轉到負責處理這個信號的處理程序中。完成對這個信號的處理后再跳回到剛才被打斷的程序指令。該邏輯由中繼系統完成,過程主要有請求中斷、中斷響應、關閉中斷、保護斷點、中斷源識別、保護現場、中斷服務、恢復現場、中斷返回。

 

    可見應對一個中斷,CPU要處理的邏輯要比正常運算邏輯復雜幾倍。換成人也類似,打斷當前任務,執行高優先級任務,完成后再繼續處理原任務,這個過程也和CPU的中繼處理過程類似。但人的切換卻要比CPU切換困難的多,慢的多。

 

    有這樣一個場景,一個提出的功能需求,2個月就能改完。但是每半個月或者1周會提出修正需求。這種變更需求算不上新功能,只是原有功能的完善或優化或補充。而且提出本身也是必要的、合理的,變化后確實能滿足現實要求,或功能優化或體驗提高。但這種變化多了,會對人員產生頻繁“中斷”效應,會深刻影響既有功能任務的開發進度。如果是同類需求的變化還好,如果加入的是另外一些不相干的需求。則勢必要引起分析、開發人員的思路頻繁切換,嚴重的影響整體任務進度和進展。

 

在經分敏捷的團隊中,針對以上情況,我們設立了一種角色,即自由人。該角色由經驗豐富,從業時間較長,橫向和縱向知識體系較為完備一個或幾個人組成。他們會在實施的敏捷迭代開發實施中,根據情況靈活變換職責和工作內容。主要的作用是應對本迭代實施中新加入的需求分析、開發、或是任務支援。屏蔽或減少迭代過程中新增變化對原有團隊既定的迭代計劃和開發目標的影響。保障整體開發節奏和進展的按計劃進行。

 

    就像兵團攻堅一樣,主力部隊要按照既定的協同作戰方案和計劃按部就班的推進,而預備隊或后備兵力,要根據實際情況,機動的組織保障、支援和掩護,避免主力部隊受到不必要的襲擾,保障主力部隊按計劃推進,也或根據需要臨時賦予相應作戰任務,且一經使用,需盡快重新組建。

    經分敏捷團隊中的自由人就是類似預備隊角色,其角色行使的過程是:

    在迭代計劃會(用以決定下一迭代完成的任務內容)上,自由人們會參與計劃決策。看產品backlog,聽需求,分析故事,了解重要程度,憑借自身經驗,協助決策,確定優先級和人員安排,明確復雜需求實施方案。然后再根據實際情況,明確此次迭代過程中由哪個或哪幾個人擔當自由人角色。

 

    然后自由人優先認領任務,一般選擇的任務均為非關鍵路徑任務,盡量短小,沒有前置依賴,也不會對其他任務產生后置約束,來做為自由人的正常迭代開發任務。在之后的開發過程中,自由人會和其他組員一樣進行相應開發任務。而當遇到復雜問題或疑難問題,組員無法有效應對時,自由人會參與討論,憑借資深經驗進行分析、判斷,并給出具體解決辦法、建議。然后再繼續自身的原有既定任務。

 

    當有新增的重要或緊急需求加入或需求變化時(比如領導的緊急需求,市場部的重要需求),經過產品經理分析并決定必須插入此迭代完成時。自由人將會進行“中斷”處理,擱置當前執行任務,轉而對新增需求進行分析和開發。此時自由人角色會轉為組員,專門應對新加入任務。此時,團隊將會考慮認定另一合適人選為繼任自由人,保證預備隊的盡快組建。若此時已沒有合適人選,則團隊達到了飽和效能狀態,再有變化需求,則會考慮傳統敏捷的常用應對方式,如:延遲決策(deferral decision)、時間盒子(time box)、變更成本透明等策略、需求置換,或是將變化需求安排至下一迭代計劃中。

 

    以上就是經分敏捷團隊中自由人的實踐和使能過程,在不同的開發迭代里中也會進行輪換。這種方式在實際過程中確實起到了實際作用,比如今年為支撐BES項目改造及割接,相當一部分開發骨干被抽調至BES項目支撐中,剩下的人員相互頂替,應對由此產生的業務需求積壓。在最艱難的11月下旬,人力資源幾近枯竭,不得以,將團隊中部分資深測試人員確定為自由人,并充當產品經理角色,直接參與相關需求澄清任務中,完成了11個新增需求的澄清、分析和方案提交等任務,確保了經分新業務開發團隊持續的保持著每周600人日-650人日的開發效能,維持了近6周+,使得近4000+人日需求積壓,在1個半月里基本追平。

 

    其實這些自由人在實際工作中,工作會更瑣碎、有趣,比如幫組員們收快遞、倒水、訂盒飯,他們彼此笑稱這是“敏捷服務”。這讓我回想起另一個開發團隊,沒有版本管理工具、沒有持續集成環境,組員們用最原始的文件共享的方法合入各自完成的組成代碼,但仍保持著每次提交100%編譯通過。因為他們知道發現版本編譯錯誤會被領導罵死,所以自發的進行著謹慎但極其有效的協同與協作。

 

    人,特別是自動自發的人,有時會彌補資源、技術的不足甚至是缺失,行業內有句唯心的話,“當一個人想盡力做一件事時,全世界都會幫他”。這些也都引起了我的思考,并再次加深了敏捷4句宣言中的第一條“個體和互動 重于 流程和工具”的理解。

 

                                                                                                                             陳雷  2016.12.22