華爲的研發團隊是什麼樣子的?


技術人員應該如何成長,企業又該如何來管理研發團隊?技術咖或管理技術的BP一定不要錯過,向華為學習研發流程與管理。軟件開發師書單拉到最後可查看。目錄如下:1、華為產品開發的工作流程2、華為的產品開發是做什麼的3、華為如何管理研發團隊4、華為的軟件開發理念:敏捷5、軟件開發者應具備哪些能力?6、軟件開發師的書單和常用工具

一、華為產品開發的工作流程

華為提倡流程化的企業管理方式,任何業務活動都有明確的結構化流程來指導。研發工作也不例外,其工作流程包括6個階段,分別是概念階段、計劃階段、開發階段、驗證階段、發佈階段以及生命週期管理階段。

華為的研發團隊是什麼樣子的?

1、概念階段

概念階段是對產品的基本功能、外觀、價格、服務、市場銷售方式、製造等基本需求進行定義的階段。比如,你首先要知道做這個項目是為了解決什麼問題,為了清楚地知道這些需求,要經常和客戶、項目經理等交流。這個階段主要產生新產品的需求說明書。

2、計劃階段

制定產品規格說明書,確定產品的系統結構方案、明確產品研發後續階段的人力資源需求和時間進度計劃。

3、開發階段

根據產品系統結構方案進行產品詳細設計,並實現系統集成,同期還要完成與新產品製造有關的製造工藝開發。

4、驗證階段

驗證階段進行進行批量試製,驗證產品是否符合規格說明書的各項要求,包括驗證新產品製造工藝是否符合批量生產要求。驗證階段後期還要向市場和企業生產部門發佈新產品,並經歷新產品產量逐步放大的過程。

5、發佈階段

可以通過正式會議形式召開,需要召集產品經理、主要開發人員、測試人員、上級領導等參與,準備充分,盡最大可能說清楚這個產品發佈之後的效果、效益,為下一個項目總結經驗,也為上線後的價值評估做準備。

6、生命週期管理階段

產品的更新換代是各個行業的普遍規律,華為的生命週期管理則明確了產品生命週期策略及產品終止策略。

華為的研發團隊是什麼樣子的?

二、華為的產品開發是做什麼的?

產品開發是產品從開始到形成的過程。從服務器的部署,到代碼的存檔迭代,都是開發人員作為主導的階段。比如手機產品開發,在進入市場之前都會有大量的工作要完成:外觀設計、機構設計、樣品製作、原料選擇、製程選擇、評估驗證、設計驗證、生產驗證、可靠性測試等。根據華為產品的開發流程,在每一個階段上都會設置相應的技術崗位,比如概念階段就有需求分析工程師,開發和驗證階段就有通用軟件工程師、高級軟件測試工程師等等。

以軟件工程師為例,一般情況下他們的工作職責有:

  • 完成軟件系統代碼的實現,編寫代碼註釋和開發文檔。
  • 輔助進行系統的功能定義、程序設計。
  • 根據設計文檔或需求說明完成代碼編寫、調試、測試和維護。
  • 分析並解決軟件開發過程中的問題。
  • 協助測試工程師制訂測試計劃,定位發現的問題。
  • 配合項目經理完成相關任務目標。

在華為,軟件工程師的崗位職責和崗位要求如下:

華為的研發團隊是什麼樣子的?

三、華為如何管理研發團隊

1、技術幹部體系

華為的研發部門擁有自己獨立的人力資源部——技術幹部部,從各業務部抽調幹部擔任。幹部部專門研究研發體系下的人力資源的管理問題。華為研發為了加強幹部部的工作,規定研發領導沒有在幹部部任過職,沒有系統地管理過人力資源,不能再升職。

針對績效管理,很多公司對於對於研發部的業績評價都比較側重於短期目標,但是對於涉及研發部門長期發展潛力的目標不夠重視,這就導致了這些企業的研發部只重視短期“打糧”,不重視長期“種地”。而華為的績效管理,強調的是結果導向、人才成長的績效、中間過程的溝通和管理,而不僅僅是簡單的績效考核。

針對工程師團隊普遍存在的溝通不暢的現象,華為是每天,每位工程師要針對當日工作情況做總結向直接上級提交;每月必須做一次部門經理與項目經理、項目經理與工程師之間有記錄的雙向溝通;針對月度的績效考評,經理也要與工程師進行當面溝通。

2、對開發項目實行端到端的管理

