DevOps 自 2009 年誕生以來,至今整整過去了十年,從最初的摸索,逐漸變成一種主流的軟體開發傳遞模式。BAT在2014年左右,甚至更早的時候,内部的DevOps系統就已經差不多成型了,比如騰訊的織雲、藍鲸,阿裡的AOne,百度的效率雲等。在DevOps的研發過程中,好的看闆功能有助于優化項目管理、提升開發效率,是較重要的功能之一。本文從需求分析角度入手,分析DevOps産品對看闆的需求,并結合
CORNERSTONE一站式雲端DevOps平台看闆部分的實際開發經驗和使用者回報向大家介紹DevOps看闆的設計實踐之路。
一.DevOps需要的看闆
看闆是DevOps較為常用的功能,整個項目開發周期都離不開它,從需求劃分、任務配置設定、功能實作到測試上線都需要看闆的協助,看闆使抽象工作流程可視化,讓項目管理者能更清晰的掌握項目進度。由此,看闆設計實踐就成為了DevOps實踐的重要内容之一。首先我們需要了解一下,DevOps中的看闆需要具備怎樣的功能:
1.價值流
廣義的價值流指的是從原材料變為成品、并給他賦予價值的全部活動。包括原材料的擷取,對原材料進行加工後轉變為成品傳遞給客戶的過程,其中還包括了各個階段各方之間的溝通形成的資訊流也是價值流的一部分。完整的價值流包括供應鍊成員之間的溝通,物料的運輸,生産計劃的制定和産品的生産過程等。

