這是管理學大師彼得·德魯克的預言,同時也反映了現代企業運作的一條金科玉律——“利潤最大化,成本最小化”。 軟件業是一個高速變化、新技術層出不窮的行業,同時又是人力資源、人力成本相對較高的行業,更需要采用外包服務形式來合理地配置資源,最大限度地從分工合作、資源共享中獲益。綜觀軟件產業的現狀,發達國家的軟件外包已經成為軟件企業發展的必要手段,國際間的軟件外包與轉包業已經日漸成熟。因此,中國軟件產業要發展,就必須大力發展軟件外包服務,做到專業分工明確、協作配合良好,形成一個完整的軟件產業鏈。
軟件外包在CMM中的體現
CMM2中的“軟件子合同管理”KPA涉及了軟件外包管理問題,它規定了企業應如何管理軟件開發業務和軟件開發子合同。但是,軟件外包管理實際上涵蓋了軟件生命周期中的各個過程,任何一個軟件外包過程都會涉及到需求管理、軟件計劃、質量管理、項目追蹤、配置管理等內容,因此,不能孤立地看待CMM的軟件子合同管理,而應該將其視為能將其他軟件開發過程從公司內部部分或全部延伸到公司外部的管理規范與管理技術。通過軟件子合同管理過程的實施,軟件開發機構能夠有效地管理與控制他們的業務分包過程。
實際上,SEI還開發了另一個模型——SA-CMM(Software Acquisition Capability Maturity Model,軟件采辦能力成熟度模型),它是為需要采購或分包軟件系統的公司或組織設計的能力成熟度模型,用來評估、改善或控制軟件系統的獲取過程。軟件采辦能力成熟度模型也分為5級:初始級、可重復級、已定義級、定量管理級、優化級。與CMM 不同的是,SA-CMM關注的是軟件購買者的軟件能力成熟度;而CMM關注的是軟件系統承包者或開發商的軟件能力成熟度。軟件采辦能力成熟度模型適用于軟件生命周期的各個階段,包括維護過程。
因此,在CMM模型體系中,SA-CMM是作為管理軟件的外包或分包過程的模型,需要評估或改善軟件采辦或分包過程的公司或組織可以按照SA-CMM模型去調整自己的組織管理能力和操作過程。由于軟件采辦能力成熟度模型是1996年才公布的,其影響還很有限,真正成功地實施了SA-CMM的公司或組織也比較少,因此,國內企業要想按照SA-CMM模型改善軟件外包管理過程會遇到一定程度的困難。
實施軟件外包管理
從CMM的“軟件子合同管理”KPA開始實施軟件外包管理是比較好的辦法。CMM模型定義了軟件子合同管理要達到的目標、實施時必須履行的承諾和需要具備的能力,定義了進行軟件子合同管理應該進行的活動。但是,就像SEI對軟件能力成熟度模型其他KPA的描述一樣,只是給出了“應該做什么”,而對“如何做”這一關鍵問題并沒有給出相應的指導,很多想實施軟件外包管理的企業和組織都感到無從下手。我們參考了一些國外的資料,結合具體的實踐經驗,提出了一個框架性的描述,它包括以下13個方面的具體活動:
◆ 按照文檔化的規范定義和規劃子合同;
◆ 按照文檔化的規范,根據承包商完成工作的能力選擇承包商;
◆ 把與承包商簽署的協議作為管理子合同的基礎;
◆ 評審和批準文檔化的承包商軟件開發計劃;
◆ 以軟件開發計劃為標準,跟蹤軟件開發過程;
◆ 按照文檔化的規范,對承包商的工作陳述、子合同條款、條件以及其他約定進行更改;
◆ 雙方的管理者一起執行定期的狀態或協調評審;
◆ 承包商參與定期技術評審和交流;
◆ 按照文檔化的規范在所選擇的里程碑處進行正式評審,評價承包商的軟件工程完成情況與結果;
◆ 軟件質量保證組按照文檔化的規范監控承包商的軟件質量保證活動;
◆ 按照文檔化的規范進行驗收測試,定期評價承包商的能力。
企業按照這些步驟,就可以初步開展軟件外包管理活動。
文章來源于領測軟件測試網 http://www.kjueaiud.com/