摘要:敏捷過程管理是產品經理,研發團隊以及與產品相關的干係人圍繞業務價值交付進行的軟件研發過程,包括價值流和儀式活動兩個部分,要求上述人員建立以儘早和持續的交付價值的軟件爲目標, 通過高效的溝通方式,高效的可視化工作流,有效的度量和快速反饋機制,實現軟件研發業務價值最大化。只是在敏捷開發過程中的需求管理,更加強調圍繞用戶故事形成一條線的端到端管理,並實現價值交付的目標。

今天談下DevOps能力成熟度模型裏面的敏捷開發管理,如果做過CMMI或敏捷項目管理的可以看到實際上在 當前DevOps成熟度模型中的敏捷開發管理還是相當粗的,而且是將軟件工程域內容和過程管理內容融合在了一起,同時也可以看到其核心還是基於scrum敏捷項目管理方法論而展開 ,只是在這個過程中更加強調了業務場景驅動和價值交付的重要性。

DevOps持續集成和交付本身就是爲了更加敏捷響應需求,快速短週期的迭代交付,因此和敏捷方法論配合是自然的事情。同時我們也可以看到要實現敏捷,需求必須細粒度化,同時需求本身需要體現業務價值,而要做到這點核心就是基於業務場景分析出來的用戶故事和用戶故事地圖。

在上篇文章我們也重點談了用戶故事地圖的作用,也進一步解釋清楚了對原來backlog清單跟蹤的改進。

而對於敏捷開發或敏捷項目管理,如果要用一句話來總結的話就是, 基於業務場景和用戶故事驅動的短週期迭代和項目團隊高效協同,以實現快速的業務價值交付 。而這個目標下我們經常談到的可視化看板,站立會議,燃盡圖等也僅僅是實現上述目標的工具。

也正是這個原因我們看到,要進入到敏捷開發過程管理, 形成基於業務場景形成具備優先級劃分的細粒度用戶故事至關重要 ,這將直接是我們後面迭代計劃安排,測試用例編寫,交付交付的基礎。

下面我們還是根據成熟度模型裏面對敏捷開發管理拆分的三個子過程域分別來談下。

1.價值交付(需求工件,需求活動)

價值交付管理包括了需求工件和需求活動兩個部分內容,體現需求管理過程中的分析,測試,驗收三個階段。價值交付管理主要體現在各個環節中實現敏捷方法探尋用戶問題和述求,業務價值,並定義有效產品功能的能力,適應需求變化的能力,快速驗證反饋的能力。

需求工件: 對需求和用例的管理,可以看到包括了需求內容,測試用例,測試用例驗證,測試用例管理,覆蓋了前面談到的需求->測試-》驗收完整線條,而裏面核心又是用戶故事。

需求活動: 包括了需求分析和需求驗收,而需求分析是將產品需求具體化,形成代辦事項列表的過程,或者說需求分析重點就是要形成用戶故事清單,而且估算故事點,評估優先級爲後面形成迭代計劃做準備。形成迭代計劃後纔可能對應到後面的驗收是多次驗收,多次交付。

對應需求工件和用戶故事的形成,思考了下,更加值得參考的做法應該是

1. 基於業務場景分析梳理業務流程,識別關鍵業務活動,並識別一級用戶故事

2. 基於識別完成的一級用戶故事來進行原型設計和開發

3. 基於原型設計再進一步的分解一級用戶故事,形成最小化用戶故事和優先級(完整用戶故事地圖)

這種方法和步驟可以更好的將業務場景和流程和我們實際的業務功能實現結合在一起,將具體實現的業務功能匹配到核心業務價值實現上。這纔是我們談到的價值交付而不是單個功能點交付。同時上面這種方法我們還看到進一步將需求分析過程和我們後續的產品規劃和迭代版本計劃過程緊密的結合在了一起,由於用戶故事具備優先級,在進行優先級分析過程中結合到迭代版本計劃安排,在故事點估算過程中分析具體的工作量,這些都爲後續的版本計劃安排和任務下達奠定了基礎。

而對於需求的管理,裏面談到的比較粗,對於需求的追蹤,需求的變更管理,需求的發佈計劃,需求的驗證等都應該屬於需求管理的範疇。只是在敏捷開發過程中的需求管理,更加強調圍繞用戶故事形成一條線的端到端管理,並實現價值交付的目標。

2.敏捷過程管理(價值流,儀式活動)

敏捷過程管理是產品經理,研發團隊以及與產品相關的干係人圍繞業務價值交付進行的軟件研發過程,包括價值流和儀式活動兩個部分,要求上述人員建立以儘早和持續的交付價值的軟件爲目標, 通過高效的溝通方式,高效的可視化工作流,有效的度量和快速反饋機制,實現軟件研發業務價值最大化。

價值流: 將軟件產品轉化爲業務價值的能力,包括按照用戶地圖按需交付可用的軟件,同時包括了交付質量管理,交付度量,和持續的價值流跟蹤。也就是說這裏面入口是用戶故事地圖,然後是可視化的交付全流程的跟蹤和反饋,其次是在整個過程中還需要圍繞價值交付建立有效的度量和評估機制。

儀式活動: 通過建立價值流動的管控機制,可視化的管理價值流程,控制流動節奏,不斷提升價值交付效率。包括各類計劃會議,評審會議等。這個可以進一步參考敏捷過程管理中的一些最佳實踐。

簡單來說敏捷過程管理核心是可視化,管控機制,度量機制,高效的協同和反饋機制建立。所有的這些機制建立都又是圍繞價值交付服務。

3.敏捷組織模式(敏捷角色,團隊結構)

敏捷組織模式是指團隊在研發過程中的角色定義,角色能力以及之間的協作,團隊結構的工作方式,團隊間的協作模式等方面的要求,主要從敏捷角色和團隊結構兩個方面進行定義。

敏捷角色: 指產品經理,敏捷教練和團隊之間的職責分工,能力提升和協助方式,角色都能夠以價值交付爲目標,持續的提升交付效率。我們來看下敏捷教練定義:

參考: http://www.woshipm.com/pmd/793824.html

敏捷教練在深刻的理解敏捷的價值觀的基礎上,同時需要具備豐富的敏捷技術實踐經驗,以及擁有基於團隊的實際情況採用合適的敏捷實踐的能力。這裏面實際包括了需求分析和拆分,用戶故事地圖,需求影響分析,故事點故事,需求優先級評估,迭代計劃安排等一系列的敏捷實踐。

產品經理是對產品的ROI負責,負責梳理產品需求,規劃產品功能列表,確定優先級,參與規劃活動,並驗證最終的交付成功。對於scrum裏面強調的product owner更加強調面向市場和客戶,只是參與而不是具體去執行敏捷開發過程中的具體事務類活動。

敏捷教練重點是引導團隊進行敏捷轉型,驅動敏捷實踐的運轉。可以全職,也可以兼職。

團隊結構: 團隊結構在研發過程中以最小化的功能團隊,以共同的價值觀,通過可視化的方式,緊密合作,實現業務價值的快速交付。團隊足夠小,其各個團隊相互獨立,能夠獨自完成交付。

對於團隊架構,實際上在devops過程實踐裏面本身是對團隊結構有要求的,而這個在傳統的敏捷方法論裏面是不涉及的。比如我們經常談到如果拆分爲兩個獨立的微服務模塊,那麼兩個模塊涉及到的前端開發,設計,數據庫人員完全是分離的,能夠實現獨立管理和協同。

相關文章