顯示具有 Scrum 標籤的文章。 顯示所有文章
顯示具有 Scrum 標籤的文章。 顯示所有文章

2015年8月13日 星期四

Scrum全球應用調查報告,搶先看

號稱有40萬會員的Scrum Alliance®,日前公布了The 2015 State of Scrum Report,針對敏捷方法在全球業界的應用概況,提供了一些有趣的統計資訊。

第一、Scrum雖然是最多人用到的敏捷開發法,不過,超過半數的受訪者表示,自己公司的團隊是混搭各門各派的實務(例如在Scrum團隊中使用Kanban顯示進度,或是應用XP的Pair Programming、Test Driven Development);聲稱自己團隊完全只用Scrum的,只有42%。



第二、使用Scrum可以改善開發團隊的工作和生活的品質,不過有趣的是,超過7成的人表示,在公司使用Scrum的團隊,和其他非Scrum的團隊之間,竟然存在著緊張的氣氛。



第三、把開發人力組成一個一個的小團隊,是主流的作法,團隊平均人數是7個人。


第四、採用短開發週期是普遍的現象,最多團隊選擇以2週為1個Sprint的長度。

第五、使用Scrum執行專案的成功率比較高,如果使用Scrum的專案是由PMO主導管理,成功率超過9成。


另外,超過95%的受訪者表示,體驗過Scrum的開發方式之後,未來還再進一步深入應用,如果這個調查屬實,Scrum應該是「黏著度」前無古人的團隊工作方式了。


本文所有資訊及圖片,取自The 2015 State of Scrum Report,該報告受訪對象超過4,400人,橫跨108個國家14個產業,如需進一步資訊,請自Scrum Alliance®官網下載全文。

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

2014年4月12日 星期六

MetaScrum,跨部門溝通踹共

徐柏峰
Jeff Sutherland
Photo Source: Wikipedia
日前重聽Scrum Framework共同創始人Jeff SutherlandGoogle的演講,對MetaScrum又有了進一步的了解。原來,在Scrum的實務裡,除了用Scrum of Scrums來管理多個開發團隊以外,還有一招MetaScrum,可以讓不同部門的主管定期「踹共」,把跨部門的需求一次談清楚。
根據Jeff Sutherland的見解,Scrum團隊裡面最關鍵的人就是Product Owner(簡稱PO),在Sutherland自己的公司,PO每周定期和業務、行銷、開發、服務等等部門的主管開會,報告這一周團隊交付了什麼,下周準備交付什麼、這一周以來有沒有遇到什麼問題。看起來很熟悉嗎?沒錯,這三個問題和Daily Scrum非常類似,不同的是,這場會是事由PO報告,讓利害關係人之間同步整個公司每個專案的最新狀態,因為會議上公司重要的主管都在場,因此只要是產品面的重大議題、資源調度、發布時程調整這類的重大決定,在這場Open Space的會議上就可以決定。換句話說,一天之內重要決策所需要的溝通就跑完了,不必事先寫簽呈,快又有效[1]
另外,對敏捷開發有興趣的人,對Jeff Sutherland應該不陌生。Sutherland是不折不扣的「π型人」[2] 早年念的是軍校,越戰期間當飛官,出過100多次任務,經過11年的軍旅生涯後,Sutherland到醫學院進修,還拿到博士學位,後來他投入資訊科技產業,從竹内弘高(Hirotaka Takeuchi)和野中郁次郎(Ikujiro Nonaka)一篇文章的啟發,在OOPSLA'95大會上,和Ken Schwaber一起提出在資訊業用Scrum的做法,2001年的敏捷軟體宣言(Agile Manifesto)中,Jeff Sutherland也是17位起草人之一。


相關文章:Scrum的起源--The New New Product Development Game


[1] Jeff Sutherland的知名演講 Agile Project Management: Lessons from Google,請參考http://www.infoq.com/presentations/Agile-Management-Google-Jeff-Sutherland
[2]π型人是趨勢大師大前研一的說法,用來形容除了本業以外,還具備其他專長的人。



