2017中國企業敏捷實施調查:總結與反思
在這瞬息萬變的環境里,企業的生存與發展狀況取決于其快速響應變化的能力,而敏捷運作是構建該能力的核心。
敏捷和其他創新思想一樣,需要時間傳播。全世界不少企業都已邁向敏捷的運作模式,也有很多傳統企業,還沒有嘗試敏捷,處于觀望評估的階段。從2001年公布敏捷宣言至今,經過十來年的時間,敏捷在中國可以算是已經跨越了鴻溝,逐漸成為主流。這些企業在實施敏捷的過程中獲得了明顯的改進,也遇到不少困難。
與其獨自探索,不如向行業的先行者學習。在敏捷逐漸成為主流的這十幾年間,行業也一定為后來者積累了可參考的經驗,這對于還在觀望評估的企業來說,無疑會是寶貴的財富。ThoughtWorks在2017年6月至7月期間進行了一項針對中國企業的敏捷實施調查,了解這些早期采納敏捷的企業:
- 為什么要實施敏捷?
- 面臨哪些挑戰,經歷了哪些困難?
- 采用了哪些敏捷實踐?
- 采取了哪些實施措施應對那些挑戰和困難?
希望通過這個調查的結果,能為后來者提供有價值的參考。
當前實施敏捷企業的特征
本次調查的范圍主要是敏捷在中國的早期實施者。調查參與者總共229名。調查參與者來自全國各地,40%北京、9%上海、17%深圳廣州、19%成都杭州武漢西安。調查不可避免有局限性,但我們仍相信結果具有一定代表性。
受訪者來自不同行業,其中來自互聯網企業的26%、信息科技21%、通信16%、金融17%。這些行業面臨激烈的市場競爭和技術變革,必須走向更敏捷的運作方式,很自然地就會實施敏捷。
調查的參與者主要是敏捷教練(25%)和項目經理(17.6%)。這些角色都有提升開發團隊交付能力的職責。調查參與者也包括開發(15%)、測試(14%)、產品經理(7%)、需求分析師(4%)。也有不少中層與高管參與調查,其中部門經理占10%,高管占4%。非研發人士也逐漸認識到敏捷的意義,參與了我們的調查。
敏捷實施規模大部分在100人以內
企業敏捷實施的團隊規模大部分(79%)在100人以內。其實,這是一個趨勢,隨著技術和工具的發達,一個人能做的事越來越多,所以團隊規模也自然變小。更重要的是,自主小團隊和網絡式組織結構,更靈活、更能夠產出成績。這也符合敏捷理念。只有特別復雜的系統,才需要大規模100人以上的團隊。我們仔細分析了500人以上的敏捷實施團隊,他們大部分實際上是多個獨立產品線并行交付。單產品的交付,大部分還是100人以內。
敏捷實施的主要目的: 縮短周期、提高質量和滿意度
企業實施敏捷不是為了敏捷,而是要達到效果。
有69%的受訪者表示他們企業實施敏捷最主要的目的是縮短開發周期。這是通過更快的迭代節奏來達成的。貫徹和運作精益思想、減少浪費、解除瓶頸也是重要手段。所以,很多企業會同時實施敏捷和精益。有些人誤以為敏捷會導致質量下降。其實,敏捷是有保障質量的理念和實踐,有60%的受訪者認為“提升質量”也是實施敏捷的目的,49%的受訪者把“客戶滿意度”也設為重要改進目標。
其他實施敏捷的目的如下:
- 縮短開發周期(69%)
- 提高質量(60%)
- 提升用戶滿意度(49%)
- 提高人員的能力(30%)
- 增強協作(43%)
- 減少工作量,提高產能(32%)
- 產品創新(17%)
- 改變管理方式,讓成員更有參與感(34%)
- 其他(4%)
敏捷實施周期與效果:堅持6個月,必有效果
大部分(56%)受訪者回復他們企業實施敏捷不到一年。這可能是受訪者范圍的局限性——敏捷在中國的推廣已經有10年了,那些前幾年實施敏捷的企業應該是早期領先者,敏捷已經逐漸受到認可,這是再次崛起的一波新浪潮。實施敏捷的企業,不管是剛起步還是實施多年,43%表示有所改進,18%表示獲得了顯著的改進。敏捷實施就是持續改進、系統性地解決問題,如果能夠堅持半年以上,效果必然大增。
敏捷實施要解決的問題
實施敏捷是一個富有挑戰的變革。敏捷本身要解決的也是個復雜問題。我們向受訪者詢問了這些挑戰的影響程度:
- 不涉及
- 沒有遇到這個問題
- 偶爾遇到這個問題,沒有影響
- 偶爾遇到這個問題,影響不大
- 遇到這個問題,對我們有影響
- 經常遇到,影響很大
- 就是它搞得我們特別累
我們按照挑戰的影響程度分為三大組。每個企業的成長旅途都不同,所以它們面臨的挑戰也不同。然而這其中存在著規律,它們所面臨的挑戰的影響程度或許能夠被粗略的歸納為“需求與架構、流程治理、以及企業文化”三大組。
***組挑戰:需求與架構不良
***組挑戰對企業影響***。這些基本都是和需求、產品相關的問題,也包括架構和團隊能力的問題。具體包括:
- 需求變化多、工作量過載、需求工作拆分不夠細
- 需求不合理、定位不穩定、架構不良、團隊能力不足
敏捷體系當中有不少實踐都是為了解決這些問題。需求流程前端的實踐,如設計思維、產品畫布、用戶故事等都是為了讓開發團隊更聚焦在有價值的需求上,以最少的投入快速產生價值。然而,敏捷雖然可以提供快速驗證產品的機制,但是并不能指定產品方向。這還是依賴于有智慧、有眼光的產品負責人。有能力的產品經理,加上一個有效的敏捷運作機制是一個***的組合。
關于架構問題,組織需要有策略地進行優化或改造遺留系統,清除過去的技術債務。這不是一夜之間能夠解決的事,不是喊著敏捷的口號就能解決的,解決是需要規劃和投入的。敏捷設計方法,例如領域設計、持續重構、結對編程、自動化測試,能夠防止后續的腐化。不管是需求還是架構,這都是軟件工程師本身該有的專業能力。系統快速增量的演進,暴露了這些能力的缺失。企業必須有系統性的能力培養和人才的引入。
第二組挑戰:笨重的流程治理
第二組挑戰對企業有不少影響。這些大部分是流程治理的問題。具體包括:
- 治理不敏捷、團隊之間協作、流程笨重
- 涉眾意見不合、績效考核不敏捷、第三方合作
這些問題不是純軟件工程的問題。任何行業的企業在敏捷實施的過程中都可能遇到。實施敏捷的企業應該投入時間來分析已有的流程并進行簡化。在這方面,精益思想非常重要。通過對精益價值流的分析,重新梳理團隊職責、其貢獻的價值和績效導向的關系,就能夠很快識別問題的根因。但是如果要徹底解決問題,還是需要上下的合作,制定新的流程。
第三組挑戰:企業文化
第三組挑戰的影響程度在不同企業中的表現并不集中,因為我們的問題是通過印象程度組合的,而不是它們所屬的領域。然而,我們發現這大部分都是與人相關的問題。敏捷實施的持續性,最終必須要考慮人性。
- 團隊不愿意學習新東西、公司文化不敏捷
- 開發測試和開發運維協作不好、需求實現復雜、團隊分散
就像第二組問題一樣,大部分問題不是跟軟件工程有關,而在于文化和協作。有效協作的動力來自兩方面:首先是成員本身的態度,有些成員本來就熱愛學習,愿意為企業的長期利益著想。有些成員更多的考慮個體的利益,很難跳出舒適區。要改變企業文化是不簡單的。所以,實施敏捷的時候,首先要先從一批意愿比較強的成員入手,同時也要考慮當前的績效管理體系是否會促進或阻礙協作。領導的積極參與、以身作則,也是非常重要的。如前所述,敏捷實施是一項長期的變革,是需要堅持的。
敏捷實踐落地步伐:團隊、端到端、企業
企業要實施敏捷時,需要考慮實施的范圍和要引入的敏捷實踐。以及如何把這些改變有效的落地和生根。在我們的經驗中,企業通常會先從小范圍做起,有了一些成果之后再逐漸鋪開到整個交付流程,從需求到交付上線,然后再考慮如何將敏捷精神擴散到整個組織。此次調查結果確認了我們的觀點。我們向受調查者詢問他們敏捷實踐的落地情況:
- 已決定不會嘗試
- 不知道這是什么
- 還沒開始嘗試
- 剛開始嘗試(3個月以內)
- 已實施一段時間,有挑戰但是會堅持
- 實施成功了,已經是習慣性的做法
我們按照他們有意愿嘗試的實踐進行了排序,并將其劃分為三個組合。所謂“有意愿”就是包括他們認為自己還沒開始嘗試、剛開始嘗試、已實施一段時間、以及實施成功的實踐。
我們發現,這些實踐組合正好和我們之前建議的開發測試敏捷、端到端需求交付敏捷、以及企業級敏捷,這三個實踐組合一致。
***組實踐組合:開發測試敏捷
***組實踐組合包含最普遍的基礎敏捷實踐,包括Scrum和看板,也包含一系列的自動化實踐,如自動化測試、持續集成、持續發布、以及敏捷管理工具(例如JIRA)。 團隊如果不實施這些實踐,就不能說他們是敏捷的。如果一個團隊說他們很敏捷,但是沒有站會,沒有工作跟蹤,沒有自動化測試,更沒有持續集成,你覺得他們能夠敏捷起來嗎?這些都是必備因素。然而,即使有了這些實踐也可能只是流于形式。更重要的是團隊有敏捷的學習心態。
第二組實踐組合:端到端敏捷
第二組實踐組合包含的都是開發團隊以外和周邊的協作,包括開發運維、業務人員、團隊各角色的協作。它們存在于需求從概念形成到完成交付的各個環節,包括:設計思維、前期需求管理、微服務、特性團隊、測試驅動開發、驗收測試驅動開發、DevOps。有效協作的前提是開發測試的實踐已經有效落地。如果稍微一動代碼就崩潰,開發測試不能夠迭代交付,那么就談不上什么端到端的敏捷。
第二組實踐組合本身不是特別難,但是一旦牽扯到不同職能,就難免有利益沖突。教練可以采用邏輯一個個地說服各職能的成員。一個行之有效的辦法就是在各職責成員中共享產品愿景和目標。產品一旦能夠有明確的發展發向,并且能有效的傳達到每個成員,每個成員理解他對產品成功的貢獻,那么各職能成員的參與度就更有可能提高。敏捷是一個很好的工具,但它的有效落地還是需要方向的。
第三組實踐組合:企業敏捷
第三組實踐組合包括:項目組合管理、預算與績效管理、其他職能的敏捷、大規模敏捷、精益創業。
這些實踐大部份都是軟件交付以外的實踐,是一系列很不同的專業。這里有財務人員、有人力資源、有企業戰略、有業務負責人等。要有效的開展敏捷協作,首先必須理解他們的觀點以及他們面臨的挑戰和矛盾。他們大部分都不是IT出身,不理解IT的術語。傳統敏捷實踐和術語不能夠解決他們的問題。
企業治理需要另一套嶄新的實踐。其中,超越預算是一個開始受人關注的體系。它提供了一套財務辦公室、人力資源辦公室、以及戰略辦公室的協作理念和機制。有不少企業開始在這方面進行嘗試。企業治理的敏捷事關重大。領導層,以及這層職能的敏捷,完全決定了企業上下的敏捷。企業級的敏捷實踐還是在演化中。我們期待這方面的發展。
不要忘記代碼質量
我們也發現,受調查的企業對代碼設計方面的關注比較缺失,這包括領域設計、UML、結對編程。其中最有爭議的實踐就是測試驅動開發(TDD)以及結對編程。有不少企業決定不嘗試這些實踐,對它們的效果有所懷疑。這或許是由于受訪者對這些實踐的理解不足,或者是他們的落地比較困難。我們的觀點是這些實踐都是非常重要的。代碼質量決定系統的質量。即使實施有所困難,企業應該在這方面更加專注。
敏捷實施措施:流程、自動化、領導力、組織文化
企業敏捷實施基本上是一個組織的變革,所以必須按照變革項目來對待。變革項目必須要有全面的考慮。如果不夠全面的話,實施會受到一些阻礙。我們將敏捷實施措施按照它們的必要性和投入排序。
***組措施:流程變更,自動化投入
這些措施都是企業覺得有必要并進行了合適的投入、是大家默認最基本的事實策略。首先,必須要建立一個敏捷實施工作組、調整運作流程。另外,自動化這方面是需要有額外的人力投入的,否則會對研發團隊的交付速度有所沖擊。
- 調整運作流程、敏捷實施工作組
- 建立內部自動化測試、持續集成、持續交付能力
第二組措施:領導參與,建立改進目標
敏捷變革基本上是一個組織發展工作。必須有領導以及外部顧問的積極參與。顧問會帶來他們的經驗,避免團隊走冤枉路。另外,企業必須例行跟進和分享,確保實施敏捷的團隊受到關注。敏捷的實施也必須敏捷。
- 領導積極參與、雇傭外部教練
- 把敏捷改進作為團隊目標
- 例行敏捷實施會議、組織敏捷相關的分享
第三組措施:組織文化、績效管理
這些措施是受訪者覺得必要、但是沒足夠投入的。如果要有效可持續的敏捷落地,不僅僅要考慮團隊的輔導,也要考慮其他方面。這或許會涉及到系統架構、組織結構的演進。一般來說,遺留系統是妨礙企業敏捷的原因。除此之外,也要建立內部教練機制、實踐社區,要讓員工持續的學習。最重要的,也要考慮企業的績效管理。已有的績效考核是否正在阻礙敏捷文化的推進,還是能夠促進敏捷文化的建立。
- 系統架構改造
- 實踐社區、內部教練
- 改造績效管理制度
敏捷實施有套路
敏捷已經擁有將近20年的歷史。對于軟件開發這樣一個迅速發展的領域來說,這是一個很長的時期,在這個時期中,敏捷有了很大的進步。事實上,企業可能面臨的任何問題似乎都與敏捷相關。問題不在于解決方案不存在,而在于企業采用這樣的解決方案的態度過于謹慎和保守。企業害怕實施敏捷時所帶來的變化對組織的沖擊太大。企業需要系統地將敏捷整合到他們的工作方式中,并轉向敏捷的思維方式。
企業在這敏捷實施旅程中并不孤單。有很多企業的經驗可以參考,而我們這次的調查就系統地收集了許多企業的經驗,總結了一些通用可借鑒的實施措施。首先,企業必須克服以下幾個方面的挑戰:需求和架構、笨重的流程、以及企業文化。我們發現企業采用的步伐通常都是先實施團隊級的敏捷,然后端到端交付敏捷,最終實現企業級敏捷 。
***,敏捷企業應考慮采取以下措施:
- 簡化流程
- 投入自動化
- 確保領導參與
- 建立改進目標
- 讓組織文化和績效管理更符合敏捷理念
在當今的商業環境中,不敏捷的工作方式已經不再是企業的選擇。實施敏捷不是為了時尚,不是為了跟上“***和最偉大”的潮流。“企業不實施敏捷是等死,錯誤實施敏捷是找死。” 實施敏捷是一個生存的根本動作。沒有敏捷,就難以執行任何其他戰略舉措,例如數字化轉型。
希望我們的這些總結和反思,能給正在實施敏捷或將要實施敏捷的企業,提供有價值的參考和指導,讓大家少走一些彎路,早日實現企業級敏捷。也期待大家留言分享各自的觀察和思考。
【本文是51CTO專欄作者“ThoughtWorks”的原創稿件,微信公眾號:思特沃克,轉載請聯系原作者】