2015年1月3日 星期六

Daily Stand-up 的起源

徐柏峰

圖片由美商 Digital River提供,為Daily Stand-up會議實況,Digital River為全球知名電子商務平台商,開發團隊使用敏捷方法,獲台北市政府選為2014年幸福企業
敏捷開發法的眾多門派中,最容易入門的一派,應該非Scrum莫屬了。根據Jeff SutherlandKen Schwaber的建議,Scrum Team中的全體開發人員(Development Team),每天應該花最多15分鐘,在相同時間、相同地點(at the same time and place),針對為了達成本期目標(Sprint Goal)「前一天完成的工作、今天預計的工作以及過程中遭遇的困難」這3個問題,輪流自問自答,讓整個團隊掌握專案最新進度,由於這是Scrum Team每日例會,因此叫做Daily Scrum,又因為會議過程儘量是站著開會,因此又稱為Daily Stand-up Meeting時至今日,不管是不是Scrum Team,很多號稱導入敏捷開發的團隊,都有Daily Stand-up的實務,不過真的知道站立會議來由的人,卻不多見。

        全世界第一個Scrum Team
話說1993年,Jeff Sutherland在知名軟體公司Easel Corporation任職,「官拜」物件科技部副總(VP of Object Technology),念醫科出身的Jeff Sutherland覺得,軟體業界盛行「先寫作文再寫程式」的瀑布式開發方式,非常沒有效率,因此他決定自己帶隊試行新的工作方法,全世界第一個Scrum Team就這樣成軍了。Jeff Sutherland認為,帶領宅男宅女工程師組成開發團隊,就像帶兵打仗一樣,如果團隊士氣高昂,戰鬥力自然就會顯現出來。於是,喜歡看橄欖球(Rugby)比賽的Jeff Sutherland靈機一動,安排在公司播放黑衫軍(All Blacks)的哈卡舞(Haka)影片,要求團隊成員要「學著點」。[1] 
本圖為紐西蘭國家隊2006年與法國隊對戰前的畫面,後來紐西蘭以23:11勝出;圖片來源wikipedia
看Haka戰舞激勵Scrum Team士氣
黑衫軍是紐西蘭國家橄欖球隊,在國際體壇上戰功彪炳,曾在41次的世界盃橄欖球賽,寫下2屆冠軍、1屆亞軍和2屆季軍的輝煌紀錄。每次出賽前,黑衫軍會先在場上一字排開,表演毛利族(Mori)傳統的哈卡戰舞來激勵團隊士氣。哈卡舞的動作、聲音和表情都很震撼,看過的人勢必血脈噴張,留下深刻印象。懂得「帶人要帶心」道理的Jeff Sutherland,在施展放影片奇招之後,接著上演感性的「開示」,果然把工程師情緒炒得火熱,原本「走鐘」的開發團隊,決定要放手一搏。

        Borland團隊每天溝通,發揮高產能
當時,立志要改變的Easel Corporation團隊聽說,總部位於美國加州的寶藍(Borland Software Corporation)公司,在Quattro Pro for Windows專案上,8名工程師只花了31個月,就寫出超過1百萬行的程式碼,這平均每周每人1千行的效能,無疑是地表上戰鬥力最強的團隊。[2] Easel Corporation團隊進一步觀察後發現,寶藍的「秘密醬汁」(secret sauce)非常簡單:就是天天召集團隊,討論手上的工作。原來,寶藍的團隊成員都在一個地方,成員之間透過每天固定會面,用自我管理的方式,解決眼下遭遇的問題,會議中,如果有同事遇到技術瓶頸,其他人就用三個臭皮匠勝過一個諸葛亮的心態,合力找到問題的解答。
     
        Easel Corporation團隊自訂每日會議規則
        研究過寶藍的開會方式之後,Jeff Sutherland和他的Easel Corporation團隊覺得方向是對了,不過問題是,寶藍團隊每天會議超過1個小時,每次有人提出技術細節,其他人就全部綁在同一場會議上,耽誤很多時間。對此,Jeff Sutherland一行人幾經思索,決定導入團隊每天交換意見的實務,不過為了讓會議更有效率,Easel Corporation團隊訂了3條家規:

  1. 會議要每天舉行,全員都要出席,如果有人缺席,溝通就沒有到位。會議時間安排在幾點並不重要,重要的是定期的聚會,讓團隊有了「心跳」。.
  2. 會議時間不能超過15分鐘,會議只講工作重點,如果有需要深入的議題,相關人等就約在會後詳談。
  3. 這是大家都要積極參與的會議,過程中儘量站著溝通,一面拉近講者和聽者的距離,另一方面可以確保會議時間不會拖太久。
