計算機和通信技術的迅速發展,特別是Internet技術的發展與普及,為企業內部、企業與外部提供了快速、準確、可靠的信息交流渠道。信息化企業運作管理系統已成為企事業單位參與全球市場競爭的必備支持系統。正是由于這樣的市場需求與技術發展現狀,為我國的IT行業帶來了空前發展的機遇,特別是軟件行業。軟件企業能否抓住這樣一個難得的發展機會需要多方面的努力,其中軟件質量保障在其發展過程中占有重要的位置。眾所周知,印度已成為世界上軟件業增長最快的國家,目前每年軟件業產值達數十億美元,并且還在以每年30%~50%的速度增長。比較我國和印度的軟件產業,就不難發現:中國擁有巨大的軟件市場和世界公認的軟件開發資源,在基礎研究和對技術前瞻性的把握上,也有自己的優勢,就整體社會經濟環境而言也優于印度。此外,中國的軟件開發人員費用比較低廉,僅是世界市場的1/3左右。雖然中國人并不缺乏軟件開發的天賦,但是在越來越強調規模化經營的今天,先天不足的管理痼疾使我們舉步維艱,難以擺脫小作坊式的軟件開發模式。而印度軟件業從一開始就立足于為美國軟件企業服務,并遵循其軟件開發的管理模式,與國際標準接軌。 管理上的問題不能得到徹底的解決,軟件的質量保障就無從談起。筆者最近在與印度一家通過了CMM4級評估的軟件公司(以下簡稱A公司)進行合作的過程中,較為詳細地了解了他們有關項目管理的一些詳細情況,更深刻地感受到了項目管理的規范化與企業軟件質量保障之間的密切關系。下面想著重從軟件企業的構架,軟件項目計劃、項目管理、項目經理的職責等方面對印度軟件的項目管理及我國軟件質量保障應注意的問題進行一些經驗總結,供業內人士參考。
1、軟件企業的組織結構
(1)A公司結構
A公司中,QA(Quality Assure)部門與研發部門獨立,負責監督流程的執行。QA同時負責領導與研發部門組成的聯合工作組,制定公司流程。
SSG(System Support Group)類似我們的IT部門,負責公司所有計算機軟件和硬件資源的分配和管理。所有的辦公環境和開發/實驗室環境由SSG負責安裝和維護,計算機資源屬于SSG,由各個項目向SSG提出需求,項目結束后,設備需要交還給SSG.個人和項目組沒有固定的軟件和硬件資源。SSG是與研發平行的部門。 人力資源部門負責公司的人力資源管理,并維護員工的技能數據庫。項目開始時,項目組向人力資源申請人力,向SSG申請計算機硬件和軟件。項目結束時需要釋放計算機資源給SSG,釋放人力資源到人力資源池,并同時更新員工的技能數據庫。研發部門的人力資源由研發總負責人和其助手分配(類似我國各公司的人力資源部)。
(2)項目組結構
1)A公司對項目組進行獨立核算,項目具體負責人為PC(Project Coordinator),負責項目計劃和執行,對項目具體成員進行分工。在每個階段的結束會議上(如概要設計結束),PC要接受QC(Quality Coordinator)的審查。除了PC與QC的接口外,所有其他外部接口都由EM(Engineer Manager)完成,EM負責與客戶打交道,向SSG、人力資源要求資源,與其他項目組協調進度。
2)匯報關系為:Team Member->Team Leader->PC->EM->研發總負責人。
3)印度工程師分為7級,半年一次考評,即半年有一次升級機會。
1級:Software Engineer,剛畢業的本科生和研究生。
2級:Senior Software Engineer. 3級:Project Leader. 4級:Project Manager. 5級:Senior Project Manager.
3級可以成為PC,4級可以成為EM.剛開始平均2年升一級,越往后升職越慢。
A公司規定,一人最多可以同時兼任兩個項目的PC,EM管理的項目沒有限制。
A公司通常的項目組為4到5人,最多不超過10人。
以上是A公司(同時也是印度大多數規范化的軟件公司)的組織結構和項目組結構。可以看出,A公司的組織結構非常清晰,各個部門分類非常細,任務明確,軟件生產的每一個步驟都有專門的部門、專門的人員負責,從最基礎的開發人員到負責統領全局的總經理,層層管理,溝通渠道暢通。而在我國,管理的不規范往往首先體現在公司的組織結構上,集中表現為部門的缺失和管理的交叉上。我國的軟件公司,大部分規模較小,開發人員超過100人的公司很少。在印度,軟件公司無論大小,都是“麻雀雖小,五臟俱全”,絕不會因為公司的規模大小而改變合理的組織結構。因此筆者認為,國內的軟件企業要想有效地保障產品質量,首先就要在構架合理的組織結構上下功夫,這就如同蓋高樓首先要打好地基一樣,地基不打牢,結構不合理,其他方面再下功夫也是徒勞。有人說,因為國內軟件企業規模小,所以造成結構設置的欠缺,但筆者認為恰恰是因為沒有建立一個規范化的組織結構,才會使軟件產品質量不保,進而嚴重影響了企業的發展擴大。