題記:
前段時間,在微信項目管理溝通群,討論項目經理是否需要掌握的研發技術,尤其是非研發轉型的項目經理。為什么呢?因為軟件項目管理,會經常給開發溝通,需要制定項目計划、項目工作量、項目技術細節解決、透過現象看本質,如果對技術不是太了解,會存在相對性的阻礙,項目開展效率會低一些。應小伙伴們的需求,對於非研發出身的項目經理,需要掌握的研發技術做簡單的分享交流,這篇文章由此而寫。
關於不懂技術帶來項目低效的問題,舉個簡單的栗子:在項目開展中,工程師碰到技術細節需要攻克,因開發能力有限,告訴你說解決不了。這個時候就需要懂技術的人,幫忙一起分析,討論技術邏輯,形成解決問題的新思路,繼續開發不能卡在這里。如果是技術性項目經理,在不忙的情況下,可以拉一個凳子跟開發坐在一起,一起分析解決;而非技術性項目經理,則需要向領導或技術經理申請協調資源,找能力強的工程師輔助解決,申請資源和溝通成本就會形成項目的低效。為什么呢?因為每個人都很忙,每個人都有自己的事情,會被排到不同的項目處理不同的事項,借調資源是相對麻煩的事情。他山之玉,《項目經理需不需要懂技術》。
一、為什么轉型項目經理
在解決上述問題之前,我們先來討論下大家轉型項目經理的初衷和方式。其實,問每一位項目經理,為啥帶項目呢?每個人都有自己的答案,每個人的出發點也會不一致;問職業發展怎么做到項目經理的呢?會發現通向目標的道路有很多,有的坎坷曲折、有的相對順利,每個人的職業規划和發展也是不一致的。就轉型項目經理的初衷和方式兩個方面,做如下分析和整理,僅供大家學習參考。
1.轉型初衷
(1).職業規划的提升,職業規划一直沿着項目路線進階;
(2).職業規划的轉型,現有職業遇到瓶頸,需要新空間;
(3).興趣發展的驅動,興趣使然,性格匹配高,挑戰新領域;
(4).薪資提高的誘惑,職業上升空間更大,薪資高,虛榮心使然;
(5).被逼上崗的無奈,公司事務繁雜,原項目經理離職,項目時間緊迫;
(6).內部轉崗的機會,技術能力強,公司業務復雜學習成本高,公司內部提拔。
2.轉型方式
(1).規划提升,項目專員->項目助理->項目經理;
職業發展,一直沿着項目管理崗位規划,具備一定能力和資歷,進行對應崗位的晉升;
(2).規划轉型,研發->項目經理;
高級研發,深入學習框架,沉悶研究,技術瓶頸明顯;對項目管理崗感興趣,項目管理知識儲備到位;
(3).規划轉型,實施->項目經理;
高級實施,對售后客戶各種問題的處理到位,溝通能力、實施管控能力相對較足,項目管理知識儲備到位;
(4).規划轉型,售前->項目經理;
高級售前,對產品的市場和前瞻性的資訊敏感、捕捉能力強,與市場溝通緊密,計划性強、做方案能力強;
(5).被迫上崗,研發、實施、售前->項目經理;
由於公司發展的需求,原項目經理離職,業務的復雜,學習成本高,外聘成本高,項目緊急度高,內部提拔,定崗上崗。
二、轉型項目經理所需的軟硬實力
盡快每個人轉型的初衷不一樣,總會有或多或少共同的想法;盡快每個人轉型的方式有差異,條條大路通羅馬,總會有適合自己的那條路。無論是走在轉型路上或已經轉型成功的項目經理,需要具備勝任項目經理的硬實力和軟實力,不斷的修煉提升,讓項目開展更順利、更容易成功。就轉型項目經理的硬實力、軟實力和加分項三個方面,做如下分析和整理,僅供大家學習參考。
1.硬實力
(1).對主流項目管理體系了解、熟悉、靈活運用,如:PMP、Scrum、ACP等;
(2).對主流項目管理工具了解、熟悉、靈活運用,如:JIRA、禪道、Redmine等;
(3).對主流軟件研發流程了解、熟悉、靈活運用,如:瀑布、敏捷、精益、規模化敏捷等;
(4).對項目管理最佳工程實踐了解、熟悉、靈活運用,如:站立會、回顧會、共識和確認等;
(5).具備項目管理思維,繁雜事務中的全局觀,既可以站在全局把握方向,又可以深入細節解決問題;
(6).具備項目管理能力,曾負責項目全生命周期交付,如:計划管理、風險管理、整合資源、溝通管理等;
(7).具備項目集管理能力,曾負責多項目的並行交付,進行跨團隊、跨部門、跨公司的溝通協調,推動共贏。
2.軟實力
(1).溝通能力,每個項目的形態不一樣,每個項目的干系人性格有差異,需要確保項目信息流通順暢,形成共識性的溝通機制;
(2).統籌能力,對項目全局進行統籌性的把握,處亂不驚的掌控力,對問題的抽絲剝繭,透過現象看本質,把握主要問題和次要問題;
(3).領導能力,可以很好的聆聽他人、激勵他人、引導他人,接受他人不足,取得他人的信任,在團隊迷惘的時候,引領前進的方向;
(4).共贏能力,可以與不同團隊、不同公司、不同立場的人,達成共識性的認知和方案,進行適當讓步和強勢的調整,促成共贏的達成;
(5).沖突處理能力,可以很好的處理團隊內部的沖突、跨團隊的沖突,將沖突轉化為合作的能力,促進大家后續更加密切的合作;
(6).協調推動能力,可以積極主動協調各個團隊的資源,促進彼此合作,成為龍卷風的漩渦,卡在哪里就去解除,推動項目高效開展;
(7).學習總結能力,可以根據項目形態、項目問題、團隊成熟度等項目因素,不斷地反思總結,提升研發效率,精進業務,為項目成功提供保障;
(8).打不死的小強,在溝通、統籌、協調、領導、共贏、推動等方面,都在挑戰你的承受力、忍耐力、攻堅能力,需要有小強打不死的精神,即使碰到阻力也要推動項目前進,沒有任何一個項目是順順利利的,要有頑強的精神,向前多走幾步,再多解決幾個問題,項目就會明朗好多。
3.加分項
(1).系統項目管理的學習和認證考試,如:PMP、ACP、CSM等;
(2).對軟件技術和主流框架了解、熟悉、靈活運用;
(3).較強的邏輯推理能力,縝密和考慮周全的思維;
(4).較強的繁雜中共識約束建設,團隊自運轉推動;
(5).較強的學習能力,對業務和概念進行快速熟悉;
(6).較強的文案、宣講和打雞血能力。
三、轉型項目經理所需了解的相關技術
聊了些項目經理硬實力、軟實力、加分項的能力要求,就大家關心的項目經理需了解的技術,做幾點整理和分享。從下面三個方面介紹,了解技術的目的、程度、范圍,其中技術范圍涉及比較廣,時代在變化層出不窮的技術不斷涌現和淘汰。對於非研發出身的項目經理,需要了解通用數據庫可視化工具的使用、通用設計技術概念的理解、前后台數據交互的邏輯、常用基礎算法。通用數據庫可視化工具的安裝和使用,可以跟開發同學要下,熟悉常規增、刪、改、查操作(不是寫數據庫腳本奧,是操作可視化工具進行數據處理)。不建議項目經理去學習具體某項技術的開發,因為最需要、最應該做好的事情就是項目管理,當然,感興趣是可以研究下的嘛。記住,不要跟研發爭論技術實現的細節,相信他在技術領域是最棒的,若擔心技術風險對項目開展造成不可預期的影響,可組織相關的技術評審,一起討論使用什么技術方案解決。
1.了解技術目的
(1).更好的支撐項目工作量評估、項目計划和迭代的制定;
(2).更好的支撐項目開發中工程師技術問題的分析和解決;
(3).更好的支撐項目技術風險評估和相關措施的應對;
(4).更好的支撐項目技術細節的討論分析,形成共識方案;
(5).更好的匯報項目進度細節、卡頓節點,風險和影響等。
2.了解技術程度
每個公司的組織架構不一樣,團隊各個崗位的人員配備不一樣,對項目經理的技術能力需求也就會不一樣。需要項目經理,結合團隊的人員配備,進行適當程度的技術參與和輔助。當然,如果是研發出身的項目經理,基本的技術溝通和問題解決應該有很大幫助;如果非研發出身的項目經理,可以優先根據團隊對技術的要求,緊急的補課,做技術的概要理解;如果時間相對比較充分,可以系統化的了解技術的概要內容。
項目經理,最主要的工作、應該做好的工作,就是項目管理。常規項目團隊成員,涉及產品同學、設計同學、開發同學、測試同學、運維同學,他們在各自的領域有所擅長。比較好的團隊、高效的團隊是每個職能崗位的同學都是能力很強的,基本不需要你去幫忙處理專業內部的事情。基於每個團隊的能力或組成不一樣,會存在相對性的能力偏差,這種情況需要項目經理去輔助、協調處理的事情就比較多。項目經理首先要把本職工作做好,在時間充足的情況下,或一些緊急節點要處理的情況下,團隊向你提出支持的訴求,要積極快速響應,盡快解決處理好。
項目經理在項目管理中不能抓小丟大,過多跟產品討論原型,跟設計討論風格,跟技術討論實現,跟測試討論用例,跟運維討論部署等,不可太深入細節管理,而忽略項目的全生命周期管理。很多計划性事項、風險性事項、協調溝通事項,不能被前置處理,到了交付節點,就像熱鍋上的螞蟻或救火隊長,做緊急處理,搞的團隊和你很疲憊。如果相關計划安排、資源申請、協調事項,提前開展,或許到交付節點,大家會輕松好多。
項目經理的時間會成為項目的時間, 項目經理忙成狗,團隊很輕松;團隊忙成狗,項目經理很輕松,是不可取的。項目是一個平衡,一個度的把握,項目經理動起來,團隊也要動起來;項目經理既要安排自己的事情,也要安排團隊的事情,大家都動起來,才能更好協調合作、更快高效搞定項目。
對於非研發出身的項目經理,在研發技術方面只需要做相應的熟悉和了解,可以跟研發團隊進行技術溝通,懂得、理解他們表達的意思,以達到提高項目效率的目的。
3.了解相關技術
(1).通用技術介紹
通用系統技術:C、C++等;
通用存儲技術:文本文件、XML、Access、Excel、SQLite、MySQL、MS SQL、NoSQL、Oracle等;
通用后台技術:Delphi、JSP、ASP、VB.NET、ASP.NET、Java、.Net、PHP、Python、Ruby、Go等;
通用前端技術:MFC、WinForm、WPF、Silverlight、HTML、DIV、CSS、Vbscript、JavaScript、Ajax、H5、IOS、Android等;
通用JS框架:JQuery、ExtJS、Node.Js、Angular.Js等;
通用Java框架:Hibernate、Struts2、Struts、MyBatis、Spring、Spring MVC、Springboot等;
通過.NET框架:Nhibernate、StructureMap、Spring.net、LINQ、Entity Framework、.NET MVC、WCF等;
通用Web服務:XML、Jason、IIS、Apache、Nginx、Kangle、WebSphere、WebLogic、Tomcat、Jboss等;
通用設計技術:設計模式、面向過程、面向對象、面向服務、集群管理、微服務、大數據、分布式、高並發、高可用、高擴展、高維護、高可讀等;
通用他人之玉:《常用.NET框架匯總》《常用Java框架匯總》《常用JS框架匯總》《常用IOS框架匯總》《常用Android框架匯總》《常用Web服務器匯總》《常用算法匯總》
(2).需了解的技術概念
《C/S和B/S結構區別整理》
《Web請求響應簡單整理》
《JavaScript特點、優缺點及常用框架》
《AJAX工作原理及其優缺點》
《w3cschool在線教程》
《常用Web服務器匯總》
《面向過程編程介紹》
《面向對象編程介紹》
《編程思想:面向對象和面向過程》
《面向服務編程介紹》
《分布式和集群管理介紹》
《微服務架構介紹》
《數據庫可視化工具的安裝和使用》