摘要:軟件項(xiàng)目管理課程在教學(xué)內(nèi)容和方法上具有特殊性,對(duì)學(xué)生的專業(yè)能力培養(yǎng)發(fā)揮著重要作用,但傳統(tǒng)的教學(xué)方法不能適應(yīng)課程的要求。文章從專業(yè)能力培養(yǎng)的角度對(duì)軟件項(xiàng)目管理教學(xué)進(jìn)行研究。分析軟件項(xiàng)目管理課程應(yīng)注重培養(yǎng)學(xué)生的哪些專業(yè)能力,在此基礎(chǔ)上討論課程內(nèi)容的選擇和案例教學(xué)的應(yīng)用,介紹實(shí)踐環(huán)節(jié)教學(xué)中的“項(xiàng)目模擬”方法。
關(guān)鍵詞:軟件項(xiàng)目管理教學(xué);專業(yè)能力;案例教學(xué);項(xiàng)目模擬
0.引言
近年來(lái),在我國(guó)的計(jì)算機(jī)高等教育領(lǐng)域逐漸形成了一個(gè)共識(shí):計(jì)算機(jī)高等教育要以專業(yè)能力培養(yǎng)為導(dǎo)向,盡快完成從知識(shí)型教育到以能力培養(yǎng)為中心的教育的轉(zhuǎn)變。要培養(yǎng)優(yōu)秀的計(jì)算機(jī)專業(yè)人才,必須首先準(zhǔn)確地歸納出專業(yè)人才的學(xué)科或?qū)I(yè)能力,在此基礎(chǔ)上選擇教學(xué)內(nèi)容和教學(xué)方法,把知識(shí)作為能力培養(yǎng)的“載體”。在具有了良好專業(yè)能力的情況下,可以順利地學(xué)習(xí)和應(yīng)用新的知識(shí),而完全以知識(shí)傳授為目的的教學(xué)則忽視了學(xué)習(xí)者分析和解決實(shí)際問題的能力,且難以適應(yīng)計(jì)算機(jī)專業(yè)知識(shí)迅速更新的現(xiàn)狀。
軟件項(xiàng)目管理是一門軟件工程專業(yè)課,對(duì)軟件人才的培養(yǎng)具有重要作用,近年來(lái)受到了普遍重視,大部分高等院校的軟件工程專業(yè)均開設(shè)了該課程。但在該課程的教學(xué)中往往存在著一些共性問題,例如,軟件項(xiàng)目管理的知識(shí)體系較為龐雜,教學(xué)不可能面面俱到,必須對(duì)教學(xué)內(nèi)容進(jìn)行優(yōu)化和篩選;另外,軟件項(xiàng)目管理知識(shí)是從大量的項(xiàng)目實(shí)踐中總結(jié)出的經(jīng)驗(yàn)、原則和方法,強(qiáng)調(diào)理論聯(lián)系實(shí)際,而在校學(xué)生普遍缺乏真實(shí)軟件項(xiàng)目的實(shí)踐,因此以推理和分析為主的傳統(tǒng)教學(xué)方法不能適應(yīng)課程的需要。針對(duì)這些問題,目前的教學(xué)工作者大多只是在教學(xué)方法上作一些局部改進(jìn),缺乏方向性和系統(tǒng)性研究。筆者首先分析了軟件項(xiàng)目管理課程應(yīng)注重哪些專業(yè)能力的培養(yǎng),并以此為導(dǎo)向系統(tǒng)地探討軟件項(xiàng)目管理課程教學(xué)內(nèi)容的選擇以及理論和實(shí)踐環(huán)節(jié)的教學(xué)方法。
1.軟件項(xiàng)目管理課程的專業(yè)能力培養(yǎng)要求
我國(guó)的工程教育專業(yè)認(rèn)證標(biāo)準(zhǔn)(試行)(2011年3月)提出工程教育培養(yǎng)出的畢業(yè)生必須具有10個(gè)基本的知識(shí)、能力和素質(zhì)要求,其中第8個(gè)要求是:“具有一定的組織管理能力、較強(qiáng)的表達(dá)能力和人際交往能力以及在團(tuán)隊(duì)中發(fā)揮作用的能力”。該標(biāo)準(zhǔn)對(duì)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)生的具體能力要求中也明確包含了“軟件過程改進(jìn)和項(xiàng)目管理能力”。由此可見項(xiàng)目管理能力對(duì)工程型人才的重要性。我國(guó)教育部制訂的“高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)公共核心知識(shí)體系與課程”把計(jì)算機(jī)專業(yè)的基本學(xué)科能力歸納為計(jì)算思維能力、算法設(shè)計(jì)與分析能力、程序設(shè)計(jì)與實(shí)現(xiàn)能力、系統(tǒng)能力。其中系統(tǒng)能力是指“計(jì)算機(jī)系統(tǒng)的認(rèn)知、分析、開發(fā)與應(yīng)用能力”。這里雖然沒有明確提出項(xiàng)目管理能力要求,但絕大多數(shù)計(jì)算機(jī)系統(tǒng)的認(rèn)知、分析和開發(fā)不是一個(gè)人的短期技術(shù)勞動(dòng),而是以項(xiàng)目形式實(shí)施的群體行為,涉及團(tuán)隊(duì)的組織和協(xié)作、進(jìn)度和成本的控制、產(chǎn)品的規(guī)劃和運(yùn)營(yíng)、風(fēng)險(xiǎn)的識(shí)別和規(guī)避等。因此從構(gòu)建系統(tǒng)的動(dòng)態(tài)過程來(lái)看,為了提高系統(tǒng)能力,不能僅注重系統(tǒng)開發(fā)技術(shù)能力的培養(yǎng),項(xiàng)目管理能力的培養(yǎng)也是必不可少的。我們可以把項(xiàng)目管理能力歸屬于廣義的系統(tǒng)能力。
以上對(duì)項(xiàng)目管理能力的要求作了宏觀上的描述和界定,但具體到某一門課程,必須對(duì)其能力培養(yǎng)要求有明確的定位和詳細(xì)的描述,才能對(duì)教學(xué)提供指導(dǎo)。軟件項(xiàng)目管理課程是為軟件專業(yè)人才培養(yǎng)服務(wù)的,高等院校的軟件項(xiàng)目管理課程一般是在軟件專業(yè)的本科高年級(jí)或研究生階段開設(shè),在此之前的各門課程,如程序設(shè)計(jì)語(yǔ)言、算法、數(shù)據(jù)結(jié)構(gòu)、編譯原理、操作系統(tǒng)等,已基本完成了軟件開發(fā)技術(shù)能力的培養(yǎng)。前導(dǎo)課程軟件工程在知識(shí)傳授和能力培養(yǎng)上的重點(diǎn)一般也是技術(shù)層面的,如需求分析、設(shè)計(jì)、編碼、測(cè)試等工程活動(dòng)的技術(shù)和方法。在此基礎(chǔ)上,軟件項(xiàng)目管理課程的目標(biāo)應(yīng)定位于培養(yǎng)學(xué)生以團(tuán)隊(duì)的形式從事大規(guī)模軟件開發(fā)所需要的管理能力。具體來(lái)說,該課程的能力培養(yǎng)要求包括以下幾點(diǎn):
(1)產(chǎn)品規(guī)劃。識(shí)別市場(chǎng)和用戶需求,對(duì)軟件產(chǎn)品進(jìn)行定義和市場(chǎng)定位,根據(jù)市場(chǎng)營(yíng)銷策略和用戶需要,制訂產(chǎn)品發(fā)布計(jì)劃,適時(shí)推出新版本。
(2)技術(shù)策劃。根據(jù)軟件產(chǎn)品的特點(diǎn)確定項(xiàng)目的技術(shù)路線、開發(fā)方法和過程模型等。
(3)項(xiàng)目工作計(jì)劃和監(jiān)控。制訂項(xiàng)目的進(jìn)度、成本、配置管理、風(fēng)險(xiǎn)管理等各方面工作的計(jì)劃,并在項(xiàng)目實(shí)施過程中監(jiān)控計(jì)劃的執(zhí)行,通過度量和分析發(fā)現(xiàn)計(jì)劃和實(shí)際執(zhí)行的偏差并及時(shí)調(diào)整。
(4)人員組織和團(tuán)隊(duì)協(xié)作。組建項(xiàng)目團(tuán)隊(duì),分配人員職責(zé);確定項(xiàng)目的組織形式;采用適當(dāng)?shù)姆绞竭M(jìn)行人員溝通、績(jī)效考核和激勵(lì);解決沖突,保證項(xiàng)目成員的工作協(xié)調(diào)一致;在項(xiàng)目的整個(gè)生命周期內(nèi)進(jìn)行人力資源的調(diào)配。
(5)質(zhì)量保證。確定產(chǎn)品的質(zhì)量標(biāo)準(zhǔn),通過測(cè)試、評(píng)審、缺陷預(yù)防、質(zhì)量度量、過程和產(chǎn)品審計(jì)等手段保證軟件達(dá)到質(zhì)量標(biāo)準(zhǔn)。
(6)過程管理。軟件過程的定義、剪裁、過程度量和監(jiān)控、過程改進(jìn)。
以上幾種能力是一個(gè)合格的軟件人才在從事軟件開發(fā)(特別是大規(guī)模軟件開發(fā))時(shí)所必須具備的。
2.教學(xué)內(nèi)容的選擇
軟件項(xiàng)目管理既包含傳統(tǒng)項(xiàng)目管理學(xué)科的許多知識(shí),也包含軟件項(xiàng)目的特殊規(guī)律和方法,因此內(nèi)容廣泛,知識(shí)體系較為龐雜。另外,國(guó)內(nèi)外各種軟件項(xiàng)目管理教材的內(nèi)容都有所差別,這就為本課程教學(xué)內(nèi)容的選擇帶來(lái)了一定困難。怎樣避免教學(xué)內(nèi)容選擇的隨意性,從而在有限的課時(shí)內(nèi)向?qū)W生傳授最有價(jià)值的知識(shí),達(dá)到最佳的教學(xué)效果,這是軟件項(xiàng)目管理教學(xué)首先要解決的問題。筆者認(rèn)為,教學(xué)內(nèi)容的選擇要以能力培養(yǎng)為導(dǎo)向,做到目標(biāo)明確,重點(diǎn)突出。根據(jù)這一原則,我們對(duì)軟件項(xiàng)目管理課程的教學(xué)內(nèi)容進(jìn)行了優(yōu)化和篩選,按照上一節(jié)所述的能力培養(yǎng)要求確定了該課程的核心教學(xué)內(nèi)容和可選教學(xué)內(nèi)容。
軟件項(xiàng)目管理課程的核心教學(xué)內(nèi)容及其所針對(duì)的能力培養(yǎng)要求見表1。
我們根據(jù)表1中所列內(nèi)容編寫了《軟件項(xiàng)目管理》教材,使其更適合本科階段軟件項(xiàng)目管理課程的教學(xué)要求。軟件項(xiàng)目管理課程一般應(yīng)保證完成表1中的核心內(nèi)容的教學(xué)。除了這些內(nèi)容外,表2所示的可選教學(xué)內(nèi)容對(duì)能力培養(yǎng)也是非常有益的,可根據(jù)課時(shí)的多少靈活選擇。
3.案例教學(xué)的應(yīng)用
實(shí)踐證明,軟件項(xiàng)目管理課程如果只采用傳統(tǒng)的理論講授方法進(jìn)行授課,不僅非常枯燥乏味,而且無(wú)法完成專業(yè)能力的培養(yǎng)。管理類教育的一個(gè)重要特點(diǎn)是必須體現(xiàn)理論與實(shí)踐的結(jié)合。本文第2節(jié)所述的各項(xiàng)專業(yè)能力必須在分析和解決真實(shí)軟件項(xiàng)目問題的過程中逐步得到加強(qiáng)。因此在軟件項(xiàng)目管理的教學(xué)中,必須注重實(shí)例的講解。此外案例教學(xué)也是一種非常有效的方法。
案例教學(xué)在法律和醫(yī)學(xué)領(lǐng)域已有長(zhǎng)期的應(yīng)用,而在管理類教育中最早應(yīng)用該方法的是哈佛商學(xué)院。該方法在哈佛商學(xué)院的商業(yè)管理人才培養(yǎng)中發(fā)揮了重大作用,之后被逐步推廣到全世界,得到了教育工作者的廣泛關(guān)注和深入研究。但有關(guān)案例教學(xué)在軟件人才培養(yǎng)中的作用以及在軟件項(xiàng)目管理教學(xué)中的使用,相關(guān)的研究和實(shí)踐才剛剛開始。
案例是對(duì)實(shí)際情況的描述,通常包含了一個(gè)組織中某個(gè)人或某些人遇到的決策、挑戰(zhàn)、機(jī)遇、問題等。案例教學(xué)方法同時(shí)與案例的教與學(xué)有關(guān)。對(duì)于教師來(lái)說,在課前要向?qū)W生布置案例和相關(guān)閱讀材料,并完成備課,在課堂上要引導(dǎo)學(xué)生進(jìn)行案例討論,在課后要評(píng)價(jià)學(xué)生的參與和案例的使用效果等;對(duì)于學(xué)生來(lái)說,要設(shè)身處地站在某個(gè)決策者的立場(chǎng)上進(jìn)行思考,完成資料閱讀和分析、小組討論、班級(jí)討論、回顧與總結(jié)等學(xué)習(xí)環(huán)節(jié)(有關(guān)案例教學(xué)方法的具體內(nèi)容可參考文獻(xiàn)[5-6])。將案例教學(xué)應(yīng)用于軟件項(xiàng)目管理課程,會(huì)給學(xué)生提供一個(gè)在課堂和實(shí)驗(yàn)室的環(huán)境中實(shí)踐管理活動(dòng)的機(jī)會(huì),使學(xué)生擔(dān)當(dāng)起某個(gè)組織中某個(gè)人的職位和責(zé)任,深度參與解決真實(shí)組織中真實(shí)軟件項(xiàng)目管理的問題,從而很好地測(cè)試和加深對(duì)理論的理解,熟悉產(chǎn)業(yè)界的情況,積累經(jīng)驗(yàn),提高解決實(shí)際問題的能力。此外,案例教學(xué)富有趣味性,可以激發(fā)學(xué)生的學(xué)習(xí)興趣,加強(qiáng)學(xué)習(xí)的主動(dòng)性。
但案例教學(xué)面臨的一個(gè)問題是怎樣建立高質(zhì)量的案例庫(kù)。案例必須是對(duì)已發(fā)生過的實(shí)際情況的描述,而不是憑空想象出來(lái)的,使用一個(gè)不真實(shí)的案例會(huì)使教學(xué)效果大打折扣。為了創(chuàng)建一個(gè)優(yōu)秀的案例,要根據(jù)教學(xué)目標(biāo)進(jìn)行詳盡的研究,制訂案例計(jì)劃,并在企業(yè)或組織中進(jìn)行現(xiàn)場(chǎng)調(diào)研,完成案例的采編和寫作。案例在使用前還必須得到當(dāng)事人的許可,并經(jīng)過課堂測(cè)試。因此案例庫(kù)的建立是一個(gè)耗費(fèi)時(shí)間和資源的工作。目前商業(yè)管理領(lǐng)域的案例庫(kù)(例如,哈佛商學(xué)院案例庫(kù)和加拿大西安大略大學(xué)毅偉商學(xué)院案例庫(kù))已經(jīng)比較完善,包含的案例在數(shù)量上和質(zhì)量上都達(dá)到了很高標(biāo)準(zhǔn)。但在軟件項(xiàng)目管理領(lǐng)域,目前還不存在這樣完善的案例庫(kù),這就要求教師自己動(dòng)手編寫案例,積極與軟件產(chǎn)業(yè)界交流,充分利用學(xué)校與企業(yè)共建的實(shí)訓(xùn)基地、工程實(shí)踐教育中心等平臺(tái)來(lái)完成案例的調(diào)研和采編。這一方面要求教師付出更大的努力,另一方面也需要學(xué)校和企業(yè)給予必要的支持。目前我國(guó)很多高校對(duì)科研方面的調(diào)研有足夠的重視,但對(duì)教學(xué)方面的調(diào)研則缺少支持。此外,應(yīng)借鑒成功的商業(yè)管理案例庫(kù)的組織經(jīng)驗(yàn),在不同教師甚至不同院校之間進(jìn)行案例共享,節(jié)約資源,共同提高案例教學(xué)水平。
將案例教學(xué)方法應(yīng)用于軟件項(xiàng)目管理課程是可行的,但要達(dá)到良好的教學(xué)效果,需要在案例庫(kù)的建立、課程計(jì)劃的制訂、課堂流程的控制、課堂評(píng)估、反饋與輔導(dǎo)等方面進(jìn)行不斷的探索和經(jīng)驗(yàn)積累。案例教學(xué)質(zhì)量的提高不是一蹴而就的,而是一個(gè)長(zhǎng)期積累的過程。
4.實(shí)踐環(huán)節(jié)教學(xué)
目前各高校所開設(shè)的軟件項(xiàng)目管理課程有相當(dāng)一部分課時(shí)屬于實(shí)踐環(huán)節(jié)。實(shí)踐環(huán)節(jié)的教學(xué)內(nèi)容怎樣選擇,實(shí)踐過程怎樣執(zhí)行,同樣需要從專業(yè)能力培養(yǎng)的角度進(jìn)行探討。
為了對(duì)學(xué)生進(jìn)行系統(tǒng)化的訓(xùn)練,在課時(shí)允許的情況下,軟件項(xiàng)目管理課程的實(shí)踐環(huán)節(jié)教學(xué)應(yīng)盡量讓學(xué)生參與一個(gè)完整的軟件項(xiàng)目的管理過程(從項(xiàng)目立項(xiàng)到項(xiàng)目收尾的全過程)。但一些高校的軟件項(xiàng)目管理課程采用了規(guī)模很小的項(xiàng)目作為實(shí)踐對(duì)象,筆者認(rèn)為這對(duì)于學(xué)生的能力培養(yǎng)是不夠的。小型項(xiàng)目和大型項(xiàng)目在開發(fā)方法和管理過程上通常有較大的差別。軟件項(xiàng)目管理的許多原則和方法在規(guī)模較大的項(xiàng)目中能充分體現(xiàn)出其作用,但對(duì)項(xiàng)目人員的要求會(huì)更高,而小型項(xiàng)目容易把問題簡(jiǎn)單化,因此在實(shí)踐環(huán)節(jié)中宜采用中到大型項(xiàng)目。但這同時(shí)帶來(lái)了一個(gè)問題,即在一門課程極為有限的時(shí)間和資源約束下,學(xué)生很難完成一個(gè)完整的中到大型項(xiàng)目。解決這個(gè)問題的一個(gè)方法是采用“項(xiàng)目模擬”的方式,即在軟件項(xiàng)目的各個(gè)環(huán)節(jié)都進(jìn)行真實(shí)的演練,但忽略軟件系統(tǒng)的具體技術(shù)實(shí)現(xiàn)過程,使學(xué)生把精力集中在軟件項(xiàng)目的管理過程,避免過多的資源消耗。
與案例一樣,作為模擬對(duì)象的軟件項(xiàng)目也應(yīng)該是真實(shí)的,是產(chǎn)業(yè)界軟件組織曾經(jīng)完成的一個(gè)真實(shí)項(xiàng)目,而不應(yīng)是一個(gè)“設(shè)計(jì)”出來(lái)的教學(xué)項(xiàng)目。真實(shí)項(xiàng)目能夠反映產(chǎn)業(yè)界千變?nèi)f化的項(xiàng)目環(huán)境。學(xué)生在解決真實(shí)的項(xiàng)目管理問題時(shí),才能最大程度地鍛煉實(shí)踐能力,積累經(jīng)驗(yàn),而假項(xiàng)目有可能對(duì)學(xué)生造成誤導(dǎo)。另外,有實(shí)際的項(xiàng)目情況作為參照,可以更客觀地判斷學(xué)生在實(shí)踐過程中對(duì)各種問題的處理方式是否適當(dāng)。最后,從學(xué)生的學(xué)習(xí)心理來(lái)看,真實(shí)項(xiàng)目更能激發(fā)學(xué)生的學(xué)習(xí)動(dòng)力和興趣。
選擇的項(xiàng)目在規(guī)模和復(fù)雜性上要達(dá)到一定的標(biāo)準(zhǔn)。此外教師在項(xiàng)目模擬過程中要及時(shí)進(jìn)行引導(dǎo),將實(shí)際項(xiàng)目情況與學(xué)生的處理方式作對(duì)比,使學(xué)生掌握正確的方法。
5.結(jié)語(yǔ)
軟件項(xiàng)目管理作為軟件工程專業(yè)的一門重要課程,其教學(xué)內(nèi)容和教學(xué)方法都具有特殊性。從專業(yè)能力培養(yǎng)需要出發(fā),教學(xué)內(nèi)容的選擇可更加合理,理論和實(shí)踐環(huán)節(jié)的教學(xué)方法也能更契合課程的特點(diǎn)和要求。筆者對(duì)本文提出的方法進(jìn)行了初步應(yīng)用,提高了學(xué)生的學(xué)習(xí)興趣,并申報(bào)了校級(jí)課程建設(shè)項(xiàng)目,取得了初步成果,但還有大量的工作需要改進(jìn)。筆者深切體會(huì)到,面向?qū)I(yè)能力培養(yǎng)的軟件項(xiàng)目管理教學(xué)對(duì)教師提出了更高的要求:要培養(yǎng)學(xué)生的能力,教師必須有更強(qiáng)的能力,不僅要有深厚扎實(shí)的理論功底,而且要關(guān)注產(chǎn)業(yè)界的進(jìn)展,能夠解決實(shí)際項(xiàng)目中的管理問題。