摘 ?要:隨著互聯(lián)網(wǎng)行業(yè)的快速發(fā)展,對計算機(jī)綜合性人才的需求也逐漸增加。為了培養(yǎng)具有一定管理素質(zhì)的軟件人才,各學(xué)校陸續(xù)開設(shè)了“軟件項(xiàng)目管理”課程,讓學(xué)生對項(xiàng)目管理具有了初步的認(rèn)識。由于學(xué)生經(jīng)驗(yàn)及知識儲備不足等原因,該課程面臨理解困難,學(xué)習(xí)枯燥等問題。合適的實(shí)驗(yàn)課程可以幫助學(xué)生理解并掌握“軟件項(xiàng)目管理”的過程及相關(guān)知識。本文對該課程的實(shí)驗(yàn)流程及實(shí)驗(yàn)內(nèi)容進(jìn)行了初步探討。
關(guān)鍵詞:項(xiàng)目管理;軟件人才;實(shí)驗(yàn)課程
中圖分類號:TP31 ? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2019)17-0197-02
Abstract:With the rapid development of the internet industry,the demand for comprehensive computer talents is also increasing. In order to cultivate software talents with certain management qualities,various universities have offered “Software Project Management” courses one after another to enable students to have a preliminary understanding of project management. Due to the insufficient experience and knowledge reserve of students,the course is confronted with difficulties in understanding and dull learning. Appropriate experimental courses can help students understand and master the process of “Software Project Management” and related knowledge. This paper makes a preliminary discussion on the experimental process and content of the course.
Keywords:project management;software talents;experimental courses
0 ?引 ?言
“軟件項(xiàng)目管理”課程已經(jīng)逐步成為普通高等學(xué)校軟件工程專業(yè)的一門重要課程,對培養(yǎng)高素質(zhì)的軟件人才具有重要的意義。通過該課程的開設(shè),期望學(xué)生對軟件開發(fā)的全過程及相應(yīng)的管理工作具有一定的認(rèn)識,為后續(xù)工作及繼續(xù)深造打下良好的基礎(chǔ)。但是,目前該課程的學(xué)習(xí)面臨一定的問題:首先,由于課程的性質(zhì),導(dǎo)致學(xué)生對其重視程度不及其他編程及算法課程;其次,課程內(nèi)容較抽象,如果教師不具備實(shí)際的公司項(xiàng)目經(jīng)驗(yàn),很難與時俱進(jìn),課程也顯得枯燥乏味?;谝陨系膯栴},“軟件項(xiàng)目管理”課程的實(shí)驗(yàn)課程顯得尤為重要,一個合適的實(shí)驗(yàn)內(nèi)容可以激發(fā)學(xué)生的興趣,在實(shí)驗(yàn)過程中學(xué)生可以直觀感受項(xiàng)目管理的過程,從而達(dá)到在實(shí)踐中理解知識,掌握知識的目的。本文對實(shí)驗(yàn)課程流程及實(shí)驗(yàn)內(nèi)容進(jìn)行了初步的討論,期望對學(xué)生的學(xué)習(xí)有所啟發(fā)。
1 ?課程背景
軟件項(xiàng)目管理的概念是美國在20世紀(jì)70年代中期提出的,當(dāng)時美國國防部專門研究了軟件開發(fā)不能按時交付、預(yù)算超支、質(zhì)量達(dá)不到用戶要求的原因,結(jié)果發(fā)現(xiàn)70%的項(xiàng)目不成功都是由于管理不善引起的。也就是說管理在軟件項(xiàng)目中有著舉足輕重的地位,經(jīng)驗(yàn)表明,軟件項(xiàng)目失敗往往是管理問題,而非技術(shù)問題[1]。目前,軟件項(xiàng)目管理已獲得業(yè)界廣泛關(guān)注,但是,因?yàn)楣芾砝碚撊狈蚬芾聿簧茖?dǎo)致軟件項(xiàng)目失敗的例子仍不少見。軟件項(xiàng)目管理的教材一般在充分吸收國內(nèi)外軟件項(xiàng)目管理思想精華的基礎(chǔ)上再結(jié)合國內(nèi)軟件項(xiàng)目特點(diǎn)進(jìn)行編寫,給未來的軟件從業(yè)者尤其是未來的管理人才指出提高軟件開發(fā)效率進(jìn)而使項(xiàng)目獲得成功的有效途徑。目前,各高校的軟件工程專業(yè)把軟件項(xiàng)目管理作為一個必修課程,期望能夠培養(yǎng)出具有一定管理素質(zhì)及綜合能力較好的計算機(jī)專業(yè)人才,這在一定程度上也可以解決企業(yè)對人才的需求問題。
2 ?軟件項(xiàng)目管理概述
2.1 ?軟件項(xiàng)目管理的定義
軟件項(xiàng)目管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對人員(People)、產(chǎn)品(Product)、過程(Process)和項(xiàng)目(Project)進(jìn)行分析和管理的活動。軟件項(xiàng)目管理的根本目的,是為了讓軟件項(xiàng)目尤其是大型項(xiàng)目的整個軟件生命周期,都能在管理者的控制之下,以預(yù)定成本,按期、按質(zhì)地完成軟件開發(fā),交付用戶使用[2]。
2.2 ?軟件項(xiàng)目難以管理的原因
軟件項(xiàng)目管理的目的是期望項(xiàng)目可以順利完成,并且滿足用戶的需求及一定的質(zhì)量標(biāo)準(zhǔn)。軟件項(xiàng)目的管理過程非常重要,但同時其具有難以管理的特點(diǎn),究其原因主要體現(xiàn)在以下幾個方面:
(1)軟件項(xiàng)目具有智力密集,可見性差的特點(diǎn)。首先,智力密集主要體現(xiàn)在軟件項(xiàng)目團(tuán)隊(duì)的人員大多數(shù)學(xué)歷較高,尤其是近幾年來大型互聯(lián)網(wǎng)公司更是呈現(xiàn)高學(xué)歷密集的特點(diǎn)。其次,軟件開發(fā)人員要求具有較好的邏輯思維能力,因?yàn)檐浖_發(fā)過程充滿了大量高強(qiáng)度的腦力勞動。另外,軟件項(xiàng)目可見性較差,有時軟件的工作量并不能直觀地體現(xiàn)在所見的功能上。對于經(jīng)驗(yàn)不足,技術(shù)較差的人員是不可能完成好軟件項(xiàng)目管理工作的,容易被假象所欺騙。
(2)單件生產(chǎn)。軟件具有單件生產(chǎn)的特點(diǎn),不能像其他產(chǎn)品一樣可以復(fù)制批量生產(chǎn)。每個軟件產(chǎn)品,即使是類似的軟件產(chǎn)品,仍存在一定的差異性。再加上軟件項(xiàng)目特定的目標(biāo),采用特定的開發(fā)方法、工具和語言,更使得軟件具有獨(dú)一無二的特色,很難找到與之完全相同的產(chǎn)品。軟件項(xiàng)目的這種特點(diǎn)也自然會給軟件項(xiàng)目管理工作造成許多實(shí)際困難。
(3)勞動密集,自動化程度低??赡苡泻芏嗳苏J(rèn)為現(xiàn)在軟件行業(yè)已經(jīng)發(fā)達(dá)到一定程度,那么軟件開發(fā)過程的自動化程度一定也比較高,但實(shí)際不然,軟件項(xiàng)目的各個階段仍滲透著大量的手工勞動,這些工作十分細(xì)致、復(fù)雜并且容易出錯。盡管近年來對軟件工具及自動化的重視在增加,但總體來說,仍遠(yuǎn)未達(dá)到自動化的程度。加上軟件的復(fù)雜性,在某種程度上也加大了管理的難度。
(4)使用方法繁瑣,維護(hù)困難。一方面,有時軟件的使用需要用戶具有一定的計算機(jī)基礎(chǔ),對于某些專用軟件,還需要具有相應(yīng)的領(lǐng)域知識,必要時需要進(jìn)行適當(dāng)?shù)呐嘤?xùn)。另一方面,軟件維護(hù)的工作量較大,如果開發(fā)過程不標(biāo)準(zhǔn),會加大軟件維護(hù)的困難,使得軟件項(xiàng)目難以管理。
3 ?實(shí)驗(yàn)設(shè)計
為了使學(xué)生可以在實(shí)驗(yàn)中直觀體會項(xiàng)目管理的過程,結(jié)合軟件項(xiàng)目生命周期的各個階段,軟件項(xiàng)目管理的實(shí)驗(yàn)可以依托于具體的一個軟件項(xiàng)目,實(shí)驗(yàn)從項(xiàng)目立項(xiàng)開始,經(jīng)過可行性分析、需求分析、軟件設(shè)計、項(xiàng)目開發(fā)、收尾與交付等階段[3],在整個過程中,學(xué)生結(jié)合項(xiàng)目管理的知識,按照標(biāo)準(zhǔn)開發(fā)流程,進(jìn)行軟件項(xiàng)目開發(fā)及管理,最終實(shí)現(xiàn)對知識的理解與掌握。其整體的實(shí)驗(yàn)流程如圖1所示。
在實(shí)驗(yàn)前,學(xué)生首先分組,每組5人左右,成立團(tuán)隊(duì),團(tuán)隊(duì)模擬實(shí)際的開發(fā)團(tuán)隊(duì),配有團(tuán)隊(duì)leader、需求人員、測試人員、開發(fā)人員四種角色。開發(fā)流程可模擬實(shí)際項(xiàng)目敏捷團(tuán)隊(duì)中的一個迭代的開發(fā)流程。整個學(xué)期的實(shí)驗(yàn)課程作為一個迭代的開發(fā)時間。
項(xiàng)目確定:項(xiàng)目團(tuán)隊(duì)可根據(jù)實(shí)際情況及市場分析確定項(xiàng)目題目。項(xiàng)目確定后需要進(jìn)行工作分解,產(chǎn)出是工作分解結(jié)構(gòu)圖(WBS)。同時,可制訂進(jìn)度計劃:根據(jù)實(shí)驗(yàn)課時間及WBS圖制訂進(jìn)度計劃,進(jìn)度計劃用甘特圖表示。甘特圖通過條狀圖來顯示項(xiàng)目進(jìn)度,以及其它與時間相關(guān)的、系統(tǒng)進(jìn)展的內(nèi)在關(guān)系隨著時間進(jìn)展的情況。
需求分析:需求分析由需求人員主導(dǎo),其他人員review確定最終需要完成的具有明確驗(yàn)收標(biāo)準(zhǔn)的stories。需求確定后,可更新進(jìn)度計劃。
軟件設(shè)計:由核心技術(shù)人員主導(dǎo),團(tuán)隊(duì)成員共同參與確定最終的設(shè)計方案,包括數(shù)據(jù)庫設(shè)計、接口設(shè)計、所采用的技術(shù)方案等。
編碼:每個開發(fā)人員會分配到不同的story,根據(jù)進(jìn)度計劃及設(shè)計方案有條不紊地進(jìn)行編碼。
收尾及上線:在最后的一次課,進(jìn)行收尾工作,然后正常上線,并交付軟件項(xiàng)目。
質(zhì)量管理及進(jìn)度跟蹤:這兩項(xiàng)工作需要貫穿整個生命周期。質(zhì)量保證不是某一個階段的工作,更不是某一個角色的事情,需要由各個角色共同保證軟件質(zhì)量。在實(shí)驗(yàn)中,學(xué)生需要注意時刻具有質(zhì)量意識,需求分析階段進(jìn)行需求review,設(shè)計階段也要進(jìn)行設(shè)計review,編碼階段要進(jìn)行code review,開發(fā)人員提測前要保證具有一定的提測質(zhì)量,測試人員測試要考慮周全,具體的測試流程不再贅述。對于進(jìn)度,每次實(shí)驗(yàn)課程需要對進(jìn)度計劃進(jìn)行跟蹤,如有延期風(fēng)險,需及時采取措施,進(jìn)行調(diào)整。
在整個實(shí)驗(yàn)過程中,學(xué)生還可以進(jìn)行不定期的會議,要具有團(tuán)隊(duì)協(xié)作意識,每個角色要有角色責(zé)任心,同時注重在開發(fā)過程中運(yùn)用教材中關(guān)于軟件項(xiàng)目管理的理論知識,學(xué)以致用,以達(dá)到預(yù)期的學(xué)習(xí)目標(biāo)。
4 ?結(jié) ?論
本文針對軟件項(xiàng)目管理課程面臨的問題,提出了一種實(shí)驗(yàn)課程方案,實(shí)驗(yàn)課程依托于具體的項(xiàng)目,模擬敏捷開發(fā)的一個迭代流程,在實(shí)驗(yàn)過程中結(jié)合軟件項(xiàng)目管理的理論知識,期望學(xué)生通過實(shí)驗(yàn),可以對軟件項(xiàng)目管理有一個較完整地認(rèn)識,具備一定的項(xiàng)目管理意識及能力。
參考文獻(xiàn):
[1] 姜茸.軟件項(xiàng)目管理最新研究綜述 [J].項(xiàng)目管理技術(shù),2011,9(10):35-39.
[2] 任永昌.軟件項(xiàng)目管理 [M].北京:清華大學(xué)出版社,2012.
[3] 竇燕.影響軟件項(xiàng)目管理關(guān)鍵因素的探討 [J].燕山大學(xué)學(xué)報,2004(4):369-372.
作者簡介:胡春美(1989.01-),女,漢族,河北人,碩士,助理實(shí)驗(yàn)師,研究方向:領(lǐng)域數(shù)據(jù)工程、軟件測試。