舉個簡單的例子,服裝加工廠要按照客戶要求生産一批服裝,生産方首先需要和客戶确定衣服的款式,用料,具體尺碼資訊,然後采購制衣所需的布料,将衣服制作圖紙下發到相關勞工手中,勞工按圖制衣,完成既定數量的通過品質檢測的成衣後将成品送到客戶手中,這就是一條完整的價值流。
DevOps中的價值流
在DevOps中,價值流的概念同樣适用。定義:把業務構想轉化為客戶傳遞價值的、由技術驅動的服務所需的流程。
價值流貫穿了整個開發周期,好的價值流在保證快速的傳遞的同時還能保證部署工作不會産生混亂和破壞。隻有打通業務、開發運維等一些列的價值鍊條,保證價值可以完整暢通的流動,減少積壓重組,才能保證産品的順利傳遞。在此前提下,提高開發效率實作靈活開發才是可能的。但是技術價值流與制造業的價值流不同,它是不可見的,是以我們很難發現整個價值流是否順暢,在哪裡産生了阻礙積壓。是以我們需要将價值流可視化,清晰的把價值流的呈現出來,這樣價值流是否完整,哪裡存在缺失就一目了然了。
二.DevOps的三步工作法基礎原則
《鳳凰項目》一書把三步工作法作為基礎原則并由此衍生了DevOps的行為和模式:
(1)開發到運維的工作快速的從右向左的流動------流動原則
在保證品質的前提下加快價值流的流動速度,盡可能的優化工作流,減小流動單元合理控制流量,減少等待時間,提高工作效率,可以歸結為以下幾點:
使工作可見
合理控制最流動單元
減少交接次數
消除阻礙價值流的問題
(2)從右向左的每一個階段中,應用持續、快速的工作回報機制------回報原則
回報原則是在流動原則的基礎上建立的一條資訊流,價值流上的各個環節通過這條資訊流溝通,好的資訊流有助于及時發現并解決問題,從中分析并總結經驗可以提升項目開發效率。
(3)建立具有創意和高可信度的企業文化,支援動态的、嚴格的、科學的實驗——持續學習與實驗原則:他打造出一種高度信任的文化和一種科學的工作方式
常見的項目中每天的站會、每周的周會一般是項目成員集中在一起交流并互相學習的機會,大家對工作作出自我總結并提出自己的想法互相交流意見,實作工作中的自我提升。
看闆在DevOps中主要作為價值流的載體的一部分,使價值流中一些較為抽象的資訊可視,并讓使用者可以從中看清楚價值流的流通情況、每一個環節及環節的具體操作情況,何處需要改進、何處存在問題。三步工作法則可以幫助提升工作效率。結合對價值流的概念以及三步工作法原則的分析,看闆需要具備以下功能:
(1)清晰描述最小工作項單元及工作項間的關系
(2)提供便捷的小組成員互相溝通方式
(3)快速直接的回報某工作項的各種情況
(4)一目了然的任務完配置設定內建情況,友善開會總結
三.看闆實踐及優化
首先是工作的最小單元——工作項,工作項是看闆上各類工作内容的最小顯示單元,負責顯示工作内容的各種資訊,一些類似的工作項管理看闆對工作項類型進行了極為細緻的劃分,但過于繁雜的工作項類型難于記憶并且存在概念重複反而不利于,結合實際項目開發情況我們将工作項類型分為三類:
(1)故事——一個故事代表一個完整的需求點,可以包含多個任務、bug,一 個故事及其包含的所有子項目可以完整的诠釋一個需求點在價值流上流通的全過程
(2)任務——将故事拆分為一個個的具體工作内容,配置設定到具體人員
(3)Bug——測試人員向開發人員、項目管理人員提出回報的途徑
工作項的要展示很多的具體資訊:
(1)描述資訊(标題、描述、附件、COMMENTS、所屬疊代、所屬版本)
COMMENTS是提供給開發人員的交流空間,讓開發人員可以在這裡進行簡短的意見交流,一些較小、内容簡短的讨論可以在這裡進行,無需所有相關人員聚集在一起讨論節約時間
(2)狀态資訊(工作項狀态、優先級)
(3)人員資訊(責任人、建立人、解決人)
明确工作項的相關人員,責任劃分明确。
(4)時間資訊(建立時間、預估時間、耗費時間、到期時間)
提供明确的時間資訊,有利于項目管理者控制項目開發進度
(5)關聯的工作項(子任務、BUG)
将有關的工作項關聯到一起,完整描述産品中某一項功能,從需求分析到開發實作到測試回報的全過程
工作項設計完成後需要考慮的就是如何一個個的工作項集中在一起展示,考慮到DevOps的使用者有很多不同的角色,對看闆的關注角度也不同,例如項目經理更希望可以一目了然的看到任務的完成情況,開發人員需更關注的是配置設定給自己的工作項的具體的内容,
提供【表格、分欄、看闆、甘特圖、月曆、統計、周彙總、分類導圖】八種視圖,友善企業成員通過多種角度檢視項目,全方位了解項目狀況。
(1)表格視圖
資訊以清單形式呈現,可拖動檢視所有字段下的内容,友善概覽任務情況。
(2)分欄視圖
分欄視圖可幫助團隊成員更快的找到他所需要的資訊;
(3)看闆視圖
看闆視圖可更直覺的顯示每種狀态下的任務情況,友善團隊成員及時更改任務内容;
(4)甘特圖 推薦
的甘特圖功能可友善管理者弄清項目的剩餘時間,評估工作進度,調整工作任務,更好地把握項目的整體。
(5)月曆
的月曆視圖是基于時間,讓項目更加易于了解的管理工具。
(6)統計視圖
提供報表和統計圖,可檢視團隊總體任務狀态,也可檢視團隊成員個人工作貢獻,便于把控總體項目程序。
(7)周彙總
的周彙總視圖可直接提取項目中各項任務的完成情況和相應名額,自動生成簡潔的分析報告。
(8)分類導圖
的分類導圖其實就是思維導圖,它有一個中心主題,由中心主題發散出不同的關節點,每個關節點又可以獨立成為一個分支的中心主題,整個圖形呈現出放射性立體結構,這種結構更友善記性和理清思緒。
以上就是
一站式雲端DevOps平台看闆子產品的設計和實踐曆程,在價值流可視化和項目成員溝通等方面我們仍在持續改進,希望能打造出更便捷、更清晰的看闆,完善DevOps平台看闆子產品。最後,回到DevOps的理念上,DevOps并不是專門稱呼一項技術,也不是一套流程和方法論,更不是一套簡單的工具産品,越來越多的迹象表明,DevOps是一種文化,這種文化崇尚的是以客戶價值為根本導向讓IT可以變得更靈活更精益。