王芳 秦映波
摘? 要: 本文從軟件項目管理課程的教學(xué)實踐出發(fā),對筆者之前提出的敏捷軟件項目管理教學(xué)方案進(jìn)行了改進(jìn),文中描述了改進(jìn)過程和改進(jìn)效果,體現(xiàn)了自我改進(jìn)、不斷創(chuàng)新的教學(xué)改革精神。
關(guān)鍵詞: 軟件項目管理;敏捷;教學(xué)方案;教學(xué)改革
中圖分類號: TP311? ? 文獻(xiàn)標(biāo)識碼: A? ? DOI:10.3969/j.issn.1003-6970.2020.10.047
本文著錄格式:王芳,秦映波. 敏捷軟件項目管理課程教學(xué)方案實踐過程改進(jìn)[J]. 軟件,2020,41(10):184186+197
【Abstract】: Starting from the teaching practice of software project management course, this paper improves the teaching scheme of agile software project management proposed by the author. The improvement process and effect are described in this paper, which embodies the teaching reform spirit of self-improvement and continuous innovation.
【Key words】: Software project management; Agile; Teaching scheme; Educational reform
0? 引言
軟件項目管理課程是軟件工程專業(yè)本科階段的必修課,對培養(yǎng)具有實踐和管理能力的軟件開發(fā)人才具有重要的意義[1]。然而很多人覺得大學(xué)時候?qū)W的軟件項目管理相關(guān)內(nèi)容很“虛”,那是因為大學(xué)期間的軟件項目管理更側(cè)重理論,理解起來枯燥乏味,很難學(xué)以致用;學(xué)生沒有實際項目演練機(jī)會,學(xué)的東西沒有辦法馬上進(jìn)行實踐;所有的概念都只是文字而已,根本談不上理解為何需要這樣的管理流程、管理方法和工具、技術(shù)標(biāo)準(zhǔn)等。
而對于有6年互聯(lián)網(wǎng)公司研發(fā)經(jīng)驗、2年項目管理經(jīng)驗、2年教學(xué)經(jīng)驗的筆者而言,大學(xué)時期學(xué)軟件項目管理當(dāng)然是非常有用的。在真正的軟件開發(fā)工作中,不管用什么開發(fā)語言,不管是前端和后端,可以確定的說,現(xiàn)代軟件項目開發(fā)都離不開軟件項目管理知識的應(yīng)用。學(xué)好了軟件項目管理,工作可以按時完成,軟件質(zhì)量有保證,開發(fā)的時間和成本都可控。實踐中遇到的問題,要從理論和實踐兩個方面去尋找答案,如果沒有上過這些課程,就需要重新學(xué)習(xí)??墒窃谌粘9ぷ髦?,遇到了實際問題,留給我們解決問題的時間是不多的,所以未必來得及重新學(xué)習(xí)。目前處于本科階段的學(xué)生們當(dāng)然無法知曉這一因果聯(lián)系。
作為軟件項目管理課程的教師,最重要的工作就是打破學(xué)生對該課程的不良印象,把理論知識和鮮活的案例結(jié)合起來,和學(xué)生一起探討這些知識點背后的歷史和現(xiàn)實意義,讓學(xué)生認(rèn)識到此課程的價值,調(diào)動學(xué)生的學(xué)習(xí)興趣、提高學(xué)生的實踐能力。
1? 軟件項目管理課程教學(xué)方案研究與實踐
國內(nèi)重點大學(xué)的教學(xué)團(tuán)隊走在軟件工程系列課程改革的前列。以韓萬江副教授為代表的教學(xué)團(tuán)隊結(jié)合互聯(lián)網(wǎng)時代的軟件工程發(fā)展,重新構(gòu)建課程體系和教學(xué)內(nèi)容。筆者通過北京郵電大學(xué)《軟件項目管理》精品課程在中國大學(xué)MOOC的在線課程,深入學(xué)習(xí)了重點大學(xué)相關(guān)課程的課程內(nèi)容和教學(xué)模式。
這些課程的教師們在教授軟件工程系列課程的基本概念、基本原理和基本方法的同時,更重視軟件工程實踐訓(xùn)練。這些課程突破以開發(fā)生命周期安排教學(xué)單元的形式,從可實踐的角度進(jìn)行案例教學(xué)和項目實戰(zhàn);以Web應(yīng)用開發(fā)項目為主線,完成基于敏捷模型的項目開發(fā)和管理過程,并構(gòu)建基于云服務(wù)的課程項目實驗環(huán)境,將過程和工具結(jié)合在一起,以實現(xiàn)“做中學(xué)”和“基于項目的學(xué)習(xí)”;通過貫穿始終的項目案例和情景項目展示,讓學(xué)生切身體會軟件項目管理過程從而更好地將軟件工程思想和軟件項目管理理論與實踐相結(jié)合[2-5]。
筆者通過對軟件項目管理課程相關(guān)教學(xué)方案的學(xué)習(xí)[6-8],結(jié)合自身企業(yè)軟件開發(fā)和項目管理經(jīng)驗,針對本學(xué)院軟件工程專業(yè)軟件項目管理課程進(jìn)行了教學(xué)改革,對軟件項目管理課程的教學(xué)內(nèi)容、教學(xué)方式、考核制度等方面進(jìn)行了詳細(xì)規(guī)劃和設(shè)計,形成了一套符合當(dāng)前互聯(lián)網(wǎng)行業(yè)軟件產(chǎn)品開發(fā)規(guī)律的、讓學(xué)生真實體會軟件產(chǎn)品迭代過程的敏捷軟件項目管理教學(xué)方案[9]。
經(jīng)過對本學(xué)院2016級和2017級軟件工程專業(yè)學(xué)生大三上學(xué)期《軟件項目管理》課程的教學(xué)改革,教學(xué)效果得到了各位同學(xué)的肯定。同學(xué)們經(jīng)過一個學(xué)期的團(tuán)隊項目實踐,在做的過程中不斷學(xué)習(xí),從產(chǎn)品規(guī)劃到項目部署,逐漸找到適合自己的角色,補(bǔ)充該角色應(yīng)該具備的知識和技能,為畢業(yè)后選擇合適的職位積累了寶貴經(jīng)驗。很多學(xué)生把這次實踐經(jīng)驗寫在實習(xí)簡歷中;還有些團(tuán)隊的項目成了社團(tuán)的工作平臺、為師生工作和學(xué)習(xí)提供便利的小程序、大學(xué)生創(chuàng)新創(chuàng)業(yè)項目等。
2? 軟件項目管理課程教學(xué)方案改進(jìn)
在過去的兩年中,筆者所在學(xué)院的軟件項目管理教師團(tuán)隊不斷總結(jié)經(jīng)驗教訓(xùn),通過對教學(xué)方案實施過程中遇到的問題進(jìn)行整理和思考,在原有方案的基礎(chǔ)上完成了4項改進(jìn)。
2.1? 整合教學(xué)資源
我校軟件工程專業(yè)在軟件項目管理課程中使用北京郵電大學(xué)的韓萬江副教授的《軟件項目管理案例教程(第4版)》,該教材在中國大學(xué)MOOC上有精品課程《軟件項目管理》[2]。受該精品課程的啟發(fā),我校也在超星學(xué)習(xí)通建立了該課程的線上學(xué)習(xí)資源,方便學(xué)生在線學(xué)習(xí)和交流。學(xué)生按照教學(xué)計劃、結(jié)合自身情況隨時隨地地在線上學(xué)習(xí)課程理論基礎(chǔ)知識,通過題庫練習(xí)鞏固理論基礎(chǔ)。在線學(xué)習(xí)平臺還有利于教師和學(xué)生以及學(xué)生和學(xué)生之間的互動交流。圖1為我校軟件項目管理課程資源和題庫。
2.2? 優(yōu)化項目選題
學(xué)生在自主選擇項目時,往往面臨缺乏用戶場景的難題。如果學(xué)生無法設(shè)身處地理解用戶需求,就無法保持產(chǎn)品持續(xù)迭代的熱情。課程提供的可選題目均來自2018年度和2019年度微信小程序開發(fā)大賽各賽區(qū)決賽入圍名單(微信小程序開發(fā)大賽為每年上半年,而軟件項目管理課程為每年的下半年),絕大部分項目需求來源于校園生活和學(xué)習(xí)。可選題目僅供參考,大家可根據(jù)自身意愿和生活學(xué)習(xí)過程中的實際需求進(jìn)行思考或擴(kuò)展,最終產(chǎn)品名稱可自行決定。但選題必須從解決實際問題出發(fā),來源于生活和學(xué)習(xí),服務(wù)于生活和學(xué)習(xí)。
2.3? 優(yōu)化團(tuán)隊組建規(guī)則
在學(xué)生自愿組隊的基礎(chǔ)上增加教師干預(yù):一是根據(jù)個人意愿將女生分散到不同團(tuán)隊,女生往往對產(chǎn)品設(shè)計、團(tuán)隊管理更擅長,避免女生扎堆的團(tuán)隊出現(xiàn)。二是將個別不能成團(tuán)的學(xué)生安排入整體能力較高的團(tuán)隊,以便觀摩學(xué)習(xí),在良好的氛圍中進(jìn)行自我改進(jìn)。團(tuán)隊內(nèi)部要明確各項工作的負(fù)責(zé)人,確保項目過程的產(chǎn)出有責(zé)任人,避免抱大腿、打醬油等不公平現(xiàn)象的出現(xiàn)。
2.4? 鼓勵過程分享
要鼓勵學(xué)生分享和互動,鼓勵做得好的團(tuán)隊分享自己的創(chuàng)意和成果,不但為其他團(tuán)隊樹立了學(xué)習(xí)的榜樣,而且使自己的工作更有價值,能起到相互激勵的作用。以17級軟件工程專業(yè)的4個班級為例,有較多的團(tuán)隊愿意站上講臺來分享團(tuán)隊成果,圖2為分享團(tuán)隊及項目列表。教師要鼓勵學(xué)生將遇到問題的拋出來,分享后馬上收集學(xué)生的問題,圖3為學(xué)生對某項目的提問列表(篩選了學(xué)生對某項目的提問)。教師將問題整理后反饋給分享的團(tuán)隊,他們在準(zhǔn)備后再次進(jìn)行分享,精準(zhǔn)地回答學(xué)生提出的問題。這一過程充分體現(xiàn)了“以教師為主導(dǎo),以學(xué)生為主體”的教學(xué)理念。在最后階段的課程總結(jié)問卷調(diào)查中,有超過半數(shù)的同學(xué)表示自己受益于分享,或從中學(xué)到知識,或由此受到鼓舞,圖4為某同學(xué)通過問卷調(diào)查表單提交的課程總結(jié)內(nèi)容。
3? 結(jié)語
軟件行業(yè)日新月異,新的技術(shù)和工具層出不窮,軟件工程專業(yè)相關(guān)的課程內(nèi)容和教學(xué)手段也必須要“與時俱進(jìn)”,符合市場需求。軟件項目管理需要與實踐結(jié)合緊密的特點,對師資提出了更高要求。為了讓學(xué)生了解到人們廣泛使用的軟件是如何開發(fā)出來的,課程教師需要有豐富的項目經(jīng)驗,有第一手的流程、文檔、數(shù)據(jù),能讓學(xué)生真切感受到了開發(fā)流程、需求管理、質(zhì)量控制的作用,體會到概念和理論并不是很有道理的廢話,而是對工業(yè)界經(jīng)驗的總結(jié)。由此引發(fā)學(xué)生對互聯(lián)網(wǎng)行業(yè)的關(guān)注,激起學(xué)習(xí)興趣,使學(xué)生掌握規(guī)范化的軟件開發(fā)和質(zhì)量控制過程,培養(yǎng)良好的團(tuán)隊合作能力和實踐能力,為日后從事軟件開發(fā)相關(guān)工作打下堅實的基礎(chǔ)[10-11]。
參考文獻(xiàn)
[1]張永平, 劉燕, 邵星. “案例驅(qū)動+項目實踐”的軟件項目管理課程教學(xué)實踐[J]. 計算機(jī)教育, 2015, 23: 115-119.
[2]韓萬江, 姜立新. 軟件項目管理案例教程(第4版)[M]. 北京: 機(jī)械工業(yè)出版社, 2019.
[3]韓萬江, 姜立新, 張笑燕, 等. 基于工程化的軟件工程教學(xué)案例研究[J]. 軟件, 2019, 40(3): 78-87.
[4]韓萬江, 張笑燕, 陸天波, 等. 軟件工程專業(yè)認(rèn)證的新思路研究[J]. 軟件, 2015, 36(3): 37-40.
[5]韓萬江, 張笑燕, 陸天波. 《軟件項目管理》課程中理論與實踐的交融關(guān)系[J]. 軟件, 2014, 35(2): 165-168.
[6]Bob Hughes, Mike Cotterell 著. 廖彬山, 周衛(wèi)華 譯. 軟件項目管理(原書第5版)[M]. 北京: 機(jī)械工業(yè)出版社, 2010.
[7]Andrew Pham, Phuong-Van Pham著. 崔康 譯. Scrum實戰(zhàn)—敏捷軟件項目管理與開發(fā)[M]. 北京: 清華大學(xué)出版社, 2013.
[8]鄒欣. 構(gòu)建之法—現(xiàn)代軟件工程[M]. 北京: 人民郵電出版社, 2015.
[9]王芳, 鄧一星, 秦映波. 敏捷軟件項目管理課程教學(xué)方案研究與實踐[J]. 軟件, 2018, 39(4): 77-81.
[10]韓萬江, 張笑燕, 陸天波. 基于混合式教學(xué)的軟件項目管理課程建設(shè)[J]. 大學(xué)教育, 2015, 10: 161-162.
[11]鄧一星. 軟件工程專業(yè)校企合作形式的探索與實現(xiàn), 2016, 37(8): 54-56.