軟件項目成敗的原由可以說是多種多樣,但不論其千變?nèi)f化都可以歸納為三個方面:技術(shù),人力,過程管理。

  在技術(shù)方面,首先是產(chǎn)品對項目的支持。產(chǎn)品的易用、易維護、易擴展、穩(wěn)定性直接決定了對項目的支持程度。
  衡量一個產(chǎn)品質(zhì)量有許多種方法,ISO中也有對一個企業(yè)軟件質(zhì)量方面的明確規(guī)定。在企業(yè)應用管理軟件中,常常從功能上提出了一些具體的標準,比如:自己封裝的時間編輯框(支持時間的選擇、清空和手工錄入)和下拉框(支持中文過濾或者其他一些功能)、自定義統(tǒng)計、自定義報表、自定義流程、自定義界面、查詢。每個經(jīng)驗豐富的軟件過程師一般都會在其中一兩個領(lǐng)域中有自己獨特的一套辦法。

  一個好的界面在開發(fā)前應該考慮到日志、權(quán)限、通用業(yè)務流程、數(shù)據(jù)庫操作的處理、界面控制(字體、焦點顏色、輸入法控制)等、字符集和常量定義。同時要考慮到界面的展開方式(光標處理,延遲界面的處理)、界面間參數(shù)傳遞的方式或者消息處理、界面的封裝和獨立等。

  好的產(chǎn)品才能對項目做出大的支持。

  如果說技術(shù)是個基礎(chǔ),那么人力是一個項目的根本。

  產(chǎn)品開發(fā)可以有梯隊,企業(yè)可以有新人,但是項目隊伍一定要精練。要用用的人才。有時候一個項目精英可以發(fā)揮一個企業(yè)系統(tǒng)級的作用。項目組的成員要素完整、分工清晰和權(quán)責分明。

  權(quán)責分明非常重要,權(quán)責不明導致溝通中出現(xiàn)沖突。有時我們解決溝通沖突往往只想到統(tǒng)一接口,這樣做會增加溝通的成本,造成項目的延遲。

  必須有一個項目經(jīng)理,而且這個項目經(jīng)理不要承擔過多具體的工作,他只需要協(xié)調(diào)全局,嚴格跟蹤計劃、推動計劃的執(zhí)行、控制項目范圍、平衡質(zhì)量和效率等。項目管理培訓

  個人經(jīng)驗、解決問題能力也很重要。

  比如用戶強調(diào)一個界面。我們?nèi)ゾ幊虒懸粋界面,加上一些數(shù)據(jù)處理或者其他功能一般需要三天左右的時間。然后和客戶一討論發(fā)現(xiàn)不對,回去再改上個幾天,反復幾次,一個月過去了。我常常用word表格來做界面,用不同顏色單元格來替代工具欄,菜單項及其他工具按鈕,在和客戶交談的過程中我可以做出這個界面,然后讓客戶確認。一些功能相對復雜的界面,我一般用編程工具做出大概樣式,然后復雜部分或者數(shù)據(jù)連接部分直接用圖片代替,讓用戶確定后再認真做出界面,這樣節(jié)約了大量的時間。許多中小軟件企業(yè)都采用這種方法做一些初級demo。

  這種類似的經(jīng)驗可以相互交流,相互學習。這也是修煉內(nèi)功。

  要增加激勵人的手段,出臺一些項目獎勵措施。避免出現(xiàn)困難時,員工找借口,抱怨待遇不好,獎少懲多。記得公司年中會后和李總吃飯時,李總說,險境是機會,公司內(nèi)許多人的成長都是克服了重重困難后獲得的。但是真正遇到難題時,大家卻很難擺正心態(tài),需要一些外在措施的激勵,這個不是簡單的敬業(yè)與否的問題。
  影響項目的重要的因素卻是過程管理。過去幾十年,軟件項目的失敗,70%以上都可以歸結(jié)為管理不善。

  從項目啟動會議開始后,要確認項目組成員,一定要把客戶的業(yè)務骨干加入到項目中來。項目組內(nèi)要定期匯報項目進度,總結(jié)項目工作。

做需求分析的人盡量熟悉業(yè)務和產(chǎn)品、以及一些標準規(guī)范比如ISO和CMM體系。只有這樣才能使客戶信服,甚至可以把業(yè)務實現(xiàn)方式向我們的產(chǎn)品上引導。做需求調(diào)研盡量有書面文檔,文檔要全面,了解一下客戶的軟件硬件環(huán)境、網(wǎng)絡環(huán)境、客戶組織機構(gòu)、客戶的人員素質(zhì)。爭取把醫(yī)院的現(xiàn)在大體情況了解清楚。把一些問題指標化,比如有幾個登記臺,有幾個his軟件,超聲科室放射科室主任是誰。以前我做需求調(diào)研時,常常抱著一大堆資料讓客戶去填,我了解后才開始分別找相應的人去咨詢。同時要把可能有爭議的問題,甚至業(yè)務規(guī)范中不明確的問題,提前和客戶討論清楚,避免問題到了項目中期才發(fā)現(xiàn),那時發(fā)現(xiàn)這些問題都是些“硬骨頭”時,只能感嘆了。比如his融合,叫號系統(tǒng),產(chǎn)品要求和業(yè)務需求?蛻舻闹鳂I(yè)務流程必須調(diào)研清楚,形成文檔,并用迭代方式不斷補充匯總,這一塊內(nèi)容要求能量化,明確化。需求調(diào)研的成效直接決定了能否準確的評估工作量。

  項目經(jīng)理要肩負起控制項目范圍的作用。以市場和客戶需求為導向,對需求變更進行評估,需求發(fā)生變更時要更改相應的工作計劃。要編寫或者匯總項目開始后每個工作計劃,里程碑計劃、需求分析計劃、概要計劃、產(chǎn)品研發(fā)計劃,測試計劃等?刂祈椖糠秶唵握f是使項目中產(chǎn)品功能要或者客戶需求及需求變更有一定限定性。防止過度追求產(chǎn)品完善或者客戶需求無限變更造成風險增大、成本增加、進度失控。