在中國應如何改良 Scrum 框架

2021-10-10 19:09:57 字數 4555 閱讀 5362

首先,何為改良 scrum 框架?scrum guide 開宗明義,scrum 不是乙個具體技術或流程,而是乙個可以和其他流程和技術相結合來保證專案成功的框架。因此,將 scrum 與其他技術相結合不是改良,而就是 scrum 預設的用法,就想裝修好的房子裡面,再擺上家具一樣。而所謂改良就是修改 scrum 核心框架的內容,就想打掉乙個屋子的一面牆一樣。scrum 框架的核心內容包括團隊的角色定義,時間箱,交付物和規則,下面我們就一一看看應如何改造。

在改造之前,同時也需要了解哪些框架是 scrum 的本質,因為如果修改了這些本質內容,那麼就不是改良scrum ,而是推翻 scrum 了,這就好像裝修不能打掉承重牆一樣。scrum 的三個支柱是透明,審視和適應。透明強調團隊之間通過透明來加強新人,應對變化;審視和適應是指在過程中,通過不斷審視來不斷進行適應性改善 。好了,找到了承重牆,避開它們,然後就開始幹吧!

角色定義 – manager/lead

首先,我們來看一下角色定義,scrum 當中設定了三種角色:

team 當中由參與交付的 developers、testers 等角色組成,注意這裡是沒有給 manager 和 lead 留出位置,scrum 框架當中隱含了團隊應該是自管理的要求。這其實和歐美的實際情況有關,在那裡你能看到大把的白頭髮程式設計師,而在國內,則非常稀少。

而在中國,在我幫客戶實施敏捷的過程中,發現在許多組織中由於研發團隊都很年輕,並不敢真正實施自組織,而 manager 或 lead 又沒有了位置,於是紛紛偽裝成了scrum master,然後一切照舊,而真正該做 scrum master 的人反而沒有位置了。這造成了許多scrum實施的失敗。

其實,管理人是最難的一件事情,自組織只是一種可能的管理方式,而這種管理方式恰恰是在中國現在的軟體企業裡很難成功的管理方式。因此,我認為,應該改良 scrum框架剝離自組織管理方式,而去強調 manager as coach。

「manager as coach」這一思想可以在敏捷的另乙個流派-精益(lean)當中找到,而且是lean的基礎,我覺得這種思維很可能更適合中國的現狀,因為大多數團隊中的成員都非常年輕缺乏經驗,因此,他們需要的很可能並不是自組織,而是真正能 coach 他們的 manager 或者 lead 。即使現在 manager 和 lead 還不稱職,那麼企業的重點也更可能應該是盡快提公升這些 manager 和lead 的 coach 能力,轉變他們的思想,而並不是去推行自組織。

還有一點需要注意,這裡說的manager/lead,不是只哪些只管人不幹活的,lean的思想建議,manager/lead 必須是有動手能力的領域專家,這樣才能真正能做到 coach 一線研發人員,否則就只能紙上談兵了。另外,最近在微博上的討論中,大家往往將信任和自組織畫上等號,其實,有 manger、lead 並不代表不信任,這種非黑即白的看法是錯誤的。

綜上所述,我建議,團隊在應用scrum框架時,如果認為應該採用manager as coach這種管理方式,那麼就應該在scrum框架的角色定義當中,明確加入manager/lead這個角色,也可以修改團隊(team)的定義,將manager/lead也作為團隊的一部分。

活動 - time box

scrum 框架的另乙個大問題是對架構的忽視,而在中國,現在最大的問題不是過度設計,而是設計不充分。而scrum更助長了這種輕視設計的風氣。當然,強調架構設計並不一定意味要寫很厚的架構設計文件,或者進行複雜的uml建模,如何進行架構設計,做到什麼程度,應有團隊自己決定。下面就看一下應該如何改進scrum框架:

scrum框架當中的活動有幾個:

release planning meeting 基本上是乙個目標計畫會,與架構設計無關。而在每個 sprint 的 planning meeting 上,會有兩個部分,第一部份澄清需求,第二部分進行設計,但時間太短,往往無法承載架構設計。

因此,嚴格的照搬 scrum 框架,在一些大量應用現成框架的產品開發過程中,或在乙個產品的維護階段,還可能成功。但是,對於大型複雜產品開發而言,不進行架構設計,結果基本上是災難性的。

綜上所述,建議團隊在實施 scrum 的過程中,在 release planning meeting 之後,增加乙個 release architecture design workshop 來進行架構設計,時間長度和 release planning meeting 一樣,當然,這個 workshop 和 release planning meeting 一樣,也是可選的。

交付物 - artifacts

scrum 框架中的交付物有四個:

product baclog 比較簡單,就是所有需要做的事情。這裡特意沒有明確 product backlog item 是以什麼方式定義的,以便可以整合這方面不同的實踐(如使用者故事,用例,fdd等)。

而在 spring backlog 的內容方面則有些問題,不太一致,細節就不在這裡展開了,具體大家可以去看我的部落格。我贊同最後在 release notes 當中的提法,scrum backlog 就是由本迭代希望完成的 product backlog item 組成,這些 item 可以進一步拆分成任務來追蹤。

實施 scrum 應保的態度

看到這裡,我想讀者對 scrum 框架應該有乙個初步的了解。在正式實施 scrum 框架之前,首先需要看透 scrum 框架的商業本質,對它抱乙個正確的態度。

