李志明,沈秀敏,李季輝
(燕山大學 信息科學與工程學院,河北 秦皇島 066004)
近年來,隨著新一代信息技術的迅速發展,大多數軟件系統的規模也急劇增大;依靠個人或兩三個人開發一套系統的時代一去不返了。目前,軟件系統的開發是一套系統工程,需要團隊協作方可高效、保質、按期完成。在軟件工程領域,“應用新的軟件方法和技術提高軟件生產率和質量”一直是一個研究熱點,但仍未找到較好的解決辦法。
軟件開發是知識密集型、勞動密集型的智力活動,因此,軟件開發的過程及其管理以及對從業者的要求均與傳統行業有很大的不同,這也導致了軟件項目管理與其他項目管理相比更加復雜、難以控制。軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對人員(people)、產品(product)、過程(process)和項目(project)進行分析和管理的活動。軟件項目管理的根本目的是為了讓軟件項目尤其是大型項目的整個軟件生命周期(從分析、設計、編碼到測試、維護全過程)都能在管理者的控制之下,以預定成本按期保質完成并交付用戶使用。
企業對于軟件工程人才的需求,從項目管理角度可以分為兩類:一是軟件項目管理人才,二是能夠順應軟件項目管理需求的技術人才。為了適應社會企業對軟件人才的需求,眾多高校對軟件工程、計算機專業的學生開設了軟件項目管理課程,以期為軟件企業輸送更加優質、更加適合大規模復雜軟件系統開發的管理和技術人才。
軟件項目管理課程內容涉及項目管理知識體系9個知識領域和5個標準化過程[1],涵蓋了軟件項目從立項到收尾的方方面面,課程知識點眾多,且均為理論性、文字性內容。課程原有的教學組織形式使學生難以身臨其境地體會軟件項目管理的復雜性及重要性,表達交流能力和團隊協作精神也難以得到訓練與提高。
(1)教學過程以理論授課為主。軟件項目管理課程內容理論性強,涉及面廣,且大多無形,更多強調的是軟件項目管理的理念和思想;學生在學習過程中感覺到枯燥無味、興趣缺失,在缺少復雜軟件項目開發經歷的背景下,難以體會到本課程的重要性[2]。
(2)重理論,輕實踐。學生無法做到理論與實踐的熟練結合,動手能力較差[3]。
(3)強調對知識的掌握,忽視學生能力的培養。教學過程不僅僅是傳授知識的過程,同時也應是通過對理論知識運用來培養學生個人能力的過程。
(4)大規模軟件項目管理經驗的缺失。高校教師大多缺少工程背景,即使部分教師的項目經驗比較豐富,但其開發和管理過程也基本屬于“手工作坊式”,難以為學生講解清楚大規模、復雜系統、團隊協作的軟件開發管理過程及其需要注意的問題。
(5)考核方式單一。一般僅是采用期末試卷、實驗報告的方式考查學生的知識掌握情況,難以全面、深入地檢驗深層次的學習。
基于學習產出的教育模式(outcomes-based education,OBE),其核心理念是需面向行業需求,實時動態設計培養目標,并及時調整畢業能力要求,圍繞學生畢業知識、能力、素質需達到的指標全面構建課程體系,進行教學設計以及教學資源的配置。OBE教學理念下的教學質量監控與評價是以學生學習結果為唯一標準,要求課程設置、教學、考核評價都要依據培養目標,并與培養目標具有一致性[4]。
項目式教學是通過工學結合、任務驅動、項目導向的新型教學模式,是一種通過組織學生真實地參加項目設計、實施和管理,在項目實施過程中完成教學任務的過程,成為實踐教學的有效手段[5]。
縱觀軟件項目管理課程的知識體系、教學目標及對畢業指標點的支撐,非常適合采用項目驅動式的教學模式,其根本目的在于將理論授課、實驗、企業實際經驗、作業批閱等過程中所學知識,綜合運用到項目任務之中,從而達到學以致用的目的;在“用”的過程,使學生更深入地去學習、思考、體會,進而達到內化和升華的作用。
為了提升軟件項目管理課程的教學效果,以行業需求為導向,制定軟件工程專業畢業要求及培養目標,進而確定該課程對上述目標達成的支撐度。課程教學目標見表1,課程教學目標與部分畢業要求指標點之間的支撐關系見表2。

