1. 程式人生 > >有趣的DevOps,記鳳凰專案沙盤演練

有趣的DevOps,記鳳凰專案沙盤演練

本文轉自公眾號:曈伴兒

關注公眾號的朋友,或許已經看過前幾篇翻譯的關於DevOps的文章,這段時間我確實一直在通過各種渠道學習DevOps。恰好前段時間去北京,非常幸運地參加了公司組織的鳳凰專案的的沙盤演練,近距離地感受DevOps的理念,體會精益文化。

沙盤演練(simulation game),又叫沙盤模擬培訓、沙盤推演,源自西方軍事上的戰爭沙盤模擬推演,是通過引領學員進入一個模擬的競爭性行業,由學員分組建立若干模擬公司,圍繞形象直觀的沙盤教具,實戰演練模擬企業的經營管理與市場競爭,感悟經營決策真諦。

鳳凰專案沙盤演練是以《鳳凰專案》小說為背景進行模擬,通過扮演小說中各種角色,運用DevOps的理念,模擬再現小說中的場景,挽救瀕臨破產的無極限零部件公司。這是我第一次參加沙盤演練的培訓形式,對培訓形式本身來說,就像英文名字一樣,的確是一場有趣的遊戲,但從培訓的內容來說,她帶來的不僅僅是有趣。參加沙盤差不多也有一個月了,回頭看看,總結一下培訓的感受是非常有必要的。

感受主要有以下幾點:

1、角色職責,正確理解

演練前,每人選擇一個角色,有CTO/CISO/Test team/IT Support等,我選擇了Test team,雖然已經看過小說,但其實並未真正做過測試工作。演練第一輪開始,大家躍躍欲試,急於提升“公司股價”,卻又不知該如何下手,於是圍成幾堆,在一起嘰嘰喳喳地討論不休。作為Test team中的一員,我轉轉悠悠,這裡瞅瞅,那裡看看,不知道能做些什麼,甚至以為就是在最後檢查大家的工作。就從我自身的狀態,也可以想見,這一輪並沒有完成什麼實質性的工作,果不其然,在第一輪遊戲結束後,公司的股價急劇下跌。

第一輪中,我範了一個嚴重的失誤,就是沒有搞清楚自己的角色職責是什麼,存在的價值在哪兒或者說能創造什麼價值?實際演練中,伴隨著角色名稱,還有一張關於角色職責的說明書,而在第一輪中,並沒有一個人想要仔細研究一下,每個角色具體的職責要求是什麼。公司經營實現利潤,整個價值流中每個崗位,每個角色都有其恰當的位置,或許可以缺少某一個人,但卻不能缺少這樣的職責。舉個最簡單的例子,公司的總經理可以由不同的人擔任,但一個公司卻不能沒有總經理這個角色。實際工作中,這種情況並不少見,以自己為例,從事一份新的工作之前,很少去了解一下,我所擔任的角色存在的價值在哪兒,為什麼要有這樣一個角色,具體的職責到底是什麼。反而會說,“以前就是這樣做的”,常常用經驗主義來檢驗實際工作,不能快速地理解並進入角色,延緩了角色崗位帶來的價值。

2、利用工具,提升效率

第一輪熱熱鬧鬧地結束後,公司不僅沒有起色,反而岌岌可危。第二輪開始了,這一輪情況更多,不斷爆發出的緊急事件,一個接著一個,形勢有點鬧人。CEO召集緊急會議,不斷提醒利用工具,於是,“大看板”終於請了出來。

看板僅僅是演練中利用的工具,實際工作中還會用到的工具還會更多,有有助於技術實現的,有有助於提升管理效率的,看板就屬於後者。與另一個詞總是同框出鏡的,就是視覺化。通過看板,通過任務的視覺化,所有人輕鬆獲取目前工作的狀態,同時,所有人都盯著同一個看板,能夠集中精力做最重要的事。

第二輪過後,發現公司股價雖然還在下跌,但相較於第一輪,下跌的速度已經明顯減緩。為什麼沒有達成事半功倍的效果呢?因為,在管理策略並不清晰的情況下,工具效率提升是很有限的。DevOps並不只是工具。

