目前軟體的應用已經深入到企業、**及我們日常生活的方方面面,其中大量的開發是由中、小型軟體企業承擔的。由於中、小型軟體企業在體制,人力資源投入力度和關心程度等方面存在差異,開發軟體產品時與專業軟體企業有很大的不同,因此對中、小型軟體企業的軟體專案管理進行研究,有助於提高軟體專案管理水產,增強客戶的滿意度。
軟體專案管理既具有一般專案管理的屬性,又具有其特殊性,軟體專案管理的重點在於標準的制定和推行。為了加強我國軟體業的國際競爭力,需要發展一大批具有遵循開發過程與注重質量的文化氛圍的企業。而制定和推行標準的目的正是要引導軟體企業逐步走向成熟,使其工程和管理水平穩步提高,同時為他們提供全方位的服務,以支援軟體產業的整體發展。軟體專案管理在20世紀70年代中期引起了廣泛的注意。美國國防部通過研究發現了所謂的「軟體危機」,即「管理是影響軟體研發專案全域性的因素,而技術只影響區域性」。目前國內的中、小型軟體企業,由於其企業規模、研發能力等限制,造成其軟體開發管理的問題非常普遍。不恰當的組織結構,工作流程不規範,缺乏專案管理概念和軟體工程概念等是中、小型軟體企業面臨的主要問題。
國內的中、小型軟體企業雖然涉足軟體開發業務,但對軟體的認識還停留在「程式設計師編**」的水平上。對企業內部的軟體開發缺乏管理意識,具體體現在以下幾個方面:首先,專案負責人專案管理經驗不足,專案功能相對較少,涉及面相對狹窄;其次,專案開發人員較少,人員結構簡單;再次,專案進度缺乏控制,專案成本預算較難,缺乏完整的專案文件;缺乏後續維護。
本文**專案管理者聯盟
與專業軟體公司的軟體開發組織比較,中、小型軟體企業中的軟體開發工作機構小、人員少、開發人員待遇低,難以吸引高水平的人才,人才流失率達到50%以上。由於沒有高水平的開發人員和技術管理人員,軟體工作狀況處於初級水平,軟體開發不能按照軟體工程的要求執行。軟體系統建立過程中需要多方面的人員;需求方人員、懂得軟體專案管理的人員、軟體程式設計師、系統分析員。普通企業由於對軟體生產不了解,往往由軟體需求方人員對軟體工作直接管理。這個工作顯然超過了其能力範圍,不符合軟體工作的相關原則。業務人員作為專案的負責人,既不能合理地計畫軟體開發工作,也不可能管理好軟體工作中的各種風險,這將使軟體開發處於無序的風險狀態之中。
在需要團隊協同工作的今天,溝通可以說已經變得無比的重要。在軟體業,溝通可以說是快速學習和掌握新知識,達到技術上更高層次的最佳途徑。如果小組成員在協調上出了漏洞,會導致很大的問題,所以專案負責人必須隨時監控開發人員的工作,包括內容是否與要求發生偏差、進度是否滯後等。
專案組與組織之間、專案組與專案組成員之間,甚至與乙個專案組的不同成員之間,如果沒有足夠的溝通意識、溝通制度和溝通工具,就有可能造成資訊不暢,從而加大專案失敗的風險。中、小型軟體企業開發人員少,意味著不同人員的程式之間互動、介面相對少一些;缺少文件資料或者文件資料不規範也是軟體專案管理中的普遍問題。由於討論時忽略了某些情況,當大家都按當時分工完成屬於自己的工作後,才發現各個模組組合起來卻不能形成乙個完整的系統。其根源在於沒有乙個負責協調的人員不斷監控整個開發過程。一旦有人中途退出開發隊伍,其他人加入時,新來的人難以理解以前別人做好的**,索性自己從頭做起。
與乙個標準的軟體開發流程相比,中、小型軟體企業內部的軟體開發「節省」了不少步驟。如不經過單元測試而直接進入系統測試等。由於這種測試不完全,真正執行系統,當呼叫某模組時,可能大部分時候都是正常資料,極少出現邊界情況,但某些邊界情況容易被忽視,很久之後才被發現。但是如果對每個模組進行單元測試時都進行邊界測試,就會很容易消除這些隱患。
軟體開發模型是軟體開發全部過程、活動和任務的結構框架。它能直觀地表達軟體開發全過程,明確規定要完成的主要活動、任務和開發策略。乙個企業的管理,大公司有大公司的方式,小公司也有公司的模式,如果把別人的經驗生搬硬套到自己身上,可能會適得其反。同樣,管理乙個軟體專案也一樣,大專案和小專案的方式不可能完全一樣。但從另乙個角度來看,專案的大與小並沒有本質區別,很多方法是共通的。
一切溝通與交流,首先都要有可見的依據,這可以從制定軟體開發規範入手。具體可以從以下四個方面制訂:軟體開發工作流程規範、產品文件規範、軟體開發文件規範、開發管理文件規範。編寫規範,可以參考國家標準的計算機軟體工程規範,也可以結合開發經驗制定出適合本企業使用的開發規範。
詳細制定這些文件使用方法和規則,要保證文件便於書寫、形式一致,這不僅要有文字描述,還應制定相關文件模板,形式上要保證簡潔明瞭、實用、符合使用習慣。根據專案規模的不同,還可以制定不同的文件模板,小型專案可以寫乙個相對簡化的小型專案文件,複雜專案可以使用較全面和大型的文件模板。
軟體開發中人的因素占有很大的比例,因些對軟體人員的培訓是非常重要的。乙個團體的軟體水平並不是個別程式設計師的程式水平,而是整體的認識和系統建設的水平。可以先在內部對軟體開發人員進行培訓,內容包括軟體工程、已經制訂的各種規範、專案管理知識。通過共同分析軟體工程對軟體開發和開發者的益處,可以得到開發人員的認同,以便共同遵守和執行初期規範,更好地完成開發目標。
軟體開發是乙個知識密集型領域,對人才的依賴很強。加強生產過程的規範性並規範管理,可以加強人的執行能力。在中、小型軟體企業中,很少有成本核算和嚴格的進度控制。影響專案的因素也比較多:需求的提出比較隨便,甚至業務需求還不明確的時候就要求程式設計師開始程式設計序,沒有合理的措施控制透徹的分析業務需求;時間進度由領導規定,而不是根據需求客觀確定,這樣使軟體質量根本無法保障。因此要通過加強管理使軟體開發過程視覺化,軟體開發工作協調、有效。
在規則明確、組織機構確定、有一定的理論認識之後,可以通過一些管理要求,強制執行軟體工程的一些基本過程,要求的提出簡單明瞭。例如,專案要有正式立項啟動、專案結項,有時間控制要求、計畫要求。要求專案有開發計畫,計畫中確定開發工作的人員保障、開發周期、開發進度計畫,並允許專案進行中在一定範圍內調整計畫與進度。上級領導也應出面協調和幫助解決相應問題。
軟體開發不是一處短期行為,但是,由於許多開發工作因缺少管理而成為個人行為,對於軟體成果沒有保護意識,更不能達到軟體的共享與重用。通過「統一配置管理」這一具體的做法,能夠強化軟體完成後的總結工作。建立基本的軟體配置管理機制,在開發中和開發後都要求程式設計師及時備份原始檔。進行這項工作要首先選擇一套適合的配置管理軟體,如vss、cvs等。專案主管應該要求程式設計師在開發全過程 使用軟體來管理檔案,在全過程的配置管理的基礎上,整個專案組更容易完成統一編碼、測試組裝產品等工作。
以上步驟,可以保障內部開發工作達到初級的專案視覺化,在軟體開發部門內部建立起對滿足業務需求完成的信心,以滿足業務需求的承諾。通過這些工作,可以在企業內獲得對軟體規範性的一定認識以及對執行方式的認同,這對軟體開發工作會有不同程度的幫助。
有了規範的開發生命週期模型和專案管理實踐,可以為中、小型軟體企業設計乙個建立在資料基礎之上、不斷度量和改進及不斷提高企業開發能力的乙個良性迴圈的工作機制模型。
中小型軟體的開發專案管理
本處指的中小型軟體開發專案是指 參與開發的直接人員 即開發團隊 數量在3 25人 開發時間在3個月 18個月的軟體專案 行數5000 75000行 子程式數量300 3500個 1 軟體開發管理的任務 軟體開發管理的真正任務是團隊成員的智慧型充分而適宜地發揮,並有效地投注在創造軟體的活動中。也就是說...
中小型軟體開發專案管理
本處指的中小型軟體開發專案是指 參與開發的直接人員 即開發團隊 數量在3 25人 開發時間在3個月 18個月的軟體專案 行數5000 75000行 子程式數量300 3500個 1 軟體開發管理的任務 軟體開發管理的真正任務是團隊成員的智慧型充分而適宜地發揮,並有效地投注在創造軟體的活動中。也就是說...
中小型軟體開發專案管理
本處指的中小型軟體開發專案是指 參與開發的直接人員 即開發團隊 數量在3 25人 開發時間在3個月 18個月的軟體專案 行數5000 75000行 子程式數量300 3500個 1 軟體開發管理的任務 軟體開發管理的真正任務是團隊成員的智慧型充分而適宜地發揮,並有效地投注在創造軟體的活動中。也就是說...