Daily Stand-up溝通效果十分明顯
就這樣,全世界第一個使用Scrum的團隊,開始每天花15分鐘站著開會,Daily Stand-up的實務,就這樣誕生了。至於Easel Corporation團隊在導入Daily Stand-up之後,效果怎麼樣呢?根據Jeff Sutherland的說法,當年專案開始找大家站個開會之後,原本規劃4周完成的工作量,竟然1個禮拜就全部搞定,連團隊成員自己都不敢相信,受到這個成功試行經驗的激勵,從此以後,Jeff Sutherland確認自己選對的方向(That’s when I knew I might be on to something),接著在另外4家公司試行Scrum開發方法,累積了豐富的實務經驗,才和一同創始Scrum的好友Ken Schwaber,參與2001年的敏捷大會,偕同另外15位業界先進,簽署了舉世聞名的「敏捷軟體開發宣言」(Agile Software Development Manifesto)[3]



[1] All Blacks隊一般翻譯為「全黑隊」,筆者認為,以「黑衫軍」稱呼較有氣勢。
[2] James O. Coplien, Borland Software Craftsmanship: A New Look at Process, Quality and Productivity, 原文請見https://sites.google.com/a/gertrudandcope.com/info/Publications/Patterns/Process/QPW
[3] Jeff Sutherland, The Origin of The Daily Stand-up, see https://www.linkedin.com/pulse/20140926150354-136414-the-origin-of-the-daily-stand-up

2015年1月2日 星期五

政府機關敏捷案例:美國退伍軍人事務部LTS專案

徐柏峰
Source: http://www.veteransadvisor.com/2011/08/26/chapter-33-gi-bill-va-education-benefits/

        美國退伍軍人事務部(U.S. Department of Veterans Affairs, VA),成立於1989年,前身是退伍軍人管理局(Veterans Administration)VA的自我期許,是實踐林肯總統第2次就職演說時的承諾:「慰藉那些戰爭中逝去的英靈,照顧烈士的遺孀和孤兒」(To care for him who shall have borne the battle, and for his widow , and his orphan) [1]



美國退伍軍人事務部年度開支(2013會計年)
金額單位:千美元
Source: VA官網 http://www.va.gov/vetdata/Expenditures.asp
        從二次大戰算起,美國出兵參與的韓戰、越戰、波灣戰爭、反恐戰爭和聯合國的維和任務,在全美各地累積了2千1百多萬名退伍軍人。[2]  為了照料這些退伍軍人和他們的家庭,VA每年耗資1千到1千4百億美元,提供傷殘賠償金、養老金、教育、職業復健、就業、住房貸款、保險賠償,醫療照料和遺屬福利等服務。和很多機關一樣,VA的核心業務,是審核各類的申請案件。為了加速申請審核效能,VA在全美各地的1千多的據點,過去幾年內陸續建立了一些資訊系統,累積了為數不少的作業資訊。不過,各地的資訊系統之間,無法交換資訊,而VA本部也沒有一套中央的資料儲存機制,管理全國各據點的申請資訊。在業務繁忙的情況下,有些VA的同仁,還會把公務筆帶出辦公室,在家繼續工作。