表1 課程教學目標

表2 課程教學目標對應畢業要求指標點支撐關系
項目驅動式的課程教學,不僅要重新設計教學環節內容,還要使各個教學環節高度融合統一,能夠在規定的學時數內高效、高質地完成教學任務[6]。基于這一思想,針對軟件項目管理課程,構建了“六位一體”的教學體系,即“理論授課+實驗+項目作業及批閱+企業教師介入+項目驗收與點評+多元化考核”,以期達到理論、實踐及通識教育相結合的綜合能力培養目標,更好地支撐軟件工程專業畢業生的培養目標的達成,如圖1所示。

圖1 “六位一體”教學體系示意
依據圖1所示的“六位一體”教學體系所涉及的教學環節及實際學時約束,各環節所分配學時情況詳見表3。
依據項目驅動式教學模式、“六位一體”的教學體系實施課程改革,各教學環節的詳細實施情況如下。
軟件項目管理課程體系龐大,涉及面廣,若按照傳統教學模式,至少需要36學時,因此,需要適度刪減與合并。結合多年的教學經驗,將學生未來可能涉獵較少的成本控制及效益分析、項目監理等內容進行了適度刪減,最終使得理論授課在28學時內完成,并補充了4個學時的經典案例分析內容。
由于受學時限制,實驗內容選取了應用廣泛、易學易用的Project作為項目管理工具軟件學習使用,并為之配套了詳細的實驗指導書和實驗報告模板,從而使得學生在8學時內能夠達到利用Project軟件完成項目WBS分解、成本估算、進度管理、關鍵路徑分析等常規任務的要求。
項目作業是項目驅動的載體,因此,選擇學生感興趣、符合當前雙創潮流、規模及難易適度的題目是關鍵。
在開課第一周,首先令學生按照5~6人的規模分成若干個團隊,確定團隊負責人;鼓勵各團隊按照雙創、“互聯網+”的思路自由選題并撰寫300~500字的項目簡介,由任課教師負責審核;任課教師于第二周完成各團隊題目的審核。在后續的過程中,學生按照理論授課進度及設置的時間節點,利用課外時間完成項目作業并定期提交;教師批閱后,指出學生在完成項目的過程中存在的問題。通過項目作業及評閱環節,引導、督促學生將理論授課所講知識運用到項目之中。通過項目作業及項目任務的完成,鍛煉、培養學生的團隊協作精神及能力。
在課程后期,聘請具有豐富項目開發及管理經驗的軟件項目經理,從企業實際運作的角度,以企業的某個實際項目為主線,對軟件項目管理課程體系展開講解,將企業的經驗和認識呈現在學生面前。這樣,可以讓學生更加真實地感受在企業是如何進行軟件項目管理以及軟件項目管理的重要性,從而彌補高校教師工程背景不足帶來的影響。

