華為敏捷專案管理實踐分享

cornerstone發表於2020-04-26
當前,企業面對的商業環境瞬息萬變,移動、社交、物聯網、雲端計算、大資料、AI等蓬勃發展。新技術突飛猛進的同時,新業務形態越來越複雜、需求變化越來越快、軟體規模越來越大、交付週期越來越短、開發和維護成本越來越高,產品交付的風險急劇增加,傳統研發模式無法適應快速變化的市場需求。

為了應對這些挑戰,業界軟體開發模式經歷了持續的改進和變遷,從20世紀60年代作坊式開發,到80年代過程控制模型,到2001年敏捷、DevOps模式探索。

image.png

近30年來,華為的研發模式也在不斷變遷、最佳化,從90年代初游擊隊式開發,到2000年引入IPD-CMMI,轉變為集團軍作戰模式,到2008年經過敏捷思潮的洗禮,開啟了“班長的戰爭”這一全新模式,形成了 “敏捷+ DevOps”相融合的、獨特的華為敏捷研發模式。

透過這種獨特的敏捷模式,擁有8萬華為研發人員的研發體系,像大象一樣翩然起舞,行走在時代的前沿,在電信運營商、企業、終端和雲端計算等領域構築了行業領先的解決方案優勢。研發的產品,被銷售、部署到全球170多個國家和地區,服務於全世界1/3以上的人口,支撐了2016年同比增長30+%、達5000多億元的銷售額。

一、敏捷、 DevOps方法論介紹

敏捷開發模式,遵循萬物生長的客觀規律,透過不斷迭代的增量式開發,確保可執行的軟體逐步生長壯大,並儘早獲得客戶的反饋,及時開展最佳化。

DevOps理念是在開發流程和組織結構上,打破部門牆。透過端到端全自動化的持續交付流水線工具鏈,將市場、開發、運維等環節高度協同起來,並不斷提升Ops環節的自動化能力,解放人力,聚焦於業務開發實現上。

附帶說明下微服務理念是將龐大的、緊密的系統,解構為鬆散的、可獨立開發、構建、部署、執行的眾多微服務,各個微服務之間充分解耦,各個微服務也可自行選擇技術棧。這將更有利於促成敏捷實踐的落地和成功。
二、華為敏捷專案管理實踐
華為敏捷專案管理,融合了敏捷、DevOps思想,不僅僅是開發階段的敏捷,而是打通市場、交付、運維、運營的端到端敏捷。在實踐中透過運維自動化,將Scrum敏捷團隊開發的產品快速上線,並透過及時的運營,反饋給敏捷團隊進行方向調整。

華為敏捷專案管理流程如下:敏捷開發流程可劃分為準備、計劃、開發、反饋四個階段。

1、準備階段

➤按照模組/服務組建全功能團隊,團隊包括PD(產品經理)、Scrum Master、UE(UCD工程師、美工/視覺)、SE(系統工程師)、開發、測試、運維、運營。每一個團隊人數控制在6-12人。這需要配合系統解耦,模組足夠小,或者採用微服務架構。

➤選擇合適的敏捷專案管理工具。軟體開發雲團隊採用DevCloud on DevCloud的開發自用模式,可建立Scrum流程專案或精簡流程專案(精簡流程專案是比敏捷模式更簡潔的模式,適合小、微團隊和個體開發者)。

2、計劃階段
PD是本階段的核心角色。需求從線上反饋、線下訪談、友商分析、頭腦風暴等渠道進入產品Backlog後,需求優先順序由PD實時重新整理、定期評審,確保“做正確的事”:
 ➤ PD對產品Backlog中Epic和Feature進行優先順序分層排序,選擇優先順序高的特性確定釋出計劃。

➤ 在每個Spring啟動前,按照優先順序排序的Story制定迭代計劃。 

3、開發階段

Scrum Master是本階段的核心角色,需保證整個團隊高質高效“正確的做事”:

➤基於迭代故事牆(看板),各個全功能團隊開展每日站立會議,將進展和求助錄入Story討論區,早會討論內容透過站內訊息和郵件等實時通知責任人。

➤開發人員提交程式碼時,發起同行評審。之後由Scrum Master進行程式碼稽核,確認沒有問題後合入版本主幹。

➤ 每天定時執行自動化靜態程式碼檢查任務,檢查編碼安全(如未授信訪問)、編碼問題(如空指標引用)、圈複雜度、重複率、程式設計風格,問題清零才允許構建出包。

➤透過雲端自動化的持續交付流水線,實現持續構建、持續部署(包括指令碼自動下發、比對)、持續測試(功能、介面、效能、可靠性等實現100%自動化)、持續釋出、持續監控,可將Ops端手工操作的時間縮短到20%內,全功能團隊可以聚焦於業務交付上,顯著提升效率和產品質量。

程式碼提交時按照規範備註Story ID,即可將程式碼關聯到對應需求上。建立測試用例和缺陷時,也需關聯需求,這樣就實現了“需求-程式碼-用例-缺陷”的雙向追溯。

4、反饋階段

反饋階段主要開展驗收和回顧活動。

➤召開ShowCase會議,由PD進行驗收,確保產品功能與需求一致。

➤轉測試迴歸不透過問題,需由Scrum Master輔導問題責任人進行回溯,並召開整個團隊的質量回溯會議。會議重點在於分析問題根因,並識別出管理、流程、技術、工具上可落地的改進點。這些改進點每一個都必須符合Smart原則,是可落地、可執行的,不能出現大話空話套話。而且這 些問題都要求最晚在下一個迭代中,執行落地,以避免問題再次出現。

➤透過迭代需求統計報表和燃盡圖,檢視需求交付進展。

➤迭代遺留缺陷報告呈現每個模組/服務質量情況,並設定質量門禁。單服務遺留嚴重及以上級別問題,或者總遺留DI值(遺留缺陷密度)>x分,則服務質量不達標,不允許釋出。

重點提一下質量回溯會議,對應于敏捷迭代回顧會議,是華為持續改進的實踐瑰寶。其要義是塑造整個團隊對事不對人、勇於直面問題、只要有方法有措施下次改進不再重犯錯的“從泥坑裡爬起來就是聖人”的文化氛圍。

總結:
華為一貫堅持以客戶為中心,交付“剛剛好”的系統。

剛剛好的系統,不是“滿足於及格標準”,而是根據需求優先順序,開展資源分配、組織變革和需求交付,去交付當前階段使用者最緊急的需求,而絕不浪費一槍一彈去做使用者實際不需要的多餘特性,這樣可以確保所有資源都用在滿足客戶真實的需求上,最大程度保障產品質量和效率。

敏捷是一種文化,華為的敏捷實踐,融入了華為獨特的文化基因。每一個團隊都有自己的特質,可以根據實際情況選擇適合自己的敏捷流程和實踐,就能夠達到高質高效開發的光明彼岸。

華為軟體開發雲(DevCloud)是集華為研發實踐、前沿研發理念、先進研發工具為一體的研發雲平臺,為開發者提供研發工具雲服務,讓軟體開發簡單高效。(來源:華為雲城市產業雲解決方案)

合理並且有效地運用專案管理工具,不僅可以讓我們工作井然有序地進行,還能最大程度保證專案目標的達成。 CORNERSTONE 提供了包括任務/需求/測試管理、迭代規劃、缺陷追蹤、報表統計、團隊協作、WIKI、共享檔案和日曆等功能模組,現在申請20人以下團隊即可免費使用。

aeef399ffa8046109e455da2e8c34dc4.png


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69933591/viewspace-2688464/,如需轉載,請註明出處,否則將追究法律責任。

相關文章