計算機和通信技術(shù)的迅速發(fā)展,特別是Internet技術(shù)的發(fā)展與普及,為企業(yè)內(nèi)部、企業(yè)與外部提供了快速、準(zhǔn)確、可靠的信息交流渠道。信息化企業(yè)運作管理系統(tǒng)已成為企事業(yè)單位參與全球市場競爭的必備支持系統(tǒng)。正是由于這樣的市場需求與技術(shù)發(fā)展現(xiàn)狀,為我國的IT行業(yè)帶來了空前發(fā)展的機遇,特別是軟件行業(yè)。軟件企業(yè)能否抓住這樣一個難得的發(fā)展機會需要多方面的努力,其中軟件質(zhì)量保障在其發(fā)展過程中占有重要的位置。
眾所周知,印度已成為世界上軟件業(yè)增長最快的國家,目前每年軟件業(yè)產(chǎn)值達數(shù)十億美元,并且還在以每年30%~50%的速度增長。比較我國和印度的軟件產(chǎn)業(yè),就不難發(fā)現(xiàn):中國擁有巨大的軟件市場和世界公認(rèn)的軟件開發(fā)資源,在基礎(chǔ)研究和對技術(shù)前瞻性的把握上,也有自己的優(yōu)勢,就整體社會經(jīng)濟環(huán)境而言也優(yōu)于印度。此外,中國的軟件開發(fā)人員費用比較低廉,僅是世界市場的1/3左右。雖然中國人并不缺乏軟件開發(fā)的天賦,但是在越來越強調(diào)規(guī);(jīng)營的今天,先天不足的管理痼疾使我們舉步維艱,難以擺脫小作坊式的軟件開發(fā)模式。而印度軟件業(yè)從一開始就立足于為美國軟件企業(yè)服務(wù),并遵循其軟件開發(fā)的管理模式,與國際標(biāo)準(zhǔn)接軌。
管理上的問題不能得到徹底的解決,軟件的質(zhì)量保障就無從談起。筆者最近在與印度一家通過了CMM4級評估的軟件公司(以下簡稱A公司)進行合作的過程中,較為詳細地了解了他們有關(guān)項目管理的一些詳細情況,更深刻地感受到了項目管理的規(guī)范化與企業(yè)軟件質(zhì)量保障之間的密切關(guān)系。下面想著重從軟件企業(yè)的構(gòu)架,軟件項目計劃、項目管理、項目經(jīng)理的職責(zé)等方面對印度軟件的項目管理及我國軟件質(zhì)量保障應(yīng)注意的問題進行一些經(jīng)驗總結(jié),供業(yè)內(nèi)人士參考。
1.軟件企業(yè)的組織結(jié)構(gòu)
(1)A公司結(jié)構(gòu)
圖1是A公司的組織結(jié)構(gòu)圖,同國內(nèi)公司差異較大的部門有QA、SSG和人力資源部門。
* A公司中,QA(Quality Assure)部門與研發(fā)部門獨立,負責(zé)監(jiān)督流程的執(zhí)行。QA同時負責(zé)領(lǐng)導(dǎo)與研發(fā)部門組成的聯(lián)合工作組,制定公司流程。
* SSG(System Support Group)類似我們的IT部門,負責(zé)公司所有計算機軟件和硬件資源的分配和管理。所有的辦公環(huán)境和開發(fā)/實驗室環(huán)境由SSG負責(zé)安裝和維護,計算機資源屬于SSG,由各個項目向SSG提出需求,項目結(jié)束后,設(shè)備需要交還給SSG。個人和項目組沒有固定的軟件和硬件資源。SSG是與研發(fā)平行的部門。
* 人力資源部門負責(zé)公司的人力資源管理,并維護員工的技能數(shù)據(jù)庫。項目開始時,項目組向人力資源申請人力,向SSG申請計算機硬件和軟件。項目結(jié)束時需要釋放計算機資源給SSG,釋放人力資源到人力資源池,并同時更新員工的技能數(shù)據(jù)庫。研發(fā)部門的人力資源由研發(fā)總負責(zé)人和其助手分配(類似我國各公司的人力資源部)。
(2)項目組結(jié)構(gòu)
1) A公司對項目組進行獨立核算,項目具體負責(zé)人為PC(Project Coordinator),負責(zé)項目計劃和執(zhí)行,對項目具體成員進行分工。在每個階段的結(jié)束會議上(如概要設(shè)計結(jié)束),PC要接受QC(Quality Coordinator)的審查。除了PC與QC的接口外,所有其他外部接口都由EM(Engineer Manager)完成,EM負責(zé)與客戶打交道,向SSG、人力資源要求資源,與其他項目組協(xié)調(diào)進度。
2) 匯報關(guān)系為:
Team Member->Team Leader->PC->EM->研發(fā)總負責(zé)人。
3) 印度工程師分為7級,半年一次考評,即半年有一次升級機會。
1級:Software Engineer,剛畢業(yè)的本科生和研究生。
2級:Senior Software Engineer。
3級:Project Leader。
4級:Project Manager。
5級:Senior Project Manager。
3級可以成為PC,4級可以成為EM。剛開始平均2年升一級,越往后升職越慢。
A公司規(guī)定,一人最多可以同時兼任兩個項目的PC,EM管理的項目沒有限制。
A公司通常的項目組為4到5人,最多不超過10人。
以上是A公司(同時也是印度大多數(shù)規(guī)范化的軟件公司)的組織結(jié)構(gòu)和項目組結(jié)構(gòu)。可以看出,A公司的組織結(jié)構(gòu)非常清晰,各個部門分類非常細,任務(wù)明確,軟件生產(chǎn)的每一個步驟都有專門的部門、專門的人員負責(zé),從最基礎(chǔ)的開發(fā)人員到負責(zé)統(tǒng)領(lǐng)全局的總經(jīng)理,層層管理,溝通渠道暢通。而在我國,管理的不規(guī)范往往首先體現(xiàn)在公司的組織結(jié)構(gòu)上,集中表現(xiàn)為部門的缺失和管理的交叉上。我國的軟件公司,大部分規(guī)模較小,開發(fā)人員超過100人的公司很少。在印度,軟件公司無論大小,都是“麻雀雖小,五臟俱全”,絕不會因為公司的規(guī)模大小而改變合理的組織結(jié)構(gòu)。因此筆者認(rèn)為,國內(nèi)的軟件企業(yè)要想有效地保障產(chǎn)品質(zhì)量,首先就要在構(gòu)架合理的組織結(jié)構(gòu)上下功夫,這就如同蓋高樓首先要打好地基一樣,地基不打牢,結(jié)構(gòu)不合理,其他方面再下功夫也是徒勞。有人說,因為國內(nèi)軟件企業(yè)規(guī)模小,所以造成結(jié)構(gòu)設(shè)置的欠缺,但筆者認(rèn)為恰恰是因為沒有建立一個規(guī)范化的組織結(jié)構(gòu),才會使軟件產(chǎn)品質(zhì)量不保,進而嚴(yán)重影響了企業(yè)的發(fā)展擴大。
2.項目計劃
凡事預(yù)則立,不預(yù)則廢。這里的“預(yù)”就是指計劃。對于軟件企業(yè),計劃的重要性是不言而喻的。讓我們先看看A公司的項目計劃是如何制定的:在A公司,項目開始之前必須先估計項目的規(guī)模(以代碼行數(shù)來衡量);然后制定項目計劃。通常時間為2~3周,已知的最長有5周。EM負責(zé)制定項目 EWP(Engineer Work Paper),其中定義了項目需要的人力和計算機資源,由相關(guān)部門同意,并報研發(fā)總負責(zé)人批準(zhǔn)后才能開始項目。
項目的正式開始時間由項目組的Kickoff Meeting算起,Closeout Meeting結(jié)束。
大概很多人都聽過這樣一句話:“計劃趕不上變化”。這種“變化”對某些行業(yè)而言也許并不會產(chǎn)生太大的影響,但對于軟件企業(yè)而言,卻會給軟件產(chǎn)品的質(zhì)量保證帶來嚴(yán)重的負面影響。為什么會造成這種“計劃趕不上變化”的現(xiàn)象?究其原因,筆者認(rèn)為主要是因為對計劃的重視程度不夠,計劃過于籠統(tǒng)、粗糙導(dǎo)致可執(zhí)行性太差,再加上一些人為因素的影響,必然會產(chǎn)生這樣的后果。
如果我們的軟件企業(yè)都能像A公司這樣,在作計劃時能考慮到每一個細節(jié),不是倉促做出決定,而是由所有的相關(guān)部門共同對產(chǎn)品計劃進行反復(fù)研究、制定、討論、修改,最終形成一套系統(tǒng)、嚴(yán)密、具有很強的可執(zhí)行性的計劃。計劃一旦形成,就嚴(yán)格按照計劃去執(zhí)行,而不受某個人、某件事的影響,那么就不僅能夠減少大量資源的浪費,產(chǎn)品的質(zhì)量也得到了保障。
因此,對計劃的高度重視、周密制定、嚴(yán)格執(zhí)行是企業(yè)有效保障產(chǎn)品質(zhì)量的一個重要環(huán)節(jié)。
3.項目管理
當(dāng)企業(yè)構(gòu)架了合理的組織結(jié)構(gòu)并制定了縝密的計劃后,就進入了產(chǎn)品的開發(fā)階段。在這個階段中,項目管理起了重要作用,它所涉及的環(huán)節(jié)相當(dāng)具體復(fù)雜,下面先介紹一下A公司在項目管理上的具體細節(jié):
(1)開發(fā)階段和項目周期
開發(fā)階段比較明顯,注重各階段應(yīng)完成的功能,對本階段應(yīng)完成的工作不能留到下一階段。
(2)流程
* A公司對流程比對項目更重視。
* 軟件開發(fā)流程非常規(guī)范和系統(tǒng)化,其流程的可執(zhí)行性很高,并且能在實踐過程中不斷改進。A公司的流程已覆蓋到了一個項目研發(fā)的所有方面,包括從最開始的意向到最后軟件的版本發(fā)布(release),都有相應(yīng)的流程規(guī)定,基本上已形成一種工業(yè)化的軟件開發(fā)。
* 人和流程是保證項目成功的兩個最關(guān)鍵因素。由好的人按好的流程進行項目開發(fā),才能最大限度地保證項目的成功。一個好的流程可以保證差的人做出來的東西不至于太差,但不能確保做出精品。通過流程可以實現(xiàn)一種規(guī)范化、流水線化、工業(yè)化的軟件開發(fā)。
(3)計劃
1) 計劃詳細、周到。
2) 流程中明確定義開發(fā)階段。
3) 每個階段都列出了該階段的各項活動,并詳細描述每項活動的屬性:
* 進入條件,輸入;
* 驗證方法;
* 結(jié)束條件,輸出。
4)每個階段結(jié)束都要召開階段結(jié)束會議。前一個階段結(jié)束才能進入下一階段。
5)計劃中每個活動都比較具體,每個活動的時間以天(半天)為單位。計劃包括了開展質(zhì)量控制活動的時間。
(4)Review
按印度公司流程,一般把Review和測試作為保證軟件質(zhì)量兩個主要手段。測試的重要性就不需說明了,而Review則是一個非常簡單有效并能盡早發(fā)現(xiàn)軟件中錯誤的方法,可以說,任何交付物都要經(jīng)Review后才能進行基線化。目前A公司有很詳細全面、可執(zhí)行性很高的Review流程和各種交付物的Review Checklist。
在印度軟件企業(yè),現(xiàn)有這么一句口號:凡事有計劃,凡事必review。
(5)QA
QC(質(zhì)量經(jīng)理)作為質(zhì)量保證部門(SQA)的代表,監(jiān)督和保證項目的進展遵循QMS各項流程和模板,并且收集項目中發(fā)現(xiàn)的一些問題和解決方法以優(yōu)化流程。
(6)度量數(shù)據(jù)
CMM中比較強調(diào)用數(shù)據(jù)說話,對項目過程中基本上所有的數(shù)據(jù)都會有記錄,最后把收集的數(shù)據(jù)提交質(zhì)量保證部門進行分析,以改進流程。A公司的項目經(jīng)理和質(zhì)量經(jīng)理很重視項目中的數(shù)據(jù)收集,包括各種Review數(shù)據(jù)、測試數(shù)據(jù)以及項目組員每天的活動數(shù)據(jù)等。項目經(jīng)理也要維護一個項目檔案,在這個項目檔案中可以說包含了項目開發(fā)過程中所有的產(chǎn)出、開發(fā)活動、管理活動等的記錄?梢赃@么說,有了這個項目檔案,你就可以完全了解這個項目的開發(fā)過程。
(7)團隊精神
印度公司都比較強調(diào)團隊精神、合作精神,應(yīng)該說,其流程本質(zhì)上就要求員工之間的互相協(xié)調(diào)和理解。相對而言,印度員工的合作精神和協(xié)調(diào)精神都比我國員工要好得多。
(8)培訓(xùn)
印度公司都比較強調(diào)培訓(xùn),一般有專門的培訓(xùn)部門進行協(xié)調(diào)。在新員工進入公司后都會有公司流程和其他一些公司普遍章程的培訓(xùn),以保證員工對流程的理解和執(zhí)行。對于具體項目,項目經(jīng)理在制定項目計劃時就會在項目計劃中提出所有的培訓(xùn)需求,包括技術(shù)上的培訓(xùn)和其他所需的培訓(xùn)。
(9)配置管理
在項目正式開展前,項目經(jīng)理就要制定配置管理計劃,并且指定配置管理員建立起配置管理庫,按配置流程嚴(yán)格進行配置管理。在配置流程中也詳細提供了對更改的控制,沒有經(jīng)過批準(zhǔn)的更改請求是絕對不能進行的。
(10)記錄
記錄及時、充分、比較準(zhǔn)確。這些記錄包括:重要的郵件、會議紀(jì)要、審核記錄、缺陷報告、測試報告。
1)與客戶和其他項目組的所有往來必須郵件記錄。
2)對所有的活動都有一個跟蹤落實的過程,比如對所有的Review記錄和更改請求都會有一個狀態(tài)標(biāo)識,標(biāo)識其當(dāng)前狀態(tài),通過跟蹤其狀態(tài)來監(jiān)督其落實。
3)對所有的活動,包括對文檔和代碼的更改都會有一個歷史記錄。
4)記錄比較準(zhǔn)確、比較客觀。
5)許多記錄都是通過定量的數(shù)值記錄,強調(diào)以數(shù)據(jù)說話(CMM4級的重點就是量化管理)。
以上是A公司在項目管理中所涉及到的一些主要環(huán)節(jié),很值得國內(nèi)的軟件企業(yè)在制定項目管理規(guī)劃時借鑒。除此之外,我國的軟件企業(yè)在產(chǎn)品開發(fā)管理的過程中,還易出現(xiàn)以下幾個方面的問題:
1)需求說明差─需求不清楚、不完整、太概括、或者不可測試,都會造成問題。
2)不切實際的時間表─如果在很短的時間里要求做許多事,出現(xiàn)錯誤是不可避免的。
3)測試不充分─只能根據(jù)客戶意見或系統(tǒng)崩潰來判斷系統(tǒng)的質(zhì)量。
4)不斷增加功能─在開發(fā)正在進行過程中要求增加許多新的功能。這是常見的問題。
5)交流問題─如果開發(fā)人員對客戶的要求不了解,或者客戶由不恰當(dāng)?shù)钠谕,必然會?dǎo)致錯誤。
這些問題的出現(xiàn),將會對軟件質(zhì)量的保證產(chǎn)生不良影響,針對上述問題并結(jié)合A公司在項目管理方面的經(jīng)驗,筆者提出一些相應(yīng)的解決方法,以供參考:
1)可靠的需求─應(yīng)當(dāng)有一個經(jīng)各方一致同意的、清楚的、完整的、詳細的、整體的、可實現(xiàn)的、可測試的需求。為幫助確定需求,可使用模型 (prototypes)。
2)合理的時間表――為計劃、設(shè)計、測試、改錯、再測試、變更、以及編制文檔留出足夠的時間。不應(yīng)使用突擊的辦法來完成項目。
3)適當(dāng)測試─盡早開始測試;每次改錯或變更后,都應(yīng)重新測試。項目計劃中要為測試和改錯留出足夠時間。
4)盡可能堅持最初的需求─一旦開發(fā)工作開始,要準(zhǔn)備防止修改需求和新增功能,要說明這樣做的后果。如果必須進行變更,必須在時間表上有相應(yīng)的反映。如果可能,在設(shè)計階段使用快速的模型,以便使客戶了解將會得到的東西。這將會使他們對他們的需求有較高的信心,減少以后的變更。
5)溝通――在適當(dāng)時機進行預(yù)排和檢查;充分利用團組通信工具―電子郵件、群件(groupware)、網(wǎng)絡(luò)故障跟蹤工具、變更管理工具、以及因特網(wǎng)的功能。要確保文件是可用的和最新的。優(yōu)選電子版文檔,避免紙介質(zhì)文檔:進行遠距離聯(lián)合作業(yè)及協(xié)作;盡早使用模型,使客戶的預(yù)想表達清楚。
4.PC(項目經(jīng)理)
項目經(jīng)理是項目成敗的關(guān)鍵人物,其對項目的成敗負主要責(zé)任。因此在這里將項目經(jīng)理的有關(guān)內(nèi)容單獨提出,以A公司為例詳細說明PC在整個產(chǎn)品研發(fā)過程中所扮演的角色,希望能對國內(nèi)軟件企業(yè)的項目經(jīng)理有所啟示。
。1)在A公司,按流程在一個項目正式開展之前,項目經(jīng)理需要完成:
* 項目計劃(Project Plan):在此描述整個項目所應(yīng)完成的交付物、項目時間表、培訓(xùn)需求、資源需求、質(zhì)量保證計劃以及過程和交付物的定量質(zhì)量目標(biāo)等。
* 項目配置管理計劃(Project Configuration Plan):在此指定配置管理員,描述項目配置項列表、配置管理庫、版本管理計劃等等。
*項目過程手冊(Process Handbook):在此描述本項目所采取的裁剪后的生命周期模型和流程。
(2)在項目開發(fā)過程中,項目經(jīng)理需非常了解項目進度,進行工作任務(wù)細化、具體計劃和安排項目成員工作任務(wù)等工作。對突發(fā)事件項目經(jīng)理需能及時合理地進行協(xié)調(diào)。
。3)總的說來,PC安排工作有這么幾個特點:
a.PC對軟件開發(fā)具有豐富的經(jīng)驗,了解軟件開發(fā)的普遍流程,了解各個階段所需完成的工作,這是安排好項目組成員工作的前提,在A公司對PC的整體素質(zhì)要求非常高。
b.在項目正式開展前,PC準(zhǔn)備項目計劃文檔,在項目計劃中包含了項目進度時間表,但此時間表比較粗,只能給出各個階段和各個子階段的起始結(jié)束日期。對各個階段和各個子階段的詳細工作安排和各項工作責(zé)任人只能在項目開展工程中根據(jù)項目實際情況進行安排,一般是在每周項目組例會上進行本周詳細工作安排。
c.PC對工作安排往往精確到天,有時甚至精確到小時,要做到這一點,需要:
* PC對本項目進展非常了解。了解渠道通常是每周組員的狀態(tài)報告和直接與組員接觸了解,這也需項目組成員能如實匯報工作。
* 對現(xiàn)階段或本周所需完成的工作非常了解。知道現(xiàn)在該做什么,并且能把各項工作進行合理細致地劃分,因為各個分解的工作比較細致,因此能相對精確地評估出這些工作完成所需的時間。
* PC對項目組員的能力比較了解,安排工作時能做到有的放矢。當(dāng)安排的員工對工作不熟悉時,會指定相應(yīng)的組員進行協(xié)助。
* PC對組員的工作安排都比較細致飽滿。一般不會出現(xiàn)有些員工有事干,有些員工沒事干的情況,當(dāng)出現(xiàn)這種情況或員工提前完成工作時,PC就會進行相應(yīng)的協(xié)調(diào)。
d.PC在項目組例會上的工作安排一般只限于本周或甚至是過后的二、三天,一般不會太長,對長時間工作的安排容易失去精確并且不易控制。相對而言,短時間的工作安排就比較精確而且容易控制,并且能不斷根據(jù)完成的工作進行調(diào)整。當(dāng)然,這就要求PC能根據(jù)項目計劃中的項目時間表進行整體進度的把握。
e.項目組例會一般一周一次(時間不能太長),但必要時(如組員工作已完成或其他事情),也可在中途召開項目會議進行工作安排,一般時間都比較短(十幾分鐘左右,一般不超過半小時,以免浪費時間),總之,當(dāng)PC覺得需要時,就會召開項目會議。
f.當(dāng)項目組出現(xiàn)意外事件或影響項目團結(jié)的事件時,PC能及時合理協(xié)調(diào),解決項目組內(nèi)的不和諧氣氛。
g.PC善于鼓勵手下,發(fā)揮員工的潛能,PC往往會贊揚很好地完成了工作的組員。
從上面可以看出,對PC的能力(包括技術(shù)和管理能力)要求是非常高的,我國的軟件企業(yè)往往只重視PC的技術(shù)能力,但事實上,一個只精通技術(shù)的人往往不能成為一個合格的領(lǐng)導(dǎo)者, 筆者認(rèn)為對PC而言,首先要求他能夠比他的下屬看得更遠一步,順利時不盲目樂觀,遇到挫折時不茫然失措,使整個團隊始終保持高昂的士氣。
總結(jié)
以上結(jié)合印度軟件項目管理的經(jīng)驗總結(jié)了一些我國軟件質(zhì)量保障應(yīng)注意的問題。曾有人提出:這樣一味地學(xué)習(xí)模仿,民族軟件工業(yè)沒有多大希望。但筆者認(rèn)為,在這個問題上不妨采取“拿來主義”的辦法,對于好的,事實證明是成功的經(jīng)驗,首先是“占有”,然后才是“挑選”和“創(chuàng)新”。如果能把印度的管理經(jīng)驗真正領(lǐng)會并付諸實踐,相信對我們的民族軟件工業(yè)一定會起到積極的推動作用。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:從印度軟件項目管理談我國ERP軟件質(zhì)量保障
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/1082025800.html