在一些企業中,由於產品開發沒有實施端到端的管理,出現了許多問題,如產品開發完成了要去銷售了才發現註冊工作沒有做。華為引入的“端到端”提示研發團隊,在做研發的時候,要從市場中來,最終通過項目活動滿足市場需求,就是說,研發項目不僅僅是技術體系一個部門的工作,而且需要其他部門參與形成跨部門的團隊才能完成產品開發目標,保證市場的需求。

為了完成最終的產品開發目標,,我們需要市場人員的參與、銷售部門參與、註冊部門參與、技術部門參與、製造部門參與等等,只有各個部門參與了,才是端到端的產品開發管理。為了實現端到端的目標,產品開發項目團隊成員是跨功能部門組成的,項目經理是這個團隊的領導。

3、建立跨部門的項目管理模式

華為公司建立了產品開發團隊(PDT),由PDT經理、PDT成員、外圍小組三個層次組成。PDT成員分別來自不同的功能部門,如研發、市場、財務、採購、用戶服務、生產等部門,每個部門只有一個代表。PDT成員在LPDT(產品開發項目領導)下完成產品開發項目目標。在這種模式下,LPDT對團隊成員具有考核的權力,在考核週期,各LPDT將核心組成員的考核意見彙總到職能部門經理處,由職能部門經理統一給出對項目成員的最終考核結果。

4、將研發項目按不同業務類型進行分類管理

華為公司將研發體系的項目重點分為產品預研、產品開發、技術預研、技術開發四類,見下圖:

華為的研發團隊是什麼樣子的?

5、依靠過程審計保證項目過程

為保證研發項目結果的成功,華為公司引入了過程審計的概念,由PQA(產品質量保證)承擔過程審計的任務。每個產品開發項目啟動階段,公司質量部會為項目指定一個PQA,以保證審計項目團隊成員是否按照公司規定的流程實施項目。研發團隊在執行流程的過程中接受PQA的審計,以保證流程得到有效執行。

6、培養項目經理

華為公司為培養項目經理,專門成立了項目管理能力建設組,制定了培養計劃,並對項目經理的資格條件進行了規定。

關於項目經理認證,華為公司從知識、技能、行為和素質四個方面進行認證,並對項目經理認證規定了五個等級,其中從第二級開始規定資格認證的條件,有以下對應關係:

華為的研發團隊是什麼樣子的?

7、在研發項目中技術管理和項目管理分開

華為公司的研發項目管理,體現了技術線和管理線分開的思路,在項目團隊中有兩個非常重要的角色,一個是項目經理,另一個就是系統工程師。在研發項目中,項目經理更像是管理專家,協調各個部門與角色的關係,而系統工程師更像是技術專家,在預測需求、指導產品開發滿足這些需求方面扮演重要的角色。

四、案例——華為的軟件開發理念:敏捷

軟件更像一個活著的植物,軟件開發是自底向上逐步有序的生長過程,類似於植物自然生長。華為公司遵循著敏捷軟件開發理念,即不斷地進行迭代增量開發,最終交付符合客戶價值的產品。華為的敏捷包含3個層次:分別是理念、優秀實踐和具體應用。

華為的研發團隊是什麼樣子的?

隨著移動化、雲計算、大數據、物聯網等業務不斷髮展,企業數字化轉型勢不可擋,但企業園區網絡面臨諸多挑戰。比如接入終端增長網絡規模增大,如何提升運營效率?如何實現園區安全防護?為此,華為的技術研發團隊針對大中型園區推出敏捷園區網解決方案,為企業客戶打造無線化、智能化、自動化的數字化園區網絡。

華為的研發團隊是什麼樣子的?

在北京的城市公共交通發展中,隨著城市規模和人口規模的增長,以及新型業務如運營調度、安全防範和乘客信息服務等系統建設的逐步開展,北京公交現有信息化基礎設施環境和資源日漸不足,進而影響業務系統運行及運營管理效率。華為公司針對此問題,深入分析北京公交集團的情況,提出了一套分層分區、高度集成的公交集團調度指揮骨幹網絡承載解決方案。該方案採用分層分區的層次化設計理念,外聯互聯網、政務外網,內部覆蓋公交集團、各分公司的生產辦公網絡,具備性能強大、可靠性高、安全性高、可演進等特點。方案解決了公交集團分支多、管理難的問題,提升了業務數據傳輸承載能力,保障了調度業務的安全性和可靠性。