1. 專案背景

        2006年5月間,VA傳出重大資安事件。一名VA資料分析師,在美國馬里蘭州白楊山(Aspen Hill)附近的家中,遺失了公務筆電,筆電的硬碟裡面,存放了2,650萬筆退伍軍人的個資。事發經過13天,VA發現紙包不住火,才向警方報案,而在懸賞5萬美元的利誘下,警方在50多天之後,終於找到遭竊的電腦,而經過資料比對後發現,電腦硬碟裡面存放的,除了原本2,650萬筆的退伍軍人姓名、生日和社會安全號碼以外,還有另外220萬筆現役軍人、國民兵和後備軍人的個資。對此,布希當局大為光火,而國會也把VA當局罵到灰頭土臉,要求VA改善資訊安全機制。經過一連串的檢討,VA當局制訂了新的資安政策,稱為One VA Policy,打算把原本分散各地的作業資料,統一儲存在VA本部,然後針對各個據點的業務需求,提供安全一致的資料存取服務。
        幾乎在同一段時期,正在研擬提升退伍軍人福利的布希政府,簽署了簡稱Post-9/11 GI Bill的《後911退伍軍人教育輔助法案》(Post-9/11 Veterans Educational Assistance Act of 2008),該法案第33章(Chapter 33)訂明,在911事件以後服役的美國退伍軍人,可以享有為期3年的學費、書籍費和住屋津貼,而且還可以移轉給配偶或小孩等親屬使用。布希政府在簽署法案的同時,正式對全美民眾宣布,從2009年8月1日起Post-9/11 GI Bill法案就開始生效,符合申請條件的退伍軍人,屆時就可以開始獲得補助。

2. 導入過程

        為了落實布希總統開出的政策支票,VA必須在國會兩黨還在爭辯法案細節的情況下,就針對未來補助案的提出、審核和撥款,規劃出可行的方案。不過,建立完整的資訊系統,需要的是時間,但申請補助的民眾等不到系統上線,就要拿到補助。對此,VA先規劃了一套臨時流程,讓承辦人員使用試算表(Spreadsheet)人工檢查補助資格,然後再透過既有系統,把符合條件的款項撥出去。在手工作業可以勉強運作的前提下,VA啟動了Chapter 33 Long Term Solution的資訊專案(簡稱LTS),規劃在2010年間,每1季釋出1次成果,循序漸進把手工作業改成電子化作業。
        VA選擇用Scrum Framework,作為LTS專案執行的框架:在人員分工上,全體專案成員大約每7個人為1組,每組由開發人員、領域專家、分析、設計、實作和測試等專才組成跨職能團隊,稱為Scrum Team。每個Scrum Team中,除了配置一名Scrum Master,維護團隊開發秩序以外,還指派一人擔任PO,負責在利害關係人和Scrum Team之間溝通需求,並將系統需求寫成使用者故事(User Story),登錄在Product Backlog裡。每個Scrum Team以2周到4周為衝刺期(Sprint),每期期初PO根據需求優先程度,參考團隊最近一期的產能,從還沒執行的所有需求當中,挑選出希望團隊在下一期交付的功能。團隊在衝期期間,每天舉行簡短的會議,彼此溝通前一天完成的工作,當天打算進行的工作,以及工作期間遭遇到的困難。到了衝刺期最後一天,團隊把期間的開發成果,交給PO測試操作,並允許PO根據利害關係人最新的回饋意見,修改對系統的需求。

3. 執行成效

        導入敏捷方法的LTS專案,總規模超過2億美元,是不折不扣的大型專案。根據VA的說法,LTS後來在「幾乎沒有缺失」的情況下交付上線,獲致「令人驚艷且出乎意料」的成果。不過,LTS專案執行過程中,還是引發一些批評的聲音。例如,為了加速審核流程,VA臨時招募了750名新員工,不過由於經驗和訓練不足,配套辦公空間太過壅擠,造成審核過程手忙腳亂,很多人索性離職。VA後來只好從其他部門趕調人力支援、強制要求同仁加班,並把15萬件申請案委外審核,才勉強度過上線的陣痛期。 
        另外,負責監督的美國聯邦政府審計署(Government Accountability Office, GAO),一方面肯定LTS專案的成效,另一方面則是提醒VA,引入敏捷方法做得不夠「到位」。譬如說,有些User Story沒有根據相關的需求文件進行測試;專案執行過程中沒有方便的視覺工具,可以讓利害關係人溝通進度;專案的Burndown圖沒有包含在溝通過程中新增的需求…。為了提升VA未來使用敏捷方法執行專案的成效,GAO提出了5點建議: 
  • 成效指標:專案要建立成效指標,並識別出面臨的限制條件,以便在執行過程中衡量是否有實現願景,達成期望。
  • 需求追溯:要在需求、法規、政策和商務規則之間,維持需求追溯的關係,確保系統是按照預期開發。
  • 完工定義(Definition of done):要根據機關的政策和規定,定義在系統開發過程中,每個工作的完工定義。
  • 嚴謹測試:要落實單元測試和功能測試,減少系統重工。
  • 監控工具:要提供監控工具,讓利害關係人之間,可以在專案執行過程中溝通效能和專案變更的範圍。
        在VA執行LTS專案的同時,使用敏捷方法漸漸成為美國政府推動資訊專案的「共識」。美國聯邦行政管理和預算局(Office of Management and Budget, OMB),建議美國政府機關在推動資訊專案計畫時,應該使用敏捷方法,把資訊系統分割成模組化的小單位,循序漸進地交付。在聯邦政府的推動下,過去幾年以來,除了VA以外,包括美國國防部(Department of Defense, DoD)、國家航空暨太空總署(National Aeronautics and Space Administration, NASA)、商務部(Department of Commerce)和國稅局(Internal Revenue Service, IRS)在內,都有使用敏捷方法執行資訊專案計畫的案例。[3]

Source: GAO, Software Development: Effective Practices and Federal Challenges in Applying Agile Methods, July 2013, pp. 29-30.



[1] GAO, Software Development: Effective Practices and Federal Challenges in Applying Agile Methods, July 2013, pp. 29-30.

[2] VA的願景聲明(Mission Statement),請參考VA官網 http://www.va.gov/landing2_about.htm


[3] 美國退伍軍人總數,請參考VA官網統計 http://www.va.gov/vetdata/Veteran_Population.asp




2015年1月1日 星期四

天龍國PMP在吃麵,你喊什麼燒?擁抱Wet Agile吧

徐柏峰
Source: PM Network, 2010~2014年11月號各期封面
PMI年度最佳專案獎,是PM業界的金像獎
        專案管理協會(Project Management Institute, PMI)在全球105個國家,有超過45萬名會員,是最具公信力的專案管理組織。每年11月號的PMI Network月刊,照例會把PMI選出的年度的最佳專案(PMI Project of the Year Award),當成封面故事。以PMI在專案管理領域的地位來說,這個年度最佳專案獎,相當於PM業界的奧斯卡金像獎,有了大獎的加持,獲獎的公司不但可以博得好名聲,團隊的成員日後想「換個環境」工作,身價應該也可以水漲船高。


參賽規則看似簡單,但進入門檻高不可攀

        PMI年度最佳專案獎的參賽資格說:「不限國家、專案型態、產業,也不論是公家機關還是私人公司,只要可以體現專案管理理念和技巧的,而且專案規模在1億美元以上的,都可以自行報隊參加。」不過,從獲獎紀錄來看,如果不是從事營建、國防或航太產業的「天龍國專案」,得獎的機會根本微乎其微。因為長久以來,PMI透過PMBOK Guide推廣的,其實是這些天龍國產業的工作方式。

