期刊VIP學術指導 符合學術規范和道德
保障品質 保證專業,沒有后顧之憂
摘 要 最近幾年IT行業的蓬勃發展,已經涌現出不少軟件開發項目外包公司。一個軟件開發項目通常要經歷需求分析、設計、編碼、測試等多個大的階段。其中設計又包括總體設計,系統設計,詳細設計等幾個環節,其中還包括模塊化之后的集成環節,整個項目還包含與專業或是非專業客戶團隊的溝通問題。項目整體環節復雜多變,管理困難,需要專門的項目管理方案與分析團隊。
關鍵詞 軟件開發 成本核算模型 風險控制 質量保證活動

隨著高科技與信息化的發展,互聯網已經被廣泛運用到各個行業中,其運行載體“軟件”更是滲透于生活中的點點滴滴。企業當然也要與時俱進,對各類的軟件需求也越來越多,要求也越來越高,用以提高自身的核心競爭力。但是很多企業由于資金流短缺、技術低的局限,常會選擇軟件外包公司進行相關的軟件開發服務。把信息化建設工作交給專業的服務公司團隊去做,企業解放了這部分資源,把更多的人力物力集中在核心工作上。尤其是對于那些不可能投入大量資金和人力的企業來說,技術外包可以讓他們更專注于研究自身的經營難題。由此軟件開發外包團隊應運而生,但隨之而來的是外包公司對單個開發項目的項目管理問題。[1]
1 項目整體管理
1.1 軟件開發外包項目簡介
著名通信與科技公司華為正在參與最新的第五代通信技術“5G”的研發,研發與應用進度領先于美國在內的多個國家的龍頭通信公司,該公司有望成為“5G”的行業標準制定者。由于要做“5G”的商用,在研發與商用開發的的過程中產生了軟件開發問題,盡管華為公司的規模龐大,員工數量多,但是許多軟件過程更加趨向于過程模式化,如果花費大量的人力、財力在此上,則是得不償失。根據已知資料,華為在“5G”研發上已經投入超過153億美元,在如此巨額的研發成本下,為了加快開發商用進度節約時間與成本。許多的軟件開發則是由外包團隊承擔,所以在這個背景下外包團隊成功的項目管理就顯得格外重要。[2]
1.2 軟件開發具體工作分解結構圖
外包團隊的軟件開發周期分為若干個階段,每個階段都可以分為啟動、計劃、執行、控制和收尾等五個基本管理過程。這些過程按一定順序發生,彼此交疊。一般情況下,執行過程消耗的資源較多,持續時間較長,啟動和收尾過程時間較短,消耗資源較少。但是軟件開發則是不同,軟件開發在代碼實現階段難度不是太大,更多的時間成本花費在測試與運維階段。以下簡單介紹了其主要階段[3]和核心工作。[4]
1.3 項目章程
中文名稱:華為軟件開發外包項目
立項時間:2018年11月
外包團隊:中軟國際,博朗軟件……
外包軟件數目:128個
項目結束預計時間:2020年9月
外包費用:15億
負責人:華為研發部經理,各個外包團隊負責人。
2 項目成本管理
華為外包總投入約為15億。
2.1 軟件開發規模核算模型
2.1.1 面向規模的度量標準
每KLOC(千行代碼)的錯誤數,即總錯誤數除以總KLOC。
每KLOC(千行代碼)的缺陷數,即總缺陷數除以總KLOC。
每KLOC(千行代碼)的文檔頁數,即總文檔頁數除以總KLOC。
2.1.2 間接測量—功能點度量
功能點數從直接度量軟件信息域和評估軟件復雜性的經驗量化關系中獲得。
步驟:
·先算未調整功能點總計數UFC
·再算功能點FP
計算功能點(FP):
total_counts:總計數
Fi (i取1到14) :14項復雜性調整值
2.2 基于規模完成成本核算
算法成本模型-基于經驗的度量:
●軟件成本的算法成本模型
Effort=A+SizeB×M
●A,常量,由組織的實踐與軟件的類型所決定。
●B,常量,取值范圍(1,15)。
●M,常量,反應產品、過程與人力屬性。
●Size,可以是軟件代碼規模的估算,也可以是功能點或目標點。
3 項目質量管理
軟件的質量管理工作是一個系統過程,在實施過程中必須創造必要的資源條件,使之與項目質量要求相適應。各職能部門及實施單位要保證工作質量和項目質量,實行業務工作程序化、標準化和規范化。支持質量部門獨立的、有效的行使職權,對項目實施全過程實行質量控制。
軟件質量是一個軟件企業成功的必要條件,其重要性無論怎樣強調都不過分。
項目的質量保證活動由項目經理協調項目組長在軟件的各個階段中實施。
4 項目的風險管理
風險是一種潛在的危險。軟件項目由于其自身的特點而存在風險,甚至是災難性的風險。
項目風險管理主要包括:風險標識、風險估算、風險評價、風險管理。
4.1 風險標識
識別潛在的風險,分別對以下三類風險進行提取、分析:
項目風險。與項目有關的預算、軟件開發進度、人力分配、資源、用戶需求、軟件規模、軟件復雜性等方面的問題。
技術風險。影響開發質量和交付時間的設計、實現、驗證、軟件測試、維護、用戶接口等方面的問題。
商業風險。包括與產品的商業運作有關的市場風險、預算風險、決策風險等。
推薦閱讀:SCI論文圖片用什么軟件做?