項目管理之路-不得不說的風險管理
發布時間:2023/3/6 9:43:00
前段時間,集團開展了經營風險分析大活動,要求集團各個部門、子分公司從各個崗位和角度出發,對在工作中的已經存在或者潛在風險進行定性和定量分析,劃分風險等級,提出應對措施,并著手進行整頓,降低風險。作為一直在軟件研發項目上奮斗的我,也就趁這個機會,將多年軟件研發項目管理工作中碰到的問題和風險進行了總結。在這里也平鋪直敘,和大家一起分享分享。
軟件研發項目有著自身的特點,其成果是軟件,是一堆堆代碼!它最大的成本就在于人力,而這個人力是知識人才!從事軟件的人員相對來說學歷較高、知識面廣、邏輯推理能力較強、思維活躍,但情商相對差些。軟件從業人員的需求是隨階段而不斷升級轉變的。為什么要先說這些,因為軟件研發項目的最大風險點就是人才!幾乎所有的風險分析,就是圍繞著人力來的。接下來,讓我們從外部風險、內部風險、技術風險以及管理風險四個方面逐一剖析。
一、外部風險。
外部主要是指大環境,包括行業發展、國家政策、社會變革等。還有兩個很重要的就是客戶和合作伙伴。軟件行業的發展主要是技術的變革,而軟件技術的發展速度很快,也就決定了軟件項目不能拖太久。國家政策的影響也是蠻大的,當然目前積極影響因素多些,國家出臺了多項鼓勵軟件發展的政策法規,有利于軟件企業的發展。軟件企業得到優惠,研發團隊自然能從公司爭取到更多的利益和資源。社會的影響主要是對生活的影響,就像之前說的逃離北上廣,很多軟件人才都開始往西安、武漢、成都、南京等地發展。同時,軟件企業也出于成本考慮,將研發遷往成本更為低廉的地方。在北京,很多軟件從業人員都是北漂,這就意味著會影響到研發團隊的人心。
如果說以上方面還是間接影響的話,那么客戶和合作伙伴的變化直接影響著項目。客戶是上帝,但不能盲目服從。在項目管理里,識別干系人很重要的,如果識別不當,風險蠻大的。另外,合作伙伴的實力和忠誠度也會影響項目進程。比如,有一個半拉子項目,開始于09年,至今已有三年多了,停滯原因就是大環境造成的,沒有后續資金投入。去年我接手時,說要重新啟動,無奈工地施工發 生事故,又停下來進行整改。因為時間過長,所采用的技術和設備已經落后,之前的合作伙伴也發生了改變,似乎一切都存在太多的變數。今年,終于要真的重新啟動了。基于此,我認真分析了當年的技術規格文檔,針對當前的情況,果斷地將技術和設備進行了變更。雖然軟件要重新研發,但是改用了現在流行穩定的技術,成本增加不多。而且設備成本降低不少,研發所增加的成本完全可以在設備采購中抵消。總的看來可以大大降低未來的實施風險以及日后的運維成本。
二、內部風險。
內部來自于所處的公司環境、項目團隊等。而內部最大的風險就在于公司的戰略、文化、運營效率、資源配置。公司戰略是方向,方向不對,努力白費;公司文化決定是否能吸引人才、留住人才;公司的運營效率決定著項目的運行效率,復雜的流程、反復的決策也會拖垮項目;資源配置的合理性和支持程度決定著項目能否走得又快又好。
我曾經呆過的某公司,屬于創業型公司,就一直處在方向不定的階段。決策層意見不統一,朝令夕改,導致項目走走停停。最初決策以產品研發為主,要項目部遵從產品部的技術要求,基礎構件必須由產品部統一研發和發布。但是,公司剛開始創業,積累不多,而且幾個項目并無太多雷同之處,抽取共性很難。于是,產品部門任務繁重,不時要發布新版本,而項目部門則不停地提需求,不停地測試新版本,不停地埋怨,不停地安撫客戶,結果可想而知。再者,公司頭兩年為了留住人才,出臺了年底雙薪以及工齡工資增長制度。后來,公司隨著人員的增多,立馬就一刀切,廢除了雙薪和工齡工資,這就大大傷害了老員工的積極性。本身老員工的起薪就不高,加薪也不容易,現在收入明顯銳減,也沒有補償措施,自然人心渙散,好多骨干紛紛跳槽,導致了項目青黃不接。
三、技術風險。
從這么多年的經驗來看,技術風險并不可怕。技術風險往往來自于技術決策者,技術決策者要全面評估技術可行性,確定技術方案,只要評估準確了,就為項目的后續工作打下了堅實的基礎。在決策過程中所預計到的關鍵技術點,都要有解決思路或預案。還有就是對業務需求的掌握和理解程度,理解的偏差會嚴重影響項目。另外,成熟的技術架構和構件,也是同類項目的一個主要的技術保證。
這里留給我印象最深刻的有兩個項目,一個是早年做的數據采集分析軟件,還有一個是兩年前參與的某政府采購平臺。數據采集分析軟件最初采取的語言是 Java,Java在服務端開發很快,但在客戶端UI開發上相對弱些,隨著開發的深入,越來越不能滿足客戶的要求。在第一版發布后,痛定思痛,改用 delphi開發UI,幸虧轉型及時,之后涉及很多統計報表,如果用awt/swing來做,不可想象。再一個就是某政府采購平臺,客戶要求全部采用開源 技術,如果是成熟的開源技術還好說,關鍵是要用剛剛興起的開源技術,版本不斷再修訂,且不是太穩定,資料也很少。做些簡單的還能應付,但對于企業級的應用,比如工作流、全文檢索、表單定制等來說,就不行了。況且時間和資源投入都不允許做基礎性研究。之后,實在扛不住,好歹說動客戶,引進了成熟的開源技術,才勉強過關。
四、管理風險。
軟件研發項目最重要的還是在管理,項目經理的綜合實力基本決定了項目的成敗。項目經理要有敏銳的嗅覺,要有很強的對客戶、領導、技術、團隊、資源的把握能力。項目經理要有對團隊的絕對把控。說實話,項目經理沒有點技術實力,是很難帶領軟件研發團隊的。項目經理在客戶面前要敢于說不;在領導面前要敢于要資源、要支持;在團隊面前,要以身作則,獎罰分明,愛護每一位成員;要熟悉業務,了解技術。要培養出好的項目經理不容易,這是公司的職責;要培養出好的項目團隊也不易,這需要全方位的協作。在軟件行業,跳槽是很頻繁的。在我周圍的朋友或者同事,其跳槽最大的因素不在于薪水,而是職業發展空間。如果沒有一個良好的職業成長體系,是難以留人的;其次是領導的魅力,軟件從業人員都是知識型人才,起點較高,在馬斯洛需求層次理論里屬于第四層次,大部分追求的是獲得尊重和欣賞。
風險無處不在,既有消極的也有積極的。風險是有階段性的,并且性質是可能會轉變的,就像塞翁失馬,焉知非福。風險管理最重要的還是要有風險意識,領導沒有意識,員工沒有意識,再多的風險管理方法和技術都是空談。其次正如歷史在不斷地重復一樣,項目也如此,要善于總結。軟件研發項目隨著不斷地積累,會越做越好。項目知識庫的建立,絕對是風險管理的重要舉措。