2014 PMI年度最佳專案,頒給營建類專案
Source: PM Network, 2014年11月號
        2014年的最佳專案獎,頒給AP60 Phase 1 Project專案,這是一個大型營建案。主要內容是鋁業大廠Rio Tinto Alcan公司,斥資13億加幣(相當於11.18)在加拿大魁北克省的尙吉爾地區(Jonquiere),興建大煉鋁廠,為了確保專案「如期、如質、如預算」完工,業主找了知名的營建業顧問公司Hatch and SNC-Lavalin操刀,召集一群PMP組成團隊,並在過程中力求實踐PMBOK Guide的知識。在專案進行過程中,曾經發生過1次重大需求變更,當時專案高層歷經嚴謹的審查程序,決定接受變更,追加75百萬的預算,並展延1個月的工期。後來,團隊「將士用命」,導入層層的風險管理機制,讓專案在極低的工安意外率中,提早1個月完工,並且還引入新的工法,讓煉鋁廠可以多開出40%的產能,這樣輝煌的成績,獲得PMI年度最佳專案管理的肯定,實至名歸!

2013 PMI年度最佳專案,也是頒給營建類專案
Source: PM Network, 2013年11月號
        再看2013年的最佳專案,也是營建業的故事。澳洲南部的阿德雷德市(Adelaide ),在歷經7年乾旱之後,決定投入14億澳幣(12億美元),興建海水淡化廠,讓阿德雷德的110萬居民,不再受到無水之苦。阿德雷德是南澳第一大城,不論是工業還是民生用途,用水量都很大,在持續的乾旱威脅下,阿德雷德市府為了提升專案執行效率,派出獲得授權的官員,和承包廠商組成執委會(Steering Community),在專案過程中共同決定重大事項,這個執委會,就相當於PMBOK Guide提到的「變更管理委員會」(Change Control Board, CCB)。專案進行到一半,乾旱災情越來越嚴重,市府順應民意提出需求變更,希望提早上線,並要求加倍海水淡化產能,專案執委會評估後同意變更,並且追加了4.5億澳幣(3.87億美元)。專案執行的結果,比預期提早了19天完工,預算執行率高達99%,還交出號稱可以幫阿德雷德供水50年的好成績,至於專案管理是符合PMBOK Guide規範的那些「一定有的事」,就不必再多說了。

PMI歷年最佳專案獎,天龍國產業幾乎包辦
        PMI接連2年把大獎頒給營建業,並不讓人意外。PMI1989年開始辦獎以來,頒了18個獎座給營建類專案、5個獎座給國防和政府專案,1個獎座給航太專案,這幾個產業的得獎率加起來超過92%,幾乎就是「包牌」了。為什麼呢?因為這些產業專案的執行方式,「最能代表PMI專案管理理念」。

Source: PMI年度最佳專案官網
營建、國防和航太類專案,適合計畫驅動的作法
        從專案管理的「三重限制」(Triple Constraint)來說,營建、國防和航太類專案,預算規模上億(美元)、動員人數上百,花上好幾年執行,是很常見的事,這類專案的共同特色,就是業主在期初就清楚描述出最終的交付成果,需求變更是例外。每個專案從啟動日起,都要先花大量時間做詳細規劃,然後再交由團隊按計畫執行,專案進行過程中,管理當局定期查驗,確保專案按照計畫執行。由於營建、國防和航太類專案的交付項目都很明確,為了避免變更頻繁發生,專案主要利害關係人共組CCB,嚴格審查每個需求變更提案,CCB審議結果相當於修改過的新合約,對專案會產生重新定義範圍、時程和預算基準的效果,因此變更提案必須慎重,審議過程必須嚴謹,才能確保專案如期、如預算,交付出一開始就訂明的最終成果。這種專案管理的思維,必須依賴大量的正式文件,因此這類的專案又稱為「計畫驅動」(Plan-driven)專案。

多數專案從業人員,並非來自天龍國產業
        PMI是全球最具公信力的專案組織,全世界有60幾萬名PMP,把每個專案團隊的人數加一加,一定遠遠超過這60幾萬,但令人好奇的是,這世上到底有多人專案從業人員,是來自營建、國防和航太這些計畫驅動產業呢?PMI在全球有將近50萬名會員,從會員的產業分布來說,營建、國防和航太這3大計畫驅動產業人數所佔的百分比,大約只有15%,換句話說,絕大多數的PMI會員從事的工作,並不是計畫驅動的產業,不過透過教科書上面學到的「專案管理」,卻是源自計畫驅動產業的工作方式。