2014年4月6日 星期日

Scrum的起源--The New New Product Development Game

徐柏峰



新產品開發的遊戲規則正在改變,很多公司已經發現,要在當今的競爭市場上出線,除了提供高品質、低成本和差異性這些「基本要求」,還要具備速度以及彈性像橄欖球賽一般的途徑以整隊為單位透過來回傳接,試著在場上攻城掠地更適合當今的競爭性需求

這段文字摘自19861月份的《哈佛商業評論》(Harvard Business Review)的一篇專文,題目叫做「新新產品開發遊戲」(The New New Product Development Game),這是當年全球製造業大廠運作的心得,也是後來軟體業敏捷開發Scrum方法的起源。
當時任教於日本一橋大學(Hitotsubashi University)的竹内弘高(Hirotaka Takeuchi)和野中郁次郎(Ikujiro Nonaka)兩位教授,走訪當時美日兩國製造業大廠後,發現在當時的環境下,製造業大廠每年收益中,越來越多的比重來自新開發的產品,為了在市場競爭中勝出,這些公司把傳統的瀑布式開發流程先放一邊,改用又快有彈性的方法發展新產品專案,竹内弘高和野中郁次郎借用英式橄欖球(Rugby)的術語,把這個現象比喻為「用正集團推進」(Moving the Scrum Down-field),這是Scrum這個字第1次用來描述專案管理或產品開發。看過英式橄欖球的朋友應該知道,Scrum是比賽暫停或有一方輕微犯規後的爭球方式,雙方各派出8名球員,互搭肩膀組成4313排人牆,等裁判下達指令後,雙方人牆頭肩相頂,由其中一方的球員找機會把球投入對峙人牆中,幫隊友爭取持球前進的機會。透過Scrum爭球時,場上情勢瞬息萬變,雙方隊員要隨時因應變更,才能掌握到優勢。或許也因為這樣,Jeff Sutherland和Ken Schwaber當年才會把體悟出來的軟體開發新方法,命名為Scrum Framework。
有趣的是,當年竹内弘高和野中郁次郎所說的「新新產品開發遊戲」,在製造業沒有激盪出什麼光與熱,兩位學者歸納出的6點新遊戲規則,後來在軟體業敏捷開發法興起之後,反而成為專案的共同特點了。
特點1,既有不穩定性(Built-in instability)
因為是開發全新的產品,管理高層也沒有經驗,因此只會指示大方向、大目標,就啟動開發專案。
特點2,自我管理的專案團隊(Self-organizing project teams)
因為是開發新產品,既有資訊非常少,公司派出跨部門菁英團隊,像他們像新創公司一樣運作,開發過程中公司打開荷包閉上嘴巴,讓團隊自我管理,自我超越。
特點3:開發階段重疊(Overlapping development phases)
新產品發展的各個階段,不再像過去一樣,要等上一個階段結束,才到下一個階段,從概念發想到生產之間,跨部門的團隊成員編在同一隊,把原本要一關過完才到下一關的開發流程,改成重疊的流程。流程中的每個階段,不同部門的成員投入專案的時間稍有不同。例如,研發的人幾乎從頭到尾都在專案內,但生產部門的人比較後期才會加入。
特點4,多重學習(Multilearning)
強調知識就是力量,不論是在個人、群體還是整個公司的層次,都鼓勵不斷吸收新知,累積本業和跨業的知識。
特點5,睿智控管(Subtle Control)
建立團體責任感,強調自我控制(self-control),方法是同儕控制,以及透過團體關心力量。
特點6,組織化移轉學習成果(Organizational transfer of learning)
新產品開發交付後,把專案團隊成員獲得的新知識技能,轉移給公司其他同仁。例如,用滲透(osmosis)的方法,指派前一案的重要成員,接著參與後續的新案,或是把前案開發期間採用的實務,轉變成公司的標準做法。

相關文章:MetaScrum,跨部門溝通踹共

(作者為敏捷教練、全球首批敏捷專案管理師PMI-ACP®、台灣、中國兩地首位專案風險管理師PMI-RMP®)