中小型軟件企業開發與項目管理現狀
國內的中小型軟件企業雖然涉足軟件開發業務,但對軟件的認識停留在“程序員編代碼”的水平上。對企業內部的軟件開發缺乏管理意識,具體體現在以下幾方面: 首先,項目負責人項目管理經驗不足,項目功能相對較少,涉及面相對狹窄;其次,項目開發人員較少,人員結構簡單; 再次,項目進度缺乏控制,項目成本預算較難,缺乏完整的項目文檔; 最后,缺乏后續維護。
軟件開發組織
與專業軟件公司的軟件開發組織相比較,中小型軟件企業中的軟件開發工作機構小、人員少,開發人員待遇低,難以吸引高水平的人才,人才流失率達到50%以上。由於沒有高水平的開發人員和技術管理人員,軟件工作狀況處於初級水平,軟件開發不能按照軟件工程的要求執行。
軟件系統建立過程中需要多方面的人員:需求方人員、懂得軟件項目管理的人員、軟件程序員、系統分析員。普通企業由於對軟件生產不了解,往往由軟件需求方人員對軟件工作直接管理。這個工作顯然超過了其能力范圍,不符合軟件工作的相關原則。業務人員作為項目的負責人,既不能合理地計划軟件開發工作,也不可能管理好軟件工作中的各種風險,這將使軟件開發處於無序的風險狀態之中。
軟件開發溝通
在需要團隊協同工作的今天,溝通可以說已經變得無比的重要。在軟件業,溝通可以說是快速學習和掌握新知識,達到技術上更高層次的最佳途徑。如果小組成員在協調上出了漏洞,會導致很大的問題,所以項目負責人必須隨時監控開發人員的工作,包括內容是否與要求發生偏差,進度是否滯后等等。
項目組與組織之間、項目組與項目組成員之間,甚至與一個項目組的不同成員之間,如果沒有足夠的溝通意識和溝通制度、溝通工具,就有可能造成信息不暢,從而加大項目失敗的風險。中小型軟件企業開發人員少,意味着不同人員的程序之間交互、接口相對少一些; 缺少文檔資料或者文檔資料不規范也是軟件項目管理中的普遍問題。由於討論時忽略了某些情況,當大家都按當時的分工完成屬於自己的工作后,才發現各個模塊組合起來卻不能形成一個完整的系統。其根源在於沒有一個負責協調的人員不斷監控整個開發過程。一旦有人中途退出開發隊伍,其他人加入時,新來的人難以理解以前別人做好的代碼,索性自己從頭做起。
軟件開發工作流程
與一個標准的軟件開發流程相比,中小型軟件企業內部的軟件開發“節省”了不少步驟。例如不經過單元測試而直接進入系統測試等。由於這種測試不完全,真正運行系統,當調用某模塊時,可能大部分時候都是正常數據,極少出現邊界情況,但某些邊界情況容易被忽視,很久之后才被發現。但是如果對每個模塊進行單元測試時都進行邊界測試,就會很容易消除這些隱患。
還有就是邊做邊改模型, 當一個軟件產品在沒有規格說明或主要設計的情況下被開發時,開發者往往不得不重新對產品編碼多次直到他們得到正確穩定的產品。這種開發模型就是邊做邊改模型。邊做邊改模型的最重要缺點是存在於需求。設計和實現中的錯誤要到整個產品被構建出來后才能被發現。
軟件危機
回顧軟件危機, 現在的中小型軟件企業也存在這樣的問題:
(1)對軟件開發成本和進度的估計常常很不准確。這種現象降低了軟件開發組織的信譽。而為了趕進度和節約成本所采取的一些權宜之計又往往損害了軟件產品的質量,從而不可避免地會引起用戶的不滿。
(2)用戶對“已完成的”軟件系統不滿意的現象經常發生。軟件開發人員和用戶之間的信息交流往往很不充分,“閉門造車”必然導致最終的產品不符合用戶的實際需要。
(3)軟件質量保證技術(審查、復審和測試) 沒有堅持不懈地應用到軟件開發全過程中。
(4)軟件常常是不可維護的。由於開發過程沒有統一的、公認的規范,軟件開發人員按各自的風格工作,各行其是。很多程序中的錯誤是非常難改正的,實際上不可能使這些程序適應新的硬件環境,難適應用戶要求增加的新的功能需求,軟件的復用性不高。
(5)軟件通常沒有適當的文檔資料。計算機軟件不僅僅是程序,還應該有一整套文檔資料。這些文檔資料應該是在軟件開發過程中產生出來的,而且應該是“最新式的”(即和程序代碼完全一致的)。軟件通常沒有適當的文檔資料,文檔資料的作用是:管理和評價軟件開發過程的進展情況,開發者與用戶和開發者之間通信的工具,維護工具。
(6)軟件成本在計算機系統總成本中所占的比例逐年上升。硬件成本逐年下降,然而軟件開發需要大量人力,軟件成本隨着通貨膨脹以及軟件,規模和數量的不斷擴大而持續上升。
(7)軟件開發生產率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢。軟件產品“供不應求”的現象使人類不能充分利用現代計算機硬件提供的巨大潛力。
信息系統與軟件工程
以下mindmap已經縮略一些了節點:
團隊的默契度與效率
《人月神化》中提到:需要協作溝通的人員的數量影響着開發成本,因為成本的主要組成部分是相互的溝通和交流,以及更正溝通不當所引起的不良結果.
團隊的默契程度對軟件實施效率影響很大。一個經過長期磨合、相互信任、形成一套達默契的做事方法和風格的團隊,可能省掉很多不必要的溝通,相反,初次合作的團隊因為團隊成員各自的背景和風格不同、成員間相互信任度不高等原因,要充分考慮溝通消耗。
軟件企業人員流動率高的特點導致團隊凝聚力和默契度的錘煉比較困難。而凝聚力和默契度的需要長期的、大量的內部溝通和交流才能逐步形成,由此不難理解持續良好的溝通和交流是一個團隊的無形資產,自然,穩定、默契的開發團隊形成一個軟件企業的核心競爭力的道理。
還有一點不容忽視,那就是軟件開發這種以人腦為主要工具的創造性很強的作業,開發人員的心情和興奮度對個人工作效率影響很大,而一個人置身於氛圍良好、合作默契的團隊中心情一般較好,這種良好的氛圍所能帶來的能量是不可估量的。
加強軟件生產過程規范性
軟件開發是一個知識密集型領域,對人才的依賴很強。加強生產過程的規范性並規范管理,可以加強人的執行能力。
在中小型軟件企業中,很少有成本核算和嚴格的進度控制。影響項目的因素也比較多: 需求的提出比較隨便,甚至業務需求還不明確的時候就要求程序員開始編程序,沒有合理的措施控制透徹的分析業務需求; 時間進度由領導規定,而不是根據需求客觀確定,這樣使軟件質量根本無法保障。因此要通過加強管理使軟件開發過程可視化,軟件開發工作協調、有效。
在規則明確、組織機構確定、有一定的理論認識之后,可以通過一些管理要求,強制執行軟件工程的一些基本過程,要求的提出要簡單明了。例如: 項目要有正式立項啟動、項目結項,有時間控制要求、計划要求。要求項目有開發計划,計划中確定開發工作的人員保障、開發周期、開發進度計划,並允許項目進行中在一定范圍內調整計划與進度。上級領導也應出面協調和幫助解決相應問題。
--------------------------------------------------------------------------------------------------------------------------------------------
今天先到這兒,希望對您在研發管理, 團隊管理, 項目管理, 產品管理 有參考作用 , 您可能感興趣的文章:
軟件開發模型與過程改進
企業信息化與軟件工程的迷思
企業項目化管理介紹
軟件項目成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共享
高效能的團隊建設
項目管理溝通計划
構建高效的研發與自動化運維
某大型電商雲平台實踐
互聯網數據庫架構設計思路
IT基礎架構規划方案一(網絡系統規划)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之采購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之性能實時度量系統演變
如有想了解更多軟件設計與架構, 系統IT,企業信息化, 團隊管理 資訊,請關注我的微信訂閱號:
作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
該文章也同時發布在我的獨立博客中-Petter Liu Blog。