華為的技術團隊結合北京公交集團實際需求提出的敏捷網絡解決方案,實現了一定的客戶價值,即徹底提升了公交骨幹網絡性能,為各類信息系統穩定運行提供基礎支撐和保障;通過技術的運用,提高了公交運營管理水平和運轉效率,降低了司售人員及調度員的勞動強度。

五、研發崗位應具備哪些能力

下圖是華為員工的能力素質模型,根據0、1、2、3劃分了四個等級:

華為的研發團隊是什麼樣子的?

優秀的軟件研發人員,除了要具備以上基本能力外,還需要以下幾個核心能力:

1、掌握必備的專業技能

研發是一項技術性很強的工作,以至於你要學習很多東西才能做好這份工作,研發人員要掌握的技能有:至少掌握一種編程語言、如何構造代碼、面向對象的設計、算法和數據結構、開發平臺及相關技術、框架或堆棧、基礎數據庫知識、源代碼控制、構建和部署、測試、調試等等。

2、文檔習慣

良好的文檔是正規研發流程中非常重要的環節,作為研發者,30%的工作時間寫技術文檔是很正常的。而作為高級研發者和系統分析員,這個比例還要高很多。缺乏文檔,在未來的查錯、升級以及模塊的複用時就會遇到很大的麻煩。

3、需求理解與分析能力

對於研發工程師來講,他們需要理解一個模塊的需求,理解需求就可以完成合格的代碼,但是對於研發項目的組織和管理者,他們不但要理解客戶需求,更多時候還要制定一些需求。

4、 項目設計方法和流程處理能力

研發工程師必須掌握不少於兩到三種的項目設計方法,並能夠根據項目需求和資源搭配來選擇合適的設計方法進行項目的整體設計。設計方法上選擇不當,就會耽誤研發週期,浪費研發資源,甚至影響研發效果。一個開發設計者還需要把很多功夫用在流程圖的設計和處理上。

5、複用性和模塊化思維能力

複用性設計、模塊化思維就是要程序員在完成任何一個功能模塊或函數的時候,不要侷限在完成當前任務的簡單思路上,想想看該模塊是否可以脫離這個系統存在,是否可以通過簡單的修改參數的方式在其他系統和應用環境下直接引用,這樣就能極大避免重複性的開發工作,就會有更多時間和精力投入到創新的代碼工作中去。

6、整體項目評估能力

作為系統設計人員,必須能夠從全局出發,對項目又整體的清醒認識,比如公司的資源配置是否合理和到位,比如工程進度安排是否能最大化體現效率又不至於無法按期完成。評估項目整體和各個模塊的工作量,評估項目所需的資源,評估項目可能遇到的困難,都需要大量的經驗累積。

7、團隊組織管理能力

完成一個項目工程,需要團隊的齊心協力,一些技術性的指標和因素如下:

(1)工作的量化

沒有量化就很難做到合適的績效考核,而程序量化又不是簡單的代碼行數可以計算的,因此要求技術管理人員需要能真正評估一個模塊的複雜性和工作量。

(2)對團隊協作模式的調整

一個優秀的軟件開發工程師應該能夠根據程序員之間的能力水平差距,以及根據項目研發的需求,選擇合適的組隊方式,並能將責權和成員的工作任務緊密結合,這樣才能最大發揮組隊的效率。

六、軟件開發師的書單和常用工具

1、軟件開發工程師的書單:

(1)需求分析:

《需求分析與系統設計》、《有效需求分析》、《掌握需求過程》、《實戰需求分析》

(2)程序設計:

  • 基礎理論:《編碼:隱匿在計算機軟硬件背後的語言》
  • 編程語言:《C和指針》、《C++程序設計原理與實踐》、《Java核心技術(第9版)》、《精通C#(第6版)》、《JavaScript DOM編程藝術(第2版)》、《Python基礎教程(第二版)》、《編程語言實現模式》、《程序設計方法》、《算法(第4版)》、《調試九法——軟硬件錯誤的排查之道》

(3)軟件開發:

《程序設計實踐》、《Head First設計模式》、《重構》、《How to Break Software》、《極客與團隊》、《程序員修煉之道:從小工到專家》、《奇思妙想:15位計算機天才及其重大發現》、《寫給大家看的設計書》、《通用設計法則》

(4)思想與領導力:

《卓有成效的管理者》、《你的燈還亮著嗎》、《成為技術領導者》、《程序員職業素養》

2、產品開發常用工具

華為的研發團隊是什麼樣子的?


分享到:


相關文章: