關於軟件外包項目管理的幾點體會(本文版權歸吳兵本人所有,謝絕轉載!謝謝!)

        本文版權歸吳兵本人所有,謝絕轉載!謝謝!

        隨着我們公司在智能交通領域的日益拓寬,我司將承接更多的信息化項目,與此同時企業自身的信息化建設也在如火如荼的建設中。由於我們公司立足於建立小而精幹的IT管理團隊,因此在IT項目中會經常存在軟件外包的情況。其實,軟件外包已成爲現代軟件工程中較常見的做法,軟件外包可以使我們公司獲得專門的技術知識、降低人力資源成本、控制項目成本。目前我們公司進行得項目中就存在着軟件外包的情況,比如公司內部的數據庫系統、信息查詢系統的軟硬件等等。在實際軟件外包項目管理中,我們對以下幾個問題得出了一些心得體會,現提議出來可供其他項目參考實踐,相信這些思路也適用於其他的外包管理。

     首先,軟件外包第一步要做的是,先要弄清楚外包軟件的詳細需求。用戶需求分析可以分爲功能性需求和非功能性需求。功能性需求就是軟件的具體使用功能,而非功能性需求可分爲軟件的擴張性、穩定性等性能需求。對於功能性需求,是指我們或者客戶使用這個軟件要達到什麼目的,要求這個軟件有什麼樣的功能,下面我們以電子產品爲例,進行簡要說明。

     電子產品後面是幾十個供應商,前面是成千上萬的顧客。怎樣利用軟件管理錯綜複雜的供應商並且維護好電子產品系統使乘客滿意,如何做好精細到一個小小螺絲的進、銷、調、存的商品流通工作,這些都是我們需要詳細分析思考的。而且有時光是自己分析還不行,還必須與實際將要使用軟件的業務人員進行討論,這樣才能使開發出來的軟件能真正發揮作用。否則,我們可能在實際的外包中就會遇到種種教訓:

      例一:由於客戶的用戶需求非常籠統,因此外包方按一般的行業軟件進行開發,結果花上大價錢開發出來的軟件在使用時才發現根本不符合該客戶的特殊需求,最後只好束之高閣。

      例二:由於當初沒有把客戶需求完全細化,等到軟件開發出來才又要求增加功能,而臨時增加功能就意味着增加費用,實際費用可能是當初預算費用的幾倍,這樣的項目意味着失敗。

      這些都是外包項目中可能會實實在在遇到的深刻教訓,因此,強烈建議外包需求的項目組把軟件的需求分析完全分析透徹,並文檔化,並作爲合同的一個附件。這樣便於軟件承包方更好地分析項目,開發軟件,出現爭議也能夠更好地解決。我們在無障礙查詢機項目中採取了這種方法,取得了比較好的效果。

      其次,在軟件外包工程中,保證質量的進度是很難控制的。對於項目經理來說需要一整套複雜的能力,比如制定計劃、確定優先順序、干係人的溝通、評價等,每一種能力都與項目的最終結果有直接或者間接的關係。但是,如果我們項目經理沒有接受過正規訓練,缺乏項目管理方面的專業知識的技巧,如果只是憑藉已往的少量經驗盲目去做,容易出現各種問題。尤其是在管理外包項目時,缺乏足夠的經驗和技巧,往往造成進度不斷推遲,而質量無法保證的情況。但是,我們在實際的軟件外包項目管理中採用了計劃管理手段的里程碑管理方式,合理的控制了項目的進度,使項目按時交付給客戶。

一般來說,在項目開始時,項目組成員都會對項目制定一個詳細的計劃。通常情況下,在明確的工作說明書(SOW)和WBS的基礎上制定具體的進度計劃時,需要採用一些具體的技術,像這種軟件外包項目,最成熟的技術是里程碑管理。

里程碑一般是項目中完成階段性工作的標誌。不同類型的項目,里程碑也不同。比如,在開發項目中,可以將需求的最終確認、產品移交等關鍵任務作爲項目的里程碑。不過,要注意的是,每到一個里程碑處,應及時對前段工作進行小結,並對後續工作進行計劃調整。對於一些管理效果明顯的領域,可以不必投入較多精力。而對於下一步管理過程中可能會出現問題的領域,應給予較多的關注。當然,在軟件項目裏,進度的變化是較常見的事情。因此,如何在保證項目預算內、滿足質量的前提下,按進度完成項目。根據我們的實踐,推薦一種較實用的方法——儘量利用歷史數據。我們應該盡力調查之前的項目情況,將會發現可以類比的情況,事先就可以知道需要管理質量和進度的關係。

最後,軟件外包還有一個後期維護的問題。軟件全部安裝測試通過並交付使用了,項目就全部結束了嗎?軟件發包方與軟件承包者就沒有任何關係了嗎?不是的。任何軟件都會存在維護期,而對於大型的軟件來說這個期限一般是一年。在這段時期內,如果發現軟件有BUG,也就是說使用中發現有問題,都可以要求軟件承包方重新改正。有時在使用後,覺得應該增加新的功能,也可以提出要求讓軟件承包方對程序進行升級。當然,增加新的功能一般是要付費的,所以應該儘量避免,因此,我們必須儘可能在最初分析用戶需求時就涉及到所有的功能要求,這一點在前面已經講到過,就不再重複了。還有一點要特別注意的是,在交付軟件時,一般要求軟件承包方提供全部的源代碼和技術文檔,這樣的話如果以後對方由於各種原因不能維護軟件時,我們還可以委託其他軟件承包方對軟件進行維護或升級。現在我們的企業內部數據庫系統就準備採用這種方式。

以上談了我們在軟件外包中的一些經驗和教訓。在實際的項目外包時,可能因爲行業的不同對軟件的要求千差萬別,但對於外包的要求都有着共通性。因此只要能認真做好以上這幾點,並在實踐中不斷思考和總結,相信一定能委託到合適的軟件承包方,開發出滿足我們各種項目中適合該項目特殊要求的軟件,來幫助我們的客戶做好日常的經營和管理工作,提升客戶的滿意度,進而提供我們企業的競爭力,使我們的企業進一步做大、做強,獲得長足的發展。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章