糯米文學吧

位置:首頁 > 企業管理 > 項目管理

中小企業軟件項目管理的診斷

對於一個企業的管理來講,大公司有大公司的方式,小公司也有小公司的方式,如果把別人的經驗生搬硬套到自己身上,可能會適得其反。同樣,管理一個軟件項目也一樣,大項目和小項目的方式雖然不完全一樣。而從另一個角度來看,項目的大與小並沒有本質的區別,很多方法是共通的。

中小企業軟件項目管理的診斷

  小型軟件項目中常犯的錯誤

相對於大型軟件項目,小型軟件項目具有靈活性高、項目功能相對較少、開發人員較少、開發週期較短的特點。業內常常提到“軟件危機”一詞,常是指一些大型軟件項目延期,導致項目順利交接存在困難。這並不意味着“軟件危機”就與小型軟件項目毫無干系。正如上述小型軟件項目的特點,小項目看起來比較簡單,比較容易成功實現,因而人們往往忽視了小項目的管理,其實這是一種誤解,從本人的`經驗看來,小項目開發中容易犯以下的一些錯誤:

  企業層面:

  1、草率確定項目人員

對於中小IT企業來講,人員流動性高,崗位頻繁調換是不爭的事實。如果這種情況出現在項目中,將對項目造成致命的影響。試想一下如果一個項目,即使是個小型軟件項目,開發人員三天兩頭調來調去,開發設計怎麼可能實現呢?所以企業要根據其項目的週期長短謹慎選擇開發人員,保證其在開發過程中可以不間斷。

  2、不看重隱性影響

作為一位項目組成員,當項目自開始時,就把自己與項目的命運聯繫在一起了。項目的成功與失敗都無疑會對項目組成員造成心理上、情緒上的影響。在我們許多中小企業中,企業往往關心的那些大型項目的成果,而忽視了小型項目。原因往往也很簡單:大型項目意味着大收益。然而,項目對項目組成員的隱性影響卻不管項目的大小,且這些影響最終會體現在企業的人員積極性上,這不能不説是企業有效運營的關鍵。

  項目管理層面:

  1、草率的計劃方案

企業往往由於項目較小,在軟件開發之前沒有認真地進行項目可行性和工作量的估計,便很草率地制定一個開發日程表,沒有認真地估計項目難度,結果實際完成時間與估計完成時間往往有較大差別,這種偏差必將是項目陷入困境。

筆者從一位做項目管理諮詢工作的朋友哪裏瞭解到,許多中小企業對於這種偏差的認識始終停留在是執行過程除了差錯,然而根源卻是項目的前端出了問題。

  2、蹩腳設計過程

從小項目的特點來看,開發人員少,意味着不同人員的程序之間交互、接口相對少一些;開發週期短意味着往往是同樣的幾個人從頭到尾負責一個項目。這兩者雖是小項目的優勢,卻都讓人容易犯些錯誤,比如實施中,往往是幾個人碰一下意見,討論一下最基本的數據結構、函數接口便分頭去做自己的工作了,並沒有一份較正式的文檔。其實很多中小企業都是這樣的。這種做法很危險。

危險之一是有的人可能會對討論出的接口、結構理解有偏差,應該承認並不是所有參加會議的人總是很明白,人是會犯錯誤的。而往往一個單純的誤解可能造成以後的返工。

另一個危險是由於討論時忽略了某些情況,等大家都按當時的分工完成屬於自己的工作後,才發現各個模塊組合起來卻形不成一個完整的系統。其根源在於系統設計不充分,沒有一個負責協調的人員不斷監控整個開發過程。

第三個危險是一旦有人中途退出開發隊伍,其他人加入時,新來的人難以理解以前別人做好的代碼,索性自己從頭來。另外,沒有文檔的程序,日後維護和版本升級都比較困難。這些不僅是項目沒有成功,而且為項目的後續工作要付出很多努力。

  3、直奔系統測試

指項目不經過單元測試而直接進入系統測試,造成這一現象的原因是每個模塊相對比較簡單,但是為了測試一個模塊需要建立一些測試環境。比如為了測試一個函數是否正確,應該用一些測試數據去調用該函數,需要編寫一些測試數據。筆者曾經做開發時,也嫌麻煩,覺得反正其他模塊也很快出來了,直接用真正的數據來運行幾次就行了。 殊不知,一旦直接進入系統測試,發現運行結果不正確後需要一步一步查找。同時,由於模塊間的調用關係,可能查了很久才發現是某個模塊的問題。

這種方法如果僥倖成功,效率可能會很高,但這種概率不超過40%。所以,總體看來,這種方法一來效率比較低,大量的時間用在了將一個錯誤定位在模塊上了。另外由於這種測試不完全,真正運行系統,當調用某模塊時,可能大部分時候都是正常數據,極少出現邊界情況,可能某些邊界情況容易被忽視,很久之後才被發現,正所謂欲速則不達。然而,如果我們對每個模塊進行單元測試時都進行一下邊界測試,就會很容易消除這些隱患。