每本書都有自己的使命。這本書的英文名叫《Scrum: the art of doing twice the work in half the time》,意思就是,Scrum,事半功倍的藝術。他還有一個副標題:是提升個人創造力與企業效率的全新協作模式。所以這本書的使命是:給我們提供了一種提升工作效率的方法,通過團隊的高透明度和密切的協同作業,實現工作效率的提升。這套敏捷管理法也被譽為管理學中的諾貝爾獎的管理方法。
本書作為Scrum的入門,不失為一本好書,可以讓你從Scrum的創始人的角度學習Scrum框架,包括Scrum、過程、活動、透明性等的由來。
第一章 世界的運作方式已經打破
規劃是有用的,而盲目遵循規劃則是愚蠢的。繪制無窮無盡的圖表,的確具有很大的誘惑力。一個大項目中所有需要做的工作都可以逐一列出來,供人審視,但當詳細的規劃與現實相遇時,它們往往會失敗。你要在自己的工作方法中假定會出現變化,要注意發現,注重新理念。
檢查與調整。每過一小段時間就停一停手頭的工作,檢查一下已經完成了哪些任務,看看這些任務是不是自己應該做的,看看有沒有更好的方法。
要么改變,要么倒閉。固守老派的工作方式、過于注重“命令與控制”、刻意追求可預測性,注定會導致失敗。同時,那些愿意實現自我變革的競爭對手會把你遠遠地甩在后面。
失敗得快,才能迅速改正。公司文化往往更加注重形式、程序和會議,而不是在短期內創造出可供用戶檢驗的價值。無法創造價值的工作是瘋狂的愚蠢之舉。把項目分解為多個小循環,可以讓早期用戶及時提供反饋,你就能立即避免浪費精力。
第二章 Scrum的由來
遲疑是致命的。觀察、導向、決定、行動。了解身處何地,評估備選方案,做出決定,然后行動!
根據外部環境尋找答案。從外部尋找解決方案。復雜的自適應系統都遵循少數幾個簡單的法則,而這些法則是自適應系統根據周圍環境學到的。
出色的團隊。多功能,有自主權,得到授權,有崇高目標。
不要猜測,要規劃、執行、檢查、行動。先規劃要做什么,然后執行。檢查成果是否符合預期,然后根據檢查結果調整做法。重復這種循環,就能實現持續改善。
守破離。先學習規則和形式,掌握之后再進行創新。最后,在特別熟練的狀態下,就可以擺脫形式的束縛,隨性發揮,因為一切知識都已爛熟于心,幾乎可以在下意識的狀態下做出決定。
第三章 聚焦團隊,而非個人
拉對控制桿。提升團隊業績。這比提升個人業績的影響大得多,會超出后者幾個量級。
超越個體。卓越團隊的目標都超越了個體的目標,比如在麥克阿瑟將軍的葬禮上為他送行以及贏得NBA(美國職業籃球聯賽)冠軍。
自主決策。賦予團隊自主決定如何做事的自由,尊重他們,讓他們自由發揮專長。無論是報道中東亂局的團隊,還是銷售團隊,現場應變能力都非常重要。
多功能。無論是推銷Salesforce.com的軟件,還是抓捕伊拉克的恐怖分子,一個團隊都必須擁有完成一個項目所需的全部技能。
團隊小而精。船小好掉頭。以經驗法則來說,團隊最佳規模維持在7人左右,可以多兩人,也可以少兩人。宜少不宜多。
指責他人是愚蠢之舉。不要一味地尋找“壞人”,而要找出“壞制度”,即那些激勵不良行為、獎勵拙劣業績的制度。
第四章 以周期性的視角看待時間
時間有限,且行且珍惜。把你的工作分解開,看看自己在一個固定的、短暫的時間段內能完成多少工作量。最好以1~4周為一個周期。如果喜歡Scrum,不妨稱之為“沖刺”。
不展示成果,就沒有效果。在每個沖刺周期結束之際,要有點成果,這些成果要能派得上用場(比如能飛起來,或者能行駛,等等)。
扔掉名片。頭銜標志著你的專業地位。要讓別人知道你做了什么事情,而不是你被稱作什么。
讓每個人知悉一切。提高溝通飽和度,有助于加快工作進度。
每日立會。整個團隊的人都要到場,一天一次就夠了。時間不要超過15分鐘,看看如何才能加快工作進度,然后就付諸實踐。
第五章 浪費是一種犯罪
同時執行多項任務會讓你變愚蠢。如果同時執行兩項或更多任務,那么這些任務都會完成得更慢、更糟糕。不要這么做。如果你覺得自己是特例,那么你錯了——這條規則肯定適用于你。
半途而廢等于沒做。一輛半成品的汽車只是消耗了原本可以用來創造價值或節約資金的資源而已。任何在制品都是一樣,只會消耗資金和能源,而不會產生任何有價值的成果。
一次性把事情做好。犯錯的時候,要立即糾正。停下其他所有事情,集中精力糾正錯誤。如果留到以后再糾正,你就會多付出20多倍的時間。
工時越長,效率越低。工作太努力不會讓你做完更多的事,反而讓你做得更少,讓你疲憊不堪,從而導致失誤,迫使你必須改進自己剛剛完成的工作。不要工作到太晚,周末也不要加班,要讓自己的工作節奏具有可持續性。要記得休假。
避免不合理現象。富有挑戰性的目標可以起到激勵的作用,不可能實現的目標只會讓人沮喪。
不要依賴“英雄”。如果你需要一個“英雄”去完成工作,那就說明你的管理方式有問題。“英雄”應該被視為規劃的失敗。
消除愚蠢的規定。任何看似荒謬的規定都可能是愚蠢的。表格、會議、審批以及標準,等等,都是那么愚蠢!如果你的辦公室存在類似于漫畫《呆伯特》描述的情景,就糾正過來。
將令人生厭者踢出團隊。不要成為這類人,也不要縱容這類行為。任何一個人,如果引起情緒混亂,讓別人感到恐懼或害怕,貶低或蔑視他人,都應該被清理出團隊。
努力讓工作流暢起來。選擇流暢性最強、麻煩最少的方式做事情。Scrum就是要盡量幫助你實現這樣的流暢性。
第六章 務實規劃,拒絕空想
地圖不是真實地貌。不要愛上自己的規劃。幾乎可以肯定地說,規劃都存在錯誤之處。
僅僅規劃你需要做的事情。不要試圖規劃幾年后的事情。只要讓自己的團隊保持忙碌就足夠了。
待辦事項的難度相當于多少“犬點”?不要用時間之類的絕對尺度去做評估。事實表明,人類在這方面的能力很糟糕。只要評估相對難度就行了,看看一個待辦事項相當于多少“犬點”?相當于哪個型號的T恤衫(小號、中號、大號、超大號、特大號)?或者采用更加常見的方法,用斐波那契數列去做評估。
匿名征求意見。運用德爾菲法等匿名方法征求意見,以避免從眾效應和光環效應,防止人們相互參照,防止出現群體思維。
使用計劃撲克。使用計劃撲克去快速評估需要完成的工作。
學會寫“用戶故事”。先思考一下哪些客戶會從終端產品中得到價值,再思考一下究竟要為用戶提供什么價值,以及用戶為什么會需要這些價值。人類習慣于按照敘事方式去組織自己的思維,因此,面對一個待辦事項,要學會寫用戶故事,比如作為X,我想要Y,所以Z。
知道自己的速度。每個團隊都應該準確知道自己在每個沖刺階段中完成了多少工作,并且應該知道如何以更加聰明的方法去消除障礙,加快工作速度。
速度×時間=交付工作量。知道自己的工作速度之后,就能計算出交付日期。
大膽制定目標。運用Scrum方法,要讓產量翻一倍或者將交付時間縮短一半,并不是什么難事。如果你的做事方式正確,你的營業收入和股價也會翻一倍。
第七章 把快樂轉化為更高的績效
精彩在于過程,而非終點。真正的快樂在于過程,而非結果。通常我們只獎勵結果,但我們真正要獎勵的是人們努力奮斗的過程。
快樂是王道。快樂的人可以做出更明智的決策,更有創造性,跳槽可能性更低,而且更容易取得出人意料的成績。
量化快樂。僅僅感覺好是不夠的。你要對其進行量化,并將其轉化為切切實實的業績。其他指標衡量的是歷史情況,而快樂有助于幫你預測未來。
每天進步一點點,并加以衡量。在每個沖刺階段結束時,團隊應該找出一個有待改善的地方,在下一個沖刺階段將其作為最重要的事項予以解決,每天都進步一點點,從而使團隊成員更快樂。
保密是毒藥。團隊運作不應該有秘密。每個人都應該知道一切,包括薪水和財務信息。只有那些想著謀求私利的人才會格外重視保密。
工作要透明化。在辦公室擺一張白板,上面列明所有的待辦事項、在辦事項以及已完成事項。每個人都應該去看,也應該每天更新。
自主感、掌控感和目標感會讓人感到快樂。每個人都想掌控自己的命運,都想更好地完成工作,并追求一個高尚的目標。
刺破快樂泡沫。不要快樂過頭,以至于開始相信自己的謊言。一定要將你的快樂與業績做對比。如果存在脫節,就要準備采取行動了。志得意滿、不思進取是成功的敵人。
第八章 找到最有價值的20%
擬定待辦事項清單,檢查兩遍。先列出一個項目中可能涉及的所有事項,然后確定優先順序,把價值最高、風險最低的事項置于最優先的位置,然后依次往下列。
產品負責人。產品負責人的職責是把美好的愿景轉變成待辦事項清單。他必須懂項目,懂市場,懂顧客。
領導者不是上司。產品負責人明確要做哪些事,以及為什么要做。至于如何落實以及讓誰落實,則交給團隊成員決定。
觀察—導向—決定—行動。戰略上著眼于全局,策略上迅速行動。
恐懼、不確定性及疑惑。主動出擊勝過被動挨打。了解競爭對手的“觀察—導向—決定—行動”循環,當他們陷入疑惑之際將其打敗。
花冤枉錢與免費變更需求。如果你發現某個新的待辦事項有價值,那就做吧。要做好心理準備,你很可能需要變更既定的待辦事項,如果有必要,就刪掉一個需要耗費同等精力的既定待辦事項,用新的待辦事項取而代之。有些事項,你一開始覺得有必要,實際上可能并非如此。
附錄Scrum實踐步驟
現在,你已經讀完了這本書,下面我簡要介紹一下如何用Scrum方法啟動一個項目。這里的描述雖然比較寬泛,但應該能夠為你啟動項目提供足夠的指導。本書前面的部分詳細講述了Scrum背后的來龍去脈,這里將簡要介紹如何實施。
1.挑選一位產品負責人。這個人必須知道自己帶領的團隊需要做什么、制造什么產品以及取得什么成果,必須全面考慮到風險與回報、什么具有可行性、什么能做以及他們對什么富有熱情。(參見第八章)
2.挑選一個團隊。真正做事的是誰?這個團隊必須能夠落實產品負責人的愿景。團隊規模宜小不宜大,一般3~9人較為合適。(參見第三章)
3.挑選Scrum主管。主管為Scrum過程負責,負責培訓團隊其他成員,確保Scrum得到正確運用,幫助團隊消除一切障礙。(參見第四章)
4.擬定待辦事項清單,并確定優先順序。這個清單高屋建瓴地列出為了落實產品負責人的愿景而需要完成的所有事項。在產品的整個研發過程中,這個清單一直存在,并有所演變,相當于產品研發的“路線圖”。無論在任何時間,要想知道一個團隊要做的所有事項(按照優先順序排列),待辦事項清單都是唯一具有決定性的參考依據。待辦事項清單只有一份,意味著產品負責人從頭到尾必須不斷地對優先順序加以調整。產品負責人應該與所有利益相關者和團隊進行協商,以確保產品待辦事項清單既能反映用戶的需求,又不會超出團隊的能力范圍。(參見第八章)
5.改進和評估待辦事項清單。讓負責實際開發工作的團隊對待辦事項做出評估,是一個至關重要的環節。團隊應該審視每個事項,看看是否切實可行。但要完成這些事項,現有的信息足夠嗎?該項目是否細分到了可以評估的程度?團隊是否具有了每個成員都能接受、用于評定一個事項已完成的標準?一個事項能否帶來顯著的價值?各個事項在完成后必須產生能夠用來展示的成果,如果這個成果能交付給客戶試用會更好。不要用所需小時數去評估,因為人們根本不擅長做出這么精確的評估。要用相對難度去評估,比如,難度是小、中或大。更好的方式是采用斐波那契數列的數字(1,2,3,5,8,13,21……)。(參見第六章)
6.沖刺規劃會。這是第一場Scrum會議。團隊成員、Scrum主管以及產品負責人坐到一起,規劃沖刺的內容。沖刺周期一般是固定的,不超過一個月,大部分是一至兩周。團隊要從待辦事項清單的頂端著手(即從最重要的事項著手),看看一個沖刺階段中能完成多少。如果團隊已經開展過好幾個沖刺,那就記錄下每一個沖刺完成的事項的“點數”。這個數字相當于團隊的速度。Scrum主管與團隊成員應努力在每一個沖刺階段中提高這個數字。團隊成員和產品負責人也可以借助“點數”確保每個人都能了解待辦事項對于落實最終愿景的作用。對于沖刺目標,即在這一沖刺階段完成哪些事項,所有人都應該形成共識。
Scrum的基石之一在于,產品負責人告訴開發團隊他需要完成產品訂單中的哪些訂單項。開發團隊決定在下一次沖刺中他們能夠承諾完成多少訂單項。在沖刺的過程中,沒有人能夠變更沖刺內容。團隊必須在沖刺階段自主工作。(參見第四章和第六章)
7.工作透明化。在Scrum中,最常見的做法是準備一塊白板,上面分成三欄:待辦事項、在辦事項、完成事項。把待辦事項寫到便箋紙上,隨著進度的推進,將相應的便箋紙轉移到其他欄目。讓工作透明化的另一個工具是燃盡圖。在這張圖中,一個軸代表工作量,另一個軸代表時間。每天,Scrum主管都會記錄待完成的剩余點數,而后畫在燃盡圖上。理想情況下,該圖是一條向下的曲線,隨著剩余工作的完成,“燃盡”至零。(參見第七章)
8.每日立會。這是Scrum的活力源泉。團隊每天在固定時間進行內部溝通,時間一般不超過15分鐘,且站立進行,Scrum主管向團隊成員提出下列問題:
(1)你昨天做了什么去幫助團隊完成沖刺?
(2)今天你打算做什么來幫助團隊完成沖刺?
(3)什么因素阻礙了團隊的前進之路?
Scrum主管要問的問題就是這么多!整個會議的內容就是這么多!如果會議時間超過15分鐘,那就說明開會的方法存在問題。這樣做的意義在于讓整個團隊清楚地知道在這一個沖刺周期內各項任務的進展。所有任務都能按時完成嗎?有沒有機會幫助其他團隊成員克服障礙?團隊的任務都不是自上而下分派的,而是自主決定、自主完成的,也不需要向上司做詳細的匯報。Scrum主管負責消除團隊面臨的障礙。(參見第四章與第六章)
9.沖刺評估或沖刺展示。在沖刺結束前,給產品負責人展示成果,也就是展示哪些事項可以挪到“完成事項”那一欄,并接受評價。這是一場公開的會議,任何人都可以是參與者,不僅僅包括產品負責人、Scrum主管及開發團隊,還包括利益相關者、管理人員與客戶。
團隊應該只展示那些符合“完成定義”的事項,也就是全部完成,不需要再做工作就能交付的成果。這個成果或許不是完整的產品,但至少是一項完整的、可以使用的功能。(參見第四章)
10.沖刺回顧。團隊展示之前沖刺中創造的成果,也就是展示已完成的事項,看看可以為顧客傳遞哪些價值,并征求反饋意見,大家就會坐下來想想哪些事執行得很順利,哪些事應該做得更好,以及在下一個沖刺階段中可以做出什么改善。
那么,如何發現流程中的哪個環節需要改善呢?要讓這個沖刺回顧過程有效,團隊需要相互信任。必須記住關鍵的一點,即大家不要從團隊中找一個人當成責備的對象,而是要將注意力集中在流程上,認真分析以下幾個問題:為什么會發生那件事?為什么我們當時忽略了?怎樣才能加快工作進度?
作為一個團隊,大家要對自己的流程和結果負責,要集思廣益,共同尋求問題解決之道。這一點是至關重要的。與此同時,團隊必須有勇氣把真正的障礙擺到臺面上來,這樣做是為了解決問題,而不是為了指責某個成員。團隊成員必須能認真探討問題,并虛心接受他人反饋的意見和建議,以便尋求問題解決之道,而非只想著為自己辯解。
然后就進入了關鍵環節。團隊確定一個最值得改善的地方,將其設定為下一個沖刺階段的首要任務,當然,改善的結果必須通過“驗收測試”。你如何證明自己成功地完成了改善?你需要用具體的、可操作的方式界定什么是“成功”,這樣,在下一個沖刺回顧會議中才能很快判斷出是否已完成改善。(參見第七章)
11.上一個沖刺階段結束之后,立即開始新的沖刺階段。利用在之前的沖刺過程中,團隊在消除障礙、改善流程方面積累的經驗。