從DevOps實踐落地的角度談談“流程”和“規範"的反模式

最近在經歷的一些事情,讓我突發靈感,覺得要寫點關於DevOps體系建設過程中的“流程規範”,記錄下來。

如何解讀"流程規範"

談到DevOps落地,無一例外都會提“流程規範“,我想沒有人會反對,甚至會”不放在眼裏“,因爲概念本身沒有什麼晦澀難懂。可是一到落地,好像就是另外一番場景,“一地雞毛”,“形同虛設”,”無人問津“ ,”無人知曉“,”面子工程“等等狀況歷歷在目。

首先,很多人把“流程規範”放在一起來看待,甚至認爲是等價的,我過去也這麼理解。不過,現在我覺得需要區分來看待

  • **流程- Process: (步驟,程序,過程), **

image.png

  • 規範- specification (規格,規範,明細單,說明書;明確說明)

image.png
上面這個圖,足夠形象解釋了他們的區別,和關注的點。前者告訴了你做什麼,後者具體告訴你怎麼做。

流程雖好,爲啥不能落地

現實中, 組織會定義很多 XXXX流程 - 步驟1 ,步驟2, 步驟3 , 角色A 要負責這個,角色B要負責這個。。。,階段產出是XXX
看上去很清晰,文檔規範,可是“角色”只是個名稱,現實中卻是活生生的“人”;如果把“人”變多,就成了“衆”。

  • 衆口難調
  • 從衆心理
  • 烏合之衆
  • 衆人拾柴火焰高
  • ...

每個詞的背後,就代表瞭如何理解“衆”;對於組織的變革者,你需要理解背後代表什麼,不瞭解“衆”,不瞭解“人心”,不感同“人心”,你的流程也會難以服衆。

  • 你的流程是否合理?
  • 你的流程是否代表大多數,而不是個性化、差異化?
  • 你的流程是否具有權威性?
  • 你的流程是你拍腦門想的嗎?是看某某權威的書啓發的嗎?
  • 你的流程被挑戰時候,是否妥協了?
  • 你的流程是爲誰而設計?代表組織的利益嗎?或讓組織因此而收益嗎?
  • 你的流程目標是什麼?是爲了改進嗎?還是爲了控制約束別人,發號施令?
  • 你的流程是否大家都知道並能5秒內找到?是否只是“紅頭文件”,束之高閣?

工具的"神聖使命"

好像流程裏,很少提工具,甚至“一筆帶過”,那你的流程靠什麼落地?
哇塞,工具啊!工具無敵,工具牛逼,工具能解決一起問題。彷佛霎那間,看到了勝利的曙光~, 彷彿工具一夜之間成了“救命稻草”,“銀彈”。

image.png

”工具“突然被賦予了“神聖重任”

  • 流程落地靠“工具”了
  • 我買了你的“工具”,是不是我們流程就跑順了,就規範了
  • “工具”能不能給我出數據,能不能幫我XXXX,流程裏面提到了“工具”

image.png

工具背後的“複雜性”

提到流程背後“工具”,我必須拿出下面這張圖來說道說道

  • 如果你的團隊/組織只有10人左右,可以直接跳出這篇文章,因爲你確實不需要工具“規範”
  • 如果你的團隊規模在超過10-50人(且屬於一個團隊),定義“簡單的”規範即可,能說清楚就好;工具文檔怎麼說,按照怎麼做就好
  • 如果你的團隊規模/數量,達到百人以上,那麼你真的需要認真考慮下“工具規範”

ContinuousDeliveryToolLandscape-fullsize.jpeg
面對如此之多的各種“DevOps”工具,每個領域選一個,最起碼也有10+吧。如果工具的“規範”都沒有,“流程”怎麼可能落地?

  • 工具怎麼用?學習成本如何?
  • 怎麼命名規範一致?
  • 怎麼申請?
  • 怎麼協作?
  • 怎麼用好?
  • 怎麼採集數據?
  • 怎麼按照最佳實踐?
  • 怎麼滿足流程要求?
  • 怎麼面對個性化需求?
  • 怎麼滿足既要,又要,還要?
  • 怎麼讓工具“匹配並支持”流程

image.png
是不是很崩潰,這其實就是DevOps難以落地的其中一個原因~ “衆口難調”和 “衆望所歸”,“自動化的工具體系”是“組織”最後的救命稻草。

工具背後的“規範”

如何把“衆口難調”,變成 “說一不二,不可辯駁,被“馴化”,被“教育””,不管你是買,還是自己搞,這都是工具背後要去思考的。無非你買來的,人家幫你理清楚一些規範了,可是依然不能滿足“衆口難調”。
image.png

沒有“完美的”工具,不要指望世界上有一款工具,能滿足所有人的要求,所以“工具”要學會說不。滿足所有人,就意味着不可能“好用”,甚至會成爲“負擔”。

  • 立規矩
  • 教育用戶,引導用戶
  • 學會拒絕,不能拒絕就擺爛
  • “一味迎合”,最終會是“一地雞毛”


**持續關注我,我會分享具體關於工具的規範~ **

流程是死的,人是活的,解決什麼問題?

這裏要談談,爲什麼要有流程?

  • 具體解決某個問題?經常出問題,所有要通過流程約束?
  • 流程過時了,還要一味遵守嗎?
  • 流程不能解決問題,是不是證明原來本身就有問題?

“能夠“ 切實解決問題,爲團隊減負的流程,纔是好流程。一味不斷加碼,還不解決問題,誰會願意遵守?

反模式

  • 畫個流程圖,能滿屏各種角色,這不是流程的問題,而是組織架構的問題,大道至簡
  • 一開始設計完美的流程,就意味無法落地-流程要在試錯中不斷完善,並且與“工具規範”磨合
  • 缺少“工具規範”和最佳實踐指引,沒有“周到細緻引導”的流程,誰會遵守呢,團隊成員需要被“教育培訓強化”
  • 工具先行,靠工具來推動流程,把“工具”或者 DevOps當作“銀彈”
  • 設計流程的人,沒有深入貼近羣衆,走進羣衆,甚至不考慮落地
  • 過度迎合縱容“羣衆”,你是代表組織的,縱容迎合就是破壞自己親手製定的流程
  • 老舊的“流程”,還不捨得放棄,層層加碼,“學會做減法”

總結

最後,簡單總結,其實就是這麼幾個要素。每個要素不能自洽,或者缺失,很可能這個流程就無法落地,並深入執行。

  • What - 流程定義了做什麼
  • How - 規範定義了怎麼做
  • Who - 誰來參與
  • When - 什麼時候做
  • Why - 爲什麼要這麼做?

”流程“ 和”規範“密不可分,流程代表了組織的角色協作,”規範“指導瞭如何做的問題。

  • 沒有”流程“哪裏會有”規範“;
  • 沒有”規範“,怎麼可能促進”流程“的運轉;
  • 清晰的“工具規範”有助於平臺的建設,事半功倍
  • 流程要”簡單“,規範要”細緻且嚴格,纔會有事半功倍;否則”流程“就會成爲”一紙空文“。

image.png
關於我,一個”野生“的DevOps實踐者,不講理論,沒有認證加持, 從”實踐“中反思總結改進。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章