3、目標導向,價值提升

第二輪之後,利用了看板工具,雖然公司股價下跌的速率明顯減慢了很多。但是工作中,太多的緊急情況接踵而至,導致正常工作被打斷,所有人都忙著應付緊急情況,疲於奔波,似乎忘了我們的最終目標是要提升公司股價。於是在第三輪,調整策略,將一小部分精力用來挽救哪些緊急情況,另外有一大部分精力用來完成那些最賺錢的工作。

運維工作中,確實有很多緊急情況的出現,運維人員甚至一度都用“消防員”戲稱自己每天的工作。這好似一個惡性迴圈,系統越卻弱,問題越多,緊急情況也越多,更加沒有時間考慮系統優化的問題,如此往復,運維人員只能充當“消防員”的角色,哪裡有火情,第一時間趕赴火場。避免惡性迴圈的方法之一,就是在問題發生之前能夠提前主動修復,修復的問題越多,緊急情況也就越少。“工作四象限”中,也就是把更多的精力放在那些重要但不緊急的事情上,有條不紊,價值才能能到提升。

4、one piece flow

熟悉工廠生產模式的人都知道,編排一個好的生產計劃,既要求每一道工序產能利用率達到最大,又要防止產生生產堵塞,所有工作卡在一道生產工序。演練到了第三輪,發現Lean Engineer有大量的工作要處理,確苦於工作時間和精力的限制,無法全部完成,導致有些任務不得不進入等待狀態,而無法繼續進行。在這裡Lean Engineer 就稱為整個過程中的“瓶頸”,實際運維工作中,那些技術水平較高的人,會處理更多的問題,積累更多的經驗,演變至最後變成只有他們才能處理複雜的情況,而這樣的人往往也就1-2個,這時“瓶頸”出現,導致上游工作不得不停止,下游工作不得不等待Lean Engineer完成後才能繼續。

工作中,提前考慮“瓶頸”問題,減少制約,通過培訓、知識轉移,工作流程的標準化等方式,一方面減輕這些“瓶頸”的壓力,一方面可以提升團隊的整理工作能力。

5、減少轉接,提升效率

經過了三輪的演練,到了最後一輪。所有參與的人員,不僅對整個工作流程和方法有了清晰的認識,甚至發現,遇到問題,最有效的就是大家坐在一起溝通交流。有一個著名的效應叫做“溝通漏斗”,就是說, 人與人溝通時,一個人通常只能說出預想的80%,對方聽到的最多隻能是60%,聽懂的卻只有40%,執行時,只有20%了。也就是說,一個人所說的80%,對方只能執行到20%。更何況需要層層轉述呢?溝通環節越多,溝通效果也就越差。同時,溝通的人員越多,效果也會越差。在保證溝通層次減少的情況下,又要保持小而美的團隊,才能對溝通效率的提升大有裨益。

說了那麼多,其實也只是我自己的一點感受,那麼,鳳凰沙盤演練更適合哪些人蔘與:

首先,鳳凰沙盤演練是一次意識的培養,如果一家公司正在或者打算進行DevOps的推進,那麼鳳凰沙盤演練是一次全員意識提升的好機會。做顧問以來,對於推行一套工作機制,感到難度最大的還是意識的提升,思想的轉變,沙盤演練恰好提供了這麼一個機會,能夠真實地感受DevOps的理念,非常適合於公司組團參與

其次,鳳凰沙盤演練是一次普及性的培訓,從事IT運維工作的你,如果還沒有聽過DevOps,你就OUT了,可以通過沙盤演練的形式,生動形象的向你講述一下DevOps是什麼,非常適合於對DevOps一無所知的IT運維人員

最後,鳳凰沙盤演練是一次知識總結型培訓,就職於網際網路公司的你,或許公司正在或多或少地踐行一些關於DevOps的理念,卻苦於如何提升至理論高度,從而進行DevOps的推廣,非常適合於已經有一些DevOps實踐經驗,但又沒有提升至理論高度是IT運維管理人員