硬套天龍國專案的遊戲規則,就是拿明朝的劍斬清朝的官
1970年代以來,從天龍國產業衍生出來的計畫驅動做事方法,一直是專案管理的主流,不過,隨著專案和專案管理概念越來越普遍,在實務界聽到的雜音反而越來越多,例如,很多考了PMP的朋友回到職場上,抱怨「公司文化不成熟」、「同事不願意寫文件」,也抱怨「客戶不尊重專案管理」之類的。其實,如果把焦點放在台灣、大陸、香港和新加坡這個「大中華地區」,簡單問3個問題,就可以發現在專案職場上硬把計畫驅動的遊戲規則當成「尚方寶劍」,根本就是「拿明朝的劍斬清朝的官」(Using Ming’s sword to chop the official of Ching Dynasty)


第一,大中華地區有多少專案從業人員,是在營建業、政府國防或是航太業工作呢?根據統計,這3大計畫驅動產業人數最少的是台灣,只有3.34%,最多的是新加坡,不過也只有10.06%。以台灣來講,專案從業人員最多的是資訊業,其次是製造業和工程業(電子業),加起來逼近7成,這7成的專案人口每天面對的工作性質,和PMBOK Guide描述的境界很不一樣,以資訊業為例,在軟體開發專案中,業主通常在期初只有需求大方向,而且在看到實際成品之後,往往會產生新的需求,專案執行是業主和開發團隊逐步釐清需求的過程,專案需求變更是一定會發生的事,這和計畫驅動專案的本質有很大的不同。
Source: Project Management Salary Survey, 8th
其次,計畫驅動產業裡的大型團隊,在大中華地區佔了多少呢?根據統計,每天必須密切互動的專案團隊,就算在「兵多將廣」的中國大陸,20人以上組成的大部隊,也只有25%而已,在台灣,70%的專案團隊,是9人以下的組成的小型戰鬥團隊。試想,如果專案幾個月就要交件上線、客戶期初講不清楚需求,而且期中還會變來變去,身為PM的您,完全遵循計畫驅動的那些聖經教科書的步驟,要求只有小貓兩三隻組成的團隊,在專案成品以外另外再交四五十份正式文件,可以想像會招致多大的反彈。
Source: Project Management Salary Survey, 8th
第三、大中華地區的常見專案規模,預算大概是多少呢?以台灣為例,雖然我們的工時長、品質又好,交件又迅速,但可能是因為產業別的關係,超過70%的專案是小於1百萬美元的「小專案」,超過1千萬美元的專案只有9%,至於PMI年度最佳專案要求的1億美元最低門檻,醒醒吧,這是為天龍產業PMP量身訂做的獎項,人家在吃麵,你喊什麼燒啊?與其幻想上台領獎,還不如想想怎麼善用客戶給的少少錢,做出能幫使用者解決問題的成品,還比較實際。
Source: Project Management Salary Survey, 8th
Wet Agile融合計畫驅動和敏捷方法,是專案管理的未來趨勢
        針對天龍國專案管理理論和其他產業實務脫節現象,PMIPMP認證大賣之後,從2011年起,複製軟體產業來自實務界的成功經驗,融合敏捷開發(Agile Development)、精實管理(Lean Management)和看板(Kaban)等實務元素,推出以歡迎變更為前提,適用於大多數專案的PMI-ACP®認證,成為PMI認證市場的另一隻金雞母。平心而論,不論是計畫驅動的管理機制,還是主張價值驅動的敏捷方法,方法本身沒有優劣對錯,只有適不適用的問題。最近幾年來,隨著敏捷的思維在各個產業開枝散葉,有些專案團隊,演進出一套「在計畫驅動的框架下,使用敏捷交付成品的最佳實務」,稱為「潮濕的敏捷」(Wet Agile),我大膽地說,在可預見的未來,Wet Agile就是最值得學習的專案管理實務。至於Wet Agile要怎麼運作,請聽下回分解。