商 琦
(1.蘇州工業園區服務外包職業學院信息工程學院,江蘇蘇州 215123;2.蘇州大學計算機科學與技術學院,江蘇蘇州 215008)
實踐教學是高職院校典型的專業教學特征,實踐教學模式、過程和成效直接決定了高職院校人才培養水準和專業技能培養質量[1]。《高等職業教育創新發展行動計劃(2015—2018 年)》明確指出,高職院校應當以產業為導向,注重專業內涵式發展,改革和創新實踐教學模式[2]。在“為產業辦教育”宗旨下,實踐教學理論、方法和評價如何與產業需求深度融合,已成為高職院校實踐教育教學領域亟待研究和探索的課題之一。
國內諸多學者對工程類學科的實踐教學模式進行了深入研究與探索,總結出很多創新的教學方法和過程,形成較為豐碩的研究成果。劉芙等[3]構建以“三結合”為核心、“四層次”為內容、“四階段”為邏輯的實踐教學模式,從而提升實踐教學成效;劉在英等[4]對實踐教學模式改革提出Workshop互動式、公司情景和個性化作業包三種創新教學方法;羅文廣等[5]根據電氣類專業特點提出多元化實踐教學模式,強調核心專業技能習得在實踐教學過程中的重要性,從而提升學生實踐創新素養;譚志虎等[6]提出實踐教學小班化、過程管理精細化、實踐考評工程化的創新實踐教學模式,在學生全程培養過程中取得較好效果;鄭亞娟[7]構建了“互聯網+”的實踐教學模式,將“互聯網+”信息技術運用到實踐教學內容、教學方法和教學條件創新;張莉等[8]提出融合實踐教學、學科競賽、實踐基地、訓練項目和創業實踐的“五位一體”實踐教學模式,較好地推動教育綜合改革的成功實施,提高了復合型人才培養質量。
綜上所述,實踐教學模式的改革與創新較多地對教學元素進行不同粒度的融合與改進,或是對傳統的教育教學過程進行微觀改進以使教學過程更加貼近工程實際,又或是在現有教學框架和資源的基礎上融入新的教學手段和方法以使實踐教學質量得到有效提升。這些舉措雖然能夠對學科專業的人才培養質量起到正向推動和改善的有益效果,但并未從頂層設計的角度對實踐教學模式進行框架性的創新與重構,也很少有對模式創新的實施路徑有詳細闡述。針對高職院校軟件類專業實踐教學模式存在的突出問題,以“敏捷過程”為視角對傳統實踐教學模式進行重構與優化,闡釋了敏捷實踐教學模式的內涵及其實施路徑,為實踐教學改革提供新的方法論。
“十三五”以來,國內軟件技術產業發展勢頭迅猛,尤其軟件外包企業承接的在岸和離岸項目數量和合同金額呈高速增長態勢,對軟件技術產業技能型人才的需求明顯增大,專業技能型人才需求缺口矛盾日益凸顯。產業經濟發展邁入新常態,特別是國務院發布《關于加快發展現代職業教育的決定》以來,高職院校積極調整并優化人才培養方案以適應經濟方式轉變和產業結構調整的需要,“為產業辦教育”的辦學宗旨被越來越多的高職院校采納并實踐。
面向軟件開發與服務的實踐教學,以培養軟件技術產業急需的復合技能型人才為培養目標,以實踐訓練為主要教學形式,在工科或綜合性高職院校都已經廣泛開展,出現了面向校企合作環境[9]、指向情境性生成[10]和面向校企資源共享[11]的實踐教學等有益嘗試,但人才培養成效尚不顯著,與產業對人才的實踐技能水平存在不小的差距。從人才培養生命周期全程跟蹤研究發現,實踐教學過程普遍存在以下問題:
(1)實踐需求明確,缺失軟件需求分析技能培養。軟件需求分析是軟件開發的先導環節,具體包括需求理解、拆分與歸類,并最終輸出需求分析文檔。實踐教學往往以結果為導向,只求學生把布置的任務完成,卻未意識到實踐教學的過程培養恰恰是軟件技能型人才培養全周期中的關鍵之處。需求分析實踐過程的缺失,將直接導致企業工作環境中需求理解與分析技能欠缺。
(2)教學任務一次布置,缺失多任務疊加與集成技能培養。軟件功能需求頻繁變更是軟件技術從業者不得不直面的現實,因此,不同功能模塊的疊加與集成是軟件開發與服務崗位必須具備的重要技能。多任務疊加與集成開發過程中,不同的實施模式決定了不同的開發效率。實踐教學任務往往一次性布置,卻未意識到多任務集成的重要性,以致工作過程中多任務迭代與集成技能的缺失。
(3)實踐教學僅強調功能實現,缺失性能改善技能培養。軟件產品不僅要滿足功能要求,還應當滿足一定的性能指標。實踐教學受限于課時或教師專業技能水準,往往只強調功能實現,卻忽視實踐交付物的穩定性、健壯性、可復用性和可移植性等軟件性能指標,而這些性能指標恰恰是衡量軟件產品質量的重要指標。因此,僅強調實現功能的實踐教學,將缺失對軟件質量改善和提升技能的培養。
(4)實踐形式單一,缺失團隊協作創新能力培養。實踐教學的組織形式單一化、程式化,學生在接收相對封閉的機械化實踐訓練同時,協作創新的火花無法傳遞到其他同學和團隊,無法創造“1 +1 >2”的增量效應,不利于團隊協作精神的培養和創新思維的形成。
(5)實踐教學過程未實現閉環管理。一個收效好的教學過程一定是個閉環,教師向學生講授專業實踐技能是正向傳遞流,教師收到學生實踐進度和學習程度的反饋是反向傳遞流,教師根據反向傳遞流適度調整正向傳遞流,從而使得實踐教學效果達到最優。遺憾的是,實踐教學往往強調任務布置和任務交付,忽視了學生實踐中遇到的困難、實踐的進度、實施改進、實施心得等過程性數據,導致實踐教學質量和教學效果與預期相差較大。
敏捷過程最初是為解決軟件行業需求模糊或頻繁變更而總結出的開發原則和創新模式,鼓勵項目團隊以增量開發模式和高效協作方式實現軟件需求,在向客戶及時交付有價值的產品或服務的同時,極大地增強了項目團隊的成就感和凝聚力[12-13]。
敏捷實踐教學模式,就是將敏捷過程應用到軟件技能人才培養中的關鍵教學節點,從而固化為一種適用于實踐教學過程的教學流程框架[14]。“敏捷實踐教學”頂層設計主要涉及兩個關鍵點:①如何使教師按照敏捷軟件管理的方法進行“敏捷管理”;②如何使學生按照敏捷軟件開發的方法進行“敏捷實踐”。敏捷實踐教學把“敏捷管理”和“敏捷實踐”統一到敏捷流程中,師生雖有不同的角色定位,但始終堅持“以教師為流程主導,以學生為實踐主體”的教學理念。
從教學價值層面,敏捷實踐教學是一種實踐教學價值觀,堅持“實施過程高于實施結果、團隊合作高于個體實施、響應變化高于遵循計劃”的價值導向;從教學方法層面,敏捷實踐教學是一套實踐教學方法論,適于指導教師根據實踐教學的實際需求,將敏捷教學要素落實到實踐教學過程;從教學實施層面,敏捷實踐教學是一套實踐教學流程,包括任務分解、工作量估算、任務認領、結對開發、持續集成和版本發布等環節;從教學管理層面,敏捷實踐教學又是一套教學閉環反饋管理的實踐與總結,為調整與優化教學進度和教學內容提供實踐依據。
大量的問卷調研和隨機訪談可知,高職院校學生基礎相對較差,底子相對較薄,突出表現為:①學習態度不夠端正,對專業技能實踐持“無所謂”態度;②可持續性學習能力較差,淺嘗輒止,缺乏持續實踐精神;③學習積極性不高,學習興趣未得到有效調動;④畏難情緒和抵觸情緒比較普遍,對稍微復雜的實踐技能點產生畏難情緒,進而對專業技能學習產生抵觸情緒[15]。基于客觀存在的學情實際,高職院校軟件實踐教學應當充分考慮學情特點,創新實踐教學模式和課堂管理方式,做到因材施教,難易結合,精準施教。
敏捷軟件開發過程將團隊成員按不同的職責定位劃分為產品經理(Product Owner),敏捷教練(Master)和開發成員(Team Member)3 種角色[16]:產品經理分解軟件任務,確定各任務優先級和完成期限;敏捷教練指導敏捷實施過程,排除外部障礙,保證團隊向著既定目標推進;開發成員認領各任務,按照“編碼—測試—發布”迭代開發,增量集成,最終交付有價值的軟件產品。
顯然,敏捷過程的“三元”角色與傳統實踐教學過程的“二元”角色無法構成直接的邏輯對應關系,根據不同角色職能交叉原則,確定出敏捷實踐教學過程中教師與學生的敏捷角色的具體職責分配如下:教師既扮演產品經理角色,又扮演敏捷教練角色;學生在敏捷自組織團隊形成之前扮演開發成員角色,在自組織團隊形成之后既扮演敏捷教練角色,又扮演開發成員角色。通俗地說,開發團隊開始具備自組織和自管理能力的時候,便是教師退出并由某個開發成員擔任敏捷教練角色的成熟時機。
“敏捷意識”是遵循“過程優于結果、合作優于個體、響應變化優于循規蹈矩”的實踐教學價值觀,是實施敏捷實踐教學的思想基礎和前提條件,其目標是通過對敏捷教學過程的實施從而培養與行業、企業實際需求和工作流程契合度較高的工程類技能人才。傳統的工程類技能人才培養方案固化了教學模式,用套路化和模塊化的標準制定培養方案,沒有真正把產教融合和學以致用的觀點應用到培養方案中,既不符合“教無定法”的教學原則,也不利于因材施教、精準施教。因此,優化工程類技能人才培養方案已是當務之急,特別是在人才培養標準、考核指標和教學過程等環節進行優化和完善。人才培養標準應重點突出產業動態標準,將產業需求充分融入人才培養方案中。考核指標應當更加突出過程性考核,譬如增加敏捷頭腦風暴參與度、任務工作量評估合理度、結對實施的合作度、實施效果評價等過程性評價指標權重,突出“過程性考核”思路。教學過程突破傳統的“教師講解、學生練習”的理實一體教學,從敏捷實施生命周期角度設計教學環節,使每個環節都突出敏捷價值理念,既解決了授課內容和實踐形式單調枯燥的現實難題,又提升了教與學的互動積極性,寓教于學,有效改善實踐教學質量。
《職業院校教師素質提高計劃(2017-2020 年)》指出,高職院校應當全面構建基于產教融合的專業技能示范團隊和“雙師型”的師資隊伍,積極探索校企“雙向流動”作為實踐教學常態化機制。實踐教學模式的實施需要有相應“資質”的教師主導完成,從而達到應有的教學效果。敏捷框架重構的實踐教學模式的實施,應當配備“敏捷教練型”的師資隊伍,至少應該具備全局的產業視角、全面的工程專業技能、過硬的校企資源對接技能和良好的教學管控能力。建設“敏捷教練型”師資隊伍主要有兩大路徑,①從行業聘請軟件專業領域經驗豐富的工程師或敏捷實施教練作為兼職教師,建立兼職教師資源池,實踐敏捷教學過程;②要求校內專任老師通過敏捷專業技能培訓領會敏捷實踐教學模式中涉及的教學內容、教學過程和教學評價創新,并熟練掌握敏捷實踐教學所需技能集合。一方面,學校應當加強對實踐教學師資隊伍建設的支持力度和監督力度,確保師資隊伍建設資金用到實處并取得成效;另一方面,教師也應當提高技能素質提升意識和實踐,提升實踐指導技能,打造一支既具備專業技能,又熟練掌握敏捷過程的教練型的實踐教學師資隊伍。
傳統的實踐教學模式過于強調理論或方法創新,從而忽視了學生自主學習和結對學習需求,導致教學過程機械化、教學內容呆板化、教學手段理論化、教學方法套路化、教學效果不甚理想。構建敏捷實踐教學模式,不斷優化敏捷教學要素和設計過程,為高等職業院校工程實踐教學模式創新提供新的思路。
敏捷實踐教學的有效實施依賴于課堂組織形式,根據多年的實施經驗,實踐課堂的組織形式以小組為單位,每個小組4~6 人,每個軟件實踐項目實施周期不要超過2 周為宜。以軟件技術產業技能型人才培養為目標,敏捷實踐教學的實施路徑包括任務分解、子任務認領與二次分解、敏捷迭代開發、例會和分享會等關鍵實施過程。
4.3.1 教學任務分解
授課教師將軟件實踐項目以需求任務的形式布置給每個小組,并指導各小組將需求任務分解成若干子任務,并約定每項子任務的實施優先級、開始時間和完成時間,形成產品需求分解列表。任務分解實施過程以軟件功能聚類為原則,把具有相同或相似功能的模塊歸為一個子任務,其現實意義在于彌補實踐教學環節中需求分析實踐過程的缺失,有助于工作環境中需求分析技能的培養。
4.3.2 子任務認領與二次分解
各小組成員認領自身擅長技術領域對應的子任務,為降低實施難度,必要時將認領到的子任務二次分解為粒度更細的元任務。在二次分解過程中,小組成員需要估算每個元任務工作量。為了確保估算的相對合理性和科學性,小組成員采用頭腦風暴的形式,每個小組成員都必須給出完成元任務所需的工作量。當小組成員彼此估算的工作量相差過大時,各成員應當給出預估理由和依據,然后在小組內重新估算。只有所有成員達成一致意見,該預估時間才能生效,充分體現了敏捷實踐教學過程的自組織架構,其現實意義在于,人為地對子任務進行二次分解,有助于多任務集成意識和技能的培養。
4.3.3 敏捷迭代開發
無論是作為最小開發粒度的元任務,還是子任務本身,都遵循“編碼—測試—發布”的迭代過程。通俗地說,元任務經過編碼、測試和發布的循環迭代過程即完成了與該元任務對應的子任務實施過程;子任務經過編碼、測試和發布的循環迭代過程即完成了與該子任務對應的軟件需求實施過程。敏捷實踐教學強調實施過程,迭代開發應強化結對編程、代碼重構和代碼走查等環節的實踐教學過程,有助于團隊協作精神的形成,以及軟件質量提升技能的培養。
(1)編碼實踐。課堂組織以小組成員兩兩結對的形式開展編碼實踐活動,其好處在于,當某個成員編碼時發生語法或者邏輯錯誤卻并未及時察覺時,與之結對的成員可以及時指出并協同改正,從而極大提升了團隊編碼的效率和質量。為培養學生發現問題解決問題的技能,教師指導小組以代碼走查或走讀的方式,有意識地發現并完善代碼中的缺陷,從而提升編碼質量。
(2)測試實踐。為檢驗編碼成果,小組成員借助測試工具和用例腳本對元任務軟件版本進行單元測試和集成測試。測試實踐的目標是培養學生軟件測試技能和用例報告撰寫技能,從另一個層面,也是培養學生“回頭看”的意識,檢驗前期對用戶需求理解是否到位。
(3)發布實踐。發布實踐是編碼和測試實踐的歸宿,對測試后的代碼進行編譯、運行,生成的軟件版本應當是有價值的。發布實踐鼓勵學生思考“增量迭代”對軟件版本的影響,以及分析如何從源頭上規避不利影響,進而培養學生對于多任務和多模塊增量集成的高階技能。
4.3.4 例會和分享會
每天的敏捷實踐教學開始都要進行例會,小組所有成員都必須匯報任務實施進展,包括“昨天完成了哪些”“今天打算實施哪些”和“遇到的困難和障礙”,教師以導師身份進行指導和幫助。實踐任務完成后進行的經驗分享會,鼓勵小組成員說出實施過程中的故事、方案、經驗和啟示,以培養學生創新思維和團隊協作分享意識,有助于構建實踐過程的信任機制和溝通機制。
教學聯盟是以教學為出發點的教育教學聯合體,教學聯盟成員可以進行資源共享、教學交流、產教對接等常規活動,通過資源整合共享和優勢互補,使聯盟內各成員協同高效發展。加強產校合作,將敏捷實踐教學聯盟作為連接產業和院校的橋梁和紐帶,建立實踐教學聯盟創新平臺,整合企業工作過程和實施方案,引入創新平臺重構實踐教學過程和培養模式;教學聯盟成員單位將自身優勢學科的敏捷教學經驗和總結推廣到其他成員單位以形成學科優勢互補協調發展的實踐教學推廣機制。敏捷實踐教學聯盟可以實施多途徑、多層次、跨學科的合作與交流,譬如,教學聯盟定期召開工程類人才培養方案的制訂和修改、專業建設與創新、課程標準和教學改革、實踐教學質量評估與評價等教學研討會;或者對政府、行業、企業等各類縱向和橫向課題研究進行立項咨詢、同行專家評審、結項答辯等會議,通過分享、研討和評審達到經驗傳播與交流、課題評估等目的。
針對工程類實踐教學模式普遍存在的問題,結合產業發展對人才技能的實際要求,將敏捷過程引入實踐教學活動,用于重構實踐教學模式,從價值理念、教學方法、教學實施和教學管理等方面闡述敏捷實踐教學模式內涵;通過分析高職院校學情特點和敏捷實踐角色轉換探究敏捷實踐教學模式可行性;從優化人才培養方案、建設敏捷教練型師資隊伍、構建創新實踐教學模式和建立敏捷教學聯盟等層面詳細闡述敏捷實踐教學實施路徑。研究的創新之處在于,將敏捷過程嵌入實踐教學,提出“敏捷實踐教學”頂層設計模式,將敏捷過程各環節與實踐教學節點徹底打通,有機融合,目標是通過基于工作過程的模擬以培養與產業技能需求深度融合的復合型人才,為實踐教學改革與創新提供新的思路和借鑒。
毋庸諱言,本研究也存在一定的局限性,如對師資隊伍的教學把控、實踐經驗和項目資源要求較高;要求產教融合的地方產業體系基本形成并初具規模,對接產業和行業需求基本明確;要求當地政府對高職院校“為產業辦教育”理念在政策、資金和人才等方面有所傾斜。