表3 學時分配情況
項目驗收與點評環節,安排在實驗、企業教師授課結束之后,結課考試之前進行。這樣安排的目的在于鼓勵學生充分利用Project工具,更加貼合實際地去完成項目作業。
項目驗收小組由學生自薦或教師指定4名學生,和任課教師組成答辯委員會。各個團隊撰寫項目報告并制作PPT。項目驗收主要包括項目報告評閱、演講匯報、答辯、教師點評等環節。然后,由答辯委員會給出團隊總得分。
通過項目驗收與點評,可綜合鍛煉、考核學生的表達、交流、溝通能力。
OBE教育模式下的教學主要體現在學生獲得的能力上,單憑一張考卷無法完成對學生的全面衡量,本次教學在OBE的理念支持下,將考核方式由單一化變為多元化,從而實現學生對該門課程的掌握及目標達成情況進行多角度綜合評定[7]。多種考核方式相結合,可以全程激發學生的學習主動性,也能夠更加全面、深入地反映學生的學習情況。
本課程的最終成績由結課考試、項目作業、項目驗收、實驗等4部分組成,各部分所占分值詳見表4。
由表4可知,項目成績由項目作業和項目驗收兩部分組成。其中,項目作業由學生按照時間節點提交,教師評閱后給出相應得分(提交3次,共計10分);項目驗收需由學生提交項目報告,并進行演講答辯(項目報告15分,PPT制作、講解、答辯等10分,共計25分)。項目的團隊得分,按下式計算。
團隊得分=(項目作業得分+項目驗收得分)×團隊人數×0.95
個人得分由團隊負責人依據隊員貢獻大小、平時表現等公平、公正地進行分配。從該角度,給予團隊負責人一定的權力,從而在一定程度上培養團隊負責人及成員的團隊協作、溝通、協調及沖突化解能力。
燕山大學軟件工程專業以項目為驅動,以能力培養為導向,實施軟件項目管理課程教學模式改革,完善相關教學內容和教學方法,獲得了較好的教學效果,為本專業的人才培養目標的達成提供了有力支撐。
(1)以課程項目為載體,使學生能夠將所學理論知識綜合地運用到實際之中,能夠對軟件開發過程中的范圍、進度、資源、成本、團隊建設等問題進行管理,從而使學生在項目開發與管理過程中能夠本能地運用軟件項目管理課程的相關知識及理論,使其達到專業對學生的工程能力、工程師素養培養的計劃要求。
(2)通過以團隊形式完成課程項目,使得學生在團隊組建、溝通協作、技術交流、書面及口頭表達、成員責任、利益分配等方面得到了充分鍛煉,著力培養了學生的非專業通識素養,為畢業生在未來職業生涯中走得更“高”奠定了基礎。
(3)鼓勵學生選擇貼近“互聯網+”“雙創”的題目作為3級項目作業。課上,在合適時機,適度補充部分創業方面的知識,如運營模式、盈利模式等,從而激發學生參加創新創業活動的積極性。軟件工程系15級同學,在完成3級項目的同時,有多組同學以此為素材積極申報第三屆“互聯網+”大賽,學生的創新創業能力及意識得到了顯著鍛煉與提高。
(4)從問卷反饋中發現,眾多學生對軟件開發的態度,從最初的僅“重技術”轉向“技術管理并重”,對軟件項目管理課程知識體系及其重要性有了更高的認識,為學生更好地適應實際崗位要求奠定了良好基礎。目前,在往屆的畢業生中,已有一部分學生從事軟件項目管理的相關工作。

表4 多元化考核分值分配
(5)根據教學目標,通過實驗、項目作業、項目驗收和結課考試等多種考核方式,對114名學生進行能力達成度分析。針對每個教學目標,分別統計實驗、項目作業、項目驗收和結課考試等對應該教學目標的總分數,并統計每個學生在每個教學目標下的總分數。計算出每個教學目標下,每個學生的分數所占總分數的百分比,并進行加和取平均值,從而得到教學目標達成度,結果均在85%以上,詳見表5;2018年度與2017年度,課程總成績各分數段人數分布情況如圖2所示。

表5 教學目標達成度及改進措施

圖2 2018年與2017年軟件項目管理課程的考核結果對比
基于項目驅動的軟件項目管理課程教學模式,通過“六位一體”教學體系加以實施,以團隊完成項目任務的形式為主線,將理論教學、實驗、企業實際經驗、作業、多元考核環節融于一體,充分調動了學生在全課程生命周期內容學習的主動性及積極性,增強了學生的課程知識綜合運用能力。同時,也充分鍛煉了學生的表達能力、溝通與協調能力、團隊協作能力以及沖突處理能力等,較好地支撐了課程教學目標的實現,取得了良好的教學效果。