scrum 框架其實可以被理解成是敏捷的商標,就象乙個果農要賣蘋果,賣乙個兩個那就賣了,但是如果要賣的多,那就需要有乙個商標了。scrum 框架也是一樣,許多敏捷大師都有自己的敏捷理念,很難統一,於是,大家選定了這個形而上,空空的 scrum 框架作為大家共同的商標,這樣哪個大師也不會反對。

所以,你去上一節 scrum master 的培訓,你得到了什麼?乙個證書,對 scrum 框架的基本了解和許多許多培訓師自己的敏捷實踐經驗。因此,能不能值回票價完全取決於培訓師的個人能力而已,而那張證書可以肯定一定不證明你就是乙個合格的 scrum master 了。

因此,在實施 scrum 時,不要抱過高的期望,不要期冀銀彈,而要抱著務實、開放、輕鬆的態度,根據企業的實際情況定製或擴充套件 scrum 框架。

如何在中國實施改良 scrum

改良 scrum 框架根據中國的實際情況已經強化了管理者的作用,強化了架構的作用,但是在中國實施改良 scrum框架還是會經常遇到一些阻礙,針對這些障礙,則必須克服才能取得成功:

1. 職能性組織、模組組織

由於實施 cmmi 的影響、團隊年輕、人員流動等各種原因,許多企業都慢慢轉向用職能性組織(如開發部,測試部,架構設計部,需求分析部,或者,如前端開發組,應用伺服器組等等),實施改良 scrum 框架,可以暫不改變現有的職能性管理架構,但必須要求 scrum 團隊的成員是跨職能、跨模組的,而且是在一起辦公的,這個要求不可妥協。

2. 客戶的參與信任關係的建立

在國內,有時客戶不太願意參與到 scrum 過程中,參與了有時還不太適應他們手中排優先順序的權利,這個可以慢慢培養,但是,必須要求客戶和開發團隊一起辦公,共同參與 scrum 過程,這樣才能逐步建立起互信的關係。這在軟體開發當中非常重要,因為,所有估算方式都只是一種拍腦袋的方式而已,只有讓和客戶建立起較強的互信關係,才能共同面對不斷變化的開發交付過程,而沒有比一起辦公更透明的方式了。

3. 變革之心與qa的正確作用

在國內,交付壓力都非常大,要求團隊既能交付又要不斷思考可以如何優化、變革是乙個非常高的要求。我認為,這裡應該正確發揮 qa 人員的作用,qa 需要放棄那種只是簡單比對流程要求,不符合就開 nc(non-compliance)的粗暴做法,而真正做到參與到 scrum 流程當中,冷靜旁觀,不斷挑戰現狀、發現問題、和團隊一起探索解決方案。因此,在我心目中,好的 qa 其實是 scrum master 的理想人選,有了變革的驅動者,每個迭代的回歸會議才可能真正落到實處。

4. 增量交付價值

在國內,看到許多號稱做 scrum 的團隊每個 sprint 都在交付功能點,但是這些功能點並不能真正執行,這其實是偽 scrum,很可能還不如不迭代。因此,做好 scrum,就必須堅持不斷交付客戶可見的業務價值。也就是說,交付的**必須是可執行,可以給客戶演示的。對於複雜系統而言,這對劃分 backlog item 提出了很高的要求,但是,是可以解決的,本文就不在這裡展開了,未來再寫文章詳細解釋。

5. 測試的全程參與

以前看到另一種偽 scrum,號稱開發在前,測試之後乙個 sprint。這種做法其實完全破壞了 scrum 團隊,開發測試無法形成合力。因此,必須堅持 a-tdd 和驗收測試自動化,這又是乙個很大的話題。

因此,大家可以看到,scrum 雖然簡單,但是真正做好 scrum 需要在組織、人力、技術上有許多的儲備才行,所謂功夫棋外,最好,願大家掌握改良 scrum 框架的精髓,靈活應用,在實際工作取得好的效果。

中國的規模化敏捷框架adapt

在中國應如何改良Scrum框架

在我的csdn部落格 上面,我發表了乙個 為什麼純粹的scrum在中國很難落地 系列,其中通過解讀新版的scrum guide來分析如果在中國嚴格照搬scrum會遇到哪些困難,有興趣的讀者可以去看看,而在本文中將在總結scrum框架缺陷的基礎上,討論應如何改良scrum框架,以保證實施成功。首先,何...

在中國應如何改良Scrum框架

原文 在我的csdn部落格 上面,我發表了乙個 為什麼純粹的scrum在中國很難落地 系列,其中通過解讀新版的scrum guide來分析如果在中國嚴格照搬scrum會遇到哪些困難,有興趣的讀者可以去看看,而在本文中將在總結scrum框架缺陷的基礎上,討論應如何改良scrum框架,以保證實施成功。首...

在中國應如何改良Scrum框架

在我的csdn部落格 上面,我發表了乙個 為什麼純粹的scrum在中國很難落地 系列,其中通過解讀新版的scrum guide來分析如果在中國嚴格照搬scrum會遇到哪些困難,有興趣的讀者可以去看看,而在本文中將在總結scrum框架缺陷的基礎上,討論應如何改良scrum框架,以保證實施成功。首先,何...