閆麗新,劉艷秋
(1.承德廣播電視大學(xué),河北 承德 067000)(2.平泉縣楊樹嶺學(xué)區(qū)中心校,河北 平泉 067500)
近幾年教學(xué)軟件開發(fā)的規(guī)模和數(shù)量越來越大,軟件開發(fā)的質(zhì)量問題愈顯突出。在教學(xué)軟件開發(fā)的整個生命周期引入項(xiàng)目管理的科學(xué)方法與理念,用其指導(dǎo)控制教學(xué)軟件開發(fā)過程,能提高開發(fā)的質(zhì)量和可控性。項(xiàng)目管理就是選擇一定的研究方法和開發(fā)方法對開發(fā)項(xiàng)目進(jìn)行有效的計(jì)劃、監(jiān)控、管理,使項(xiàng)目順利進(jìn)行并保證開發(fā)質(zhì)量。教學(xué)軟件開發(fā)包括教學(xué)資源庫平臺系統(tǒng)、網(wǎng)絡(luò)課程、教學(xué)網(wǎng)站、多媒體課件、在線學(xué)習(xí)平臺系統(tǒng)、教學(xué)管理系統(tǒng)等的開發(fā),按照嚴(yán)格的開發(fā)規(guī)范和標(biāo)準(zhǔn),由開發(fā)公司或?qū)iT的教學(xué)資源開發(fā)研究機(jī)構(gòu)完成。對教學(xué)軟件開發(fā)各階段加強(qiáng)項(xiàng)目管理的根本目的在于增強(qiáng)對軟件開發(fā)的控制能力,提升軟件開發(fā)的質(zhì)量。
接到開發(fā)任務(wù),確保開發(fā)順利進(jìn)行,首先就是成立項(xiàng)目組。項(xiàng)目經(jīng)理要科學(xué)選拔項(xiàng)目組成員,合理分配成員任務(wù),項(xiàng)目組根據(jù)工作需要可下設(shè)若干小組,小組的數(shù)目和每個小組的任務(wù)根據(jù)用戶需求和項(xiàng)目規(guī)模來確定。項(xiàng)目組要制定好每個項(xiàng)目小組、每個崗位、甚至每個人的崗位職責(zé)和執(zhí)行標(biāo)準(zhǔn),責(zé)權(quán)分明。為確保項(xiàng)目順利進(jìn)行,有必要對項(xiàng)目組成員進(jìn)行培訓(xùn),培訓(xùn)內(nèi)容和重點(diǎn)一定要針對開發(fā)過程中遇到的困難。教學(xué)軟件開發(fā)的項(xiàng)目組設(shè)置大同小異,一般包括以下幾個核心小組。
1.1 項(xiàng)目經(jīng)理。項(xiàng)目經(jīng)理(項(xiàng)目組長)是整個項(xiàng)目的最高領(lǐng)導(dǎo)者,負(fù)責(zé)成立項(xiàng)目組并管理整個項(xiàng)目組的工作,推進(jìn)項(xiàng)目的順利進(jìn)行,負(fù)責(zé)協(xié)調(diào)項(xiàng)目組內(nèi)部,以及項(xiàng)目組和用戶的關(guān)系,擁有資金支配權(quán)。
1.2 開發(fā)測試小組。開發(fā)測試小組負(fù)責(zé)各個子系統(tǒng)的開發(fā)、集成和測試,其核心和關(guān)鍵是組織好小組成員按照統(tǒng)一的方法和標(biāo)準(zhǔn)工作,方法和標(biāo)準(zhǔn)包括系統(tǒng)開發(fā)的一些關(guān)鍵技術(shù)、統(tǒng)一的開發(fā)模型和編程標(biāo)準(zhǔn)。開發(fā)測試小組一般包括系統(tǒng)分析員、編程人員、測試人員、教學(xué)設(shè)計(jì)人員、藝術(shù)設(shè)計(jì)人員等。系統(tǒng)分析員負(fù)責(zé)從技術(shù)上、總體上規(guī)劃和設(shè)計(jì)。編程人員和測試人員具體負(fù)責(zé)技術(shù)上如何實(shí)現(xiàn)、代碼如何實(shí)現(xiàn)、程序的編寫和測試。教學(xué)設(shè)計(jì)人員分析客戶需求并進(jìn)行教學(xué)軟件的整體設(shè)計(jì),在開發(fā)原型時根據(jù)教學(xué)軟件的教學(xué)目標(biāo)、教學(xué)內(nèi)容、教學(xué)策略和評價方式進(jìn)行詳細(xì)設(shè)計(jì),確保教學(xué)軟件的教育性和科學(xué)性。藝術(shù)設(shè)計(jì)人員負(fù)責(zé)從藝術(shù)角度對教學(xué)軟件進(jìn)行整體風(fēng)格設(shè)計(jì)、包裝設(shè)計(jì)、廣告宣傳設(shè)計(jì)。
1.3 系統(tǒng)集成與安裝調(diào)試小組。系統(tǒng)集成和安裝調(diào)試是對開發(fā)測試好的教學(xué)軟件進(jìn)行綜合的過程,在保證系統(tǒng)可靠性和最高效率的前提下,把教學(xué)軟件與其支持的軟硬件集成在一起,集成時要充分注意所開發(fā)教學(xué)軟件與其支持軟硬件的有機(jī)結(jié)合,并做好整個系統(tǒng)的測試與安裝調(diào)試工作。
1.4 教育專家小組。包括教學(xué)設(shè)計(jì)人員,學(xué)科專家,教育技術(shù)專家等。教學(xué)設(shè)計(jì)人員作為教學(xué)軟件開發(fā)團(tuán)隊(duì)的重要人員,不能由有教學(xué)經(jīng)驗(yàn)的教師來擔(dān)任。教學(xué)設(shè)計(jì)人員要科學(xué)分析客戶需求,進(jìn)行可行性分析論證,完成教學(xué)軟件的概念模型、整體框架設(shè)計(jì)、交互設(shè)計(jì)。學(xué)科專家分析客戶需求、把握教學(xué)軟件的教學(xué)性和科學(xué)性,對學(xué)科知識嚴(yán)格把關(guān),提出一些新的教學(xué)理念。教育技術(shù)專家從教育技術(shù)的角度對教學(xué)軟件進(jìn)行把關(guān),用新技術(shù)指導(dǎo)教學(xué)軟件開發(fā)。
1.5 評審專家小組。包括技術(shù)專家評審員、同行評審員、教學(xué)設(shè)計(jì)評審員和項(xiàng)目監(jiān)控人員。技術(shù)專家評審和同行專家評審可以保證軟件質(zhì)量,評測教學(xué)軟件的技術(shù)性功能。教學(xué)設(shè)計(jì)評審員能保證教學(xué)軟件的教育性功能,負(fù)責(zé)評審教學(xué)軟件的總體知識結(jié)構(gòu)、教學(xué)內(nèi)容、知識的呈現(xiàn)方式是否合理恰當(dāng)。項(xiàng)目監(jiān)控人員從始至終全面有效的監(jiān)控項(xiàng)目的實(shí)施過程,減少項(xiàng)目的偏差。
教學(xué)軟件的開發(fā)大致可分為三個階段:立項(xiàng)階段、實(shí)施階段和結(jié)項(xiàng)階段。我們把項(xiàng)目管理的方法和理論引入教學(xué)軟件開發(fā)的各個階段,借鑒項(xiàng)目管理的理論來指導(dǎo)教學(xué)軟件的開發(fā)。在開發(fā)過程中,我們要嚴(yán)格進(jìn)行可行性論證,對任務(wù)分解分步完成,必須制定科學(xué)的開發(fā)計(jì)劃,并且嚴(yán)格按照開發(fā)計(jì)劃進(jìn)行,并在開發(fā)的各個階段嚴(yán)格控制教學(xué)軟件開發(fā)的成本、進(jìn)度、質(zhì)量和風(fēng)險(xiǎn)。
2.1 可行性論證。接到教學(xué)軟件開發(fā)任務(wù)后,首先要科學(xué)分析用戶需求和初步調(diào)查研究,寫出項(xiàng)目建議書并批準(zhǔn)后方可立項(xiàng),立項(xiàng)后就可以進(jìn)行可行性論證。軟件項(xiàng)目的可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項(xiàng)目是否能夠開發(fā),是否值得開發(fā)[1]。
2.2 用任務(wù)分解法合理分配團(tuán)隊(duì)工作。任務(wù)分解(WBS)是把整個教學(xué)軟件的開發(fā)工作劃分為具有層次結(jié)構(gòu)的任務(wù)群,把大任務(wù)劃分成若干個子任務(wù),子任務(wù)又可劃分為更小的任務(wù)。根據(jù)任務(wù)分解制定崗位事件標(biāo)準(zhǔn)化,每個人都清楚自己要完成的任務(wù)和所要做的工作,以及工作的目標(biāo)和完成的標(biāo)準(zhǔn)。項(xiàng)目的開發(fā)不能只依靠少數(shù)的所謂核心力量和核心程序員來完成,應(yīng)合理分配團(tuán)隊(duì)工作,分析出關(guān)鍵工作,各司其職高效完成開發(fā)工作。另外強(qiáng)調(diào)教學(xué)設(shè)計(jì)人員和學(xué)科專家必須直接參與教學(xué)軟件開發(fā)的全過程。按系統(tǒng)開發(fā)的生命周期進(jìn)行劃分工作,即按照系統(tǒng)開發(fā)中的系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施、系統(tǒng)測試、系統(tǒng)運(yùn)行等各個階段劃分出每個階段應(yīng)該完成的任務(wù)。
2.3 制定開發(fā)計(jì)劃。在項(xiàng)目的實(shí)施中,首要的工作是制定科學(xué)合理的開發(fā)計(jì)劃,依據(jù)任務(wù)劃分制定出整個教學(xué)軟件開發(fā)計(jì)劃,并設(shè)計(jì)出項(xiàng)目計(jì)劃書和任務(wù)時間進(jìn)程表。開發(fā)計(jì)劃包括項(xiàng)目管理計(jì)劃、軟硬件配置計(jì)劃、經(jīng)費(fèi)開支計(jì)劃、編程計(jì)劃、測試評審計(jì)劃、質(zhì)量保證計(jì)劃、進(jìn)度保證計(jì)劃、風(fēng)險(xiǎn)控制計(jì)劃等等。項(xiàng)目管理計(jì)劃包括怎樣完成任務(wù)、完成時間、完成方法策略和標(biāo)準(zhǔn)以及各種計(jì)劃的協(xié)調(diào)。開發(fā)人員按照項(xiàng)目計(jì)劃書上時間安排項(xiàng)目進(jìn)度。主要參照IEEE1058.1中“軟件項(xiàng)目管理計(jì)劃”的基本內(nèi)容,用project制定項(xiàng)目初步管理計(jì)劃。項(xiàng)目計(jì)劃制定不好,項(xiàng)目的推進(jìn)將困難重重,不管是大項(xiàng)目還是小項(xiàng)目都必須高度重視開發(fā)計(jì)劃的制定。開發(fā)計(jì)劃制定好以后還要對計(jì)劃進(jìn)行有效的監(jiān)控,一般由開發(fā)人員自我監(jiān)控和項(xiàng)目經(jīng)理的監(jiān)控,也有的專門成立監(jiān)控機(jī)構(gòu)。
2.4 成本控制。項(xiàng)目的成本管理是項(xiàng)目管理的弱項(xiàng),“開源”和“節(jié)流”都是很重要的。軟件的開發(fā)成本指的是軟件開發(fā)過程中所花費(fèi)的貨幣資本、人力資本和時間資本。其中人力資本是最大的成本,對人力成本控制不好會使項(xiàng)目變成“負(fù)績效項(xiàng)目”,當(dāng)然也不能忽略計(jì)算與人力成本關(guān)聯(lián)最大的成本——時間成本。教學(xué)軟件開發(fā)成本的估算以整個生命周期所花費(fèi)的人工代價作為估算的依據(jù)。成本控制是從計(jì)劃開始的,主要工作是資源計(jì)劃,成本估算,成本預(yù)算。我們一般采用自下而上估算法,這是最好的成本估算法。
2.5 進(jìn)度控制。開發(fā)進(jìn)度管理是指按計(jì)劃推進(jìn)項(xiàng)目的實(shí)施,經(jīng)常檢查計(jì)劃的實(shí)際執(zhí)行情況,檢查進(jìn)度與計(jì)劃的偏差并分析原因,并及時調(diào)整進(jìn)度,在質(zhì)量與進(jìn)度之間優(yōu)先考慮質(zhì)量。項(xiàng)目經(jīng)理定期召開工作會議,加強(qiáng)團(tuán)隊(duì)溝通與交流,及時了解開發(fā)進(jìn)展情況,解決出現(xiàn)的問題和困難,讓大家及時總結(jié)并共享編程思路和方法。另外做到日清日結(jié),是保證項(xiàng)目進(jìn)度的關(guān)鍵所在,不管開發(fā)人員還是測試人員,都要估計(jì)自己每天的工作。
2.6 質(zhì)量控制。質(zhì)量控制就是對教學(xué)軟件的整個開發(fā)過程進(jìn)行監(jiān)控,并監(jiān)控最終開發(fā)出的成品,確保最終開發(fā)出的產(chǎn)品符合相關(guān)標(biāo)準(zhǔn)(例如評審和審計(jì))。一般項(xiàng)目組都有質(zhì)量管理部門(QA)。教學(xué)軟件的高質(zhì)量不僅要體現(xiàn)在軟件功能的實(shí)現(xiàn),最重要的是滿足教師教學(xué)和學(xué)生學(xué)習(xí)需要。重視測試環(huán)節(jié)是保證教學(xué)軟件質(zhì)量的重要保證,測試可以直接檢查軟件產(chǎn)品的缺陷,包括項(xiàng)目組內(nèi)部測試和針對用戶的Beta測試。項(xiàng)目組內(nèi)部測試包括單元測試、功能測試、集成測試和壓力測試等。Beta測試是指在教學(xué)軟件正式銷售之前,交給教師和學(xué)生免費(fèi)試用,并獲取他們的建議[2]。對于教學(xué)軟件的開發(fā)采用快速原型法對提高質(zhì)量有保障,原型是教學(xué)軟件最終產(chǎn)品的模擬版,反映最終產(chǎn)品重要特征,用于評價和反饋,以便完善最終產(chǎn)品,快速原型法是在開發(fā)過程中快速制作并即時得到反饋意見的原型。在設(shè)計(jì)開發(fā)原型的時候要圍繞教學(xué)目標(biāo)、教學(xué)內(nèi)容、教學(xué)策略和評價方式等,詳細(xì)的進(jìn)行教學(xué)設(shè)計(jì),確保教學(xué)軟件的教學(xué)性和科學(xué)性。
2.7 風(fēng)險(xiǎn)控制。風(fēng)險(xiǎn)控制一直是項(xiàng)目管理中的重點(diǎn)和難點(diǎn)。風(fēng)險(xiǎn)控制不僅是避免風(fēng)險(xiǎn)的發(fā)生,更是正確面對所發(fā)生的風(fēng)險(xiǎn)。風(fēng)險(xiǎn)控制就是能正確識別風(fēng)險(xiǎn),對付風(fēng)險(xiǎn),使風(fēng)險(xiǎn)正面影響最大化,負(fù)面影響最小化。一般用頭腦風(fēng)暴法和經(jīng)驗(yàn)法則法來識別風(fēng)險(xiǎn)。有些風(fēng)險(xiǎn)處理的好能產(chǎn)生正面的影響,例如快速跟進(jìn)雖然會帶來返工的風(fēng)險(xiǎn),但處理的好可以大大縮減項(xiàng)目工期。利用項(xiàng)目管理方法、原型化等方法盡量避開或轉(zhuǎn)移風(fēng)險(xiǎn),在資金已定的情況下,在進(jìn)度和質(zhì)量之間尋求最佳平衡點(diǎn),力爭把風(fēng)險(xiǎn)降到最低。
綜上所述,主張用項(xiàng)目的方式開發(fā)教學(xué)軟件,在項(xiàng)目實(shí)施過程中各個階段的各項(xiàng)工作,項(xiàng)目管理理論和方法都有清晰而明確的論述,我們有必要運(yùn)用項(xiàng)目管理的理論來指導(dǎo)教學(xué)軟件開發(fā),既能保證開發(fā)的成功,又能保證開發(fā)的質(zhì)量,并能滿足廣大師生教學(xué)和學(xué)習(xí)的需要。
[1]劉積仁,康曉東,饒友玲.軟件開發(fā)項(xiàng)目管理[M].北京:人民郵電出版社,2002.
[2]鐘名揚(yáng),杜媛,劉美鳳,張霞.教學(xué)軟件項(xiàng)目式開發(fā)模型研究[J].中國遠(yuǎn)程教育,2007,(6).