实践教学模式的敏捷重构
2021-01-26商琦
商 琦
(1.苏州工业园区服务外包职业学院信息工程学院,江苏苏州 215123;2.苏州大学计算机科学与技术学院,江苏苏州 215008)
0 引言
实践教学是高职院校典型的专业教学特征,实践教学模式、过程和成效直接决定了高职院校人才培养水准和专业技能培养质量[1]。《高等职业教育创新发展行动计划(2015—2018 年)》明确指出,高职院校应当以产业为导向,注重专业内涵式发展,改革和创新实践教学模式[2]。在“为产业办教育”宗旨下,实践教学理论、方法和评价如何与产业需求深度融合,已成为高职院校实践教育教学领域亟待研究和探索的课题之一。
国内诸多学者对工程类学科的实践教学模式进行了深入研究与探索,总结出很多创新的教学方法和过程,形成较为丰硕的研究成果。刘芙等[3]构建以“三结合”为核心、“四层次”为内容、“四阶段”为逻辑的实践教学模式,从而提升实践教学成效;刘在英等[4]对实践教学模式改革提出Workshop互动式、公司情景和个性化作业包三种创新教学方法;罗文广等[5]根据电气类专业特点提出多元化实践教学模式,强调核心专业技能习得在实践教学过程中的重要性,从而提升学生实践创新素养;谭志虎等[6]提出实践教学小班化、过程管理精细化、实践考评工程化的创新实践教学模式,在学生全程培养过程中取得较好效果;郑亚娟[7]构建了“互联网+”的实践教学模式,将“互联网+”信息技术运用到实践教学内容、教学方法和教学条件创新;张莉等[8]提出融合实践教学、学科竞赛、实践基地、训练项目和创业实践的“五位一体”实践教学模式,较好地推动教育综合改革的成功实施,提高了复合型人才培养质量。
综上所述,实践教学模式的改革与创新较多地对教学元素进行不同粒度的融合与改进,或是对传统的教育教学过程进行微观改进以使教学过程更加贴近工程实际,又或是在现有教学框架和资源的基础上融入新的教学手段和方法以使实践教学质量得到有效提升。这些举措虽然能够对学科专业的人才培养质量起到正向推动和改善的有益效果,但并未从顶层设计的角度对实践教学模式进行框架性的创新与重构,也很少有对模式创新的实施路径有详细阐述。针对高职院校软件类专业实践教学模式存在的突出问题,以“敏捷过程”为视角对传统实践教学模式进行重构与优化,阐释了敏捷实践教学模式的内涵及其实施路径,为实践教学改革提供新的方法论。
1 产业背景与软件实践教学存在的问题
1.1 产业背景
“十三五”以来,国内软件技术产业发展势头迅猛,尤其软件外包企业承接的在岸和离岸项目数量和合同金额呈高速增长态势,对软件技术产业技能型人才的需求明显增大,专业技能型人才需求缺口矛盾日益凸显。产业经济发展迈入新常态,特别是国务院发布《关于加快发展现代职业教育的决定》以来,高职院校积极调整并优化人才培养方案以适应经济方式转变和产业结构调整的需要,“为产业办教育”的办学宗旨被越来越多的高职院校采纳并实践。
1.2 软件实践教学存在问题
面向软件开发与服务的实践教学,以培养软件技术产业急需的复合技能型人才为培养目标,以实践训练为主要教学形式,在工科或综合性高职院校都已经广泛开展,出现了面向校企合作环境[9]、指向情境性生成[10]和面向校企资源共享[11]的实践教学等有益尝试,但人才培养成效尚不显著,与产业对人才的实践技能水平存在不小的差距。从人才培养生命周期全程跟踪研究发现,实践教学过程普遍存在以下问题:
(1)实践需求明确,缺失软件需求分析技能培养。软件需求分析是软件开发的先导环节,具体包括需求理解、拆分与归类,并最终输出需求分析文档。实践教学往往以结果为导向,只求学生把布置的任务完成,却未意识到实践教学的过程培养恰恰是软件技能型人才培养全周期中的关键之处。需求分析实践过程的缺失,将直接导致企业工作环境中需求理解与分析技能欠缺。
(2)教学任务一次布置,缺失多任务叠加与集成技能培养。软件功能需求频繁变更是软件技术从业者不得不直面的现实,因此,不同功能模块的叠加与集成是软件开发与服务岗位必须具备的重要技能。多任务叠加与集成开发过程中,不同的实施模式决定了不同的开发效率。实践教学任务往往一次性布置,却未意识到多任务集成的重要性,以致工作过程中多任务迭代与集成技能的缺失。
(3)实践教学仅强调功能实现,缺失性能改善技能培养。软件产品不仅要满足功能要求,还应当满足一定的性能指标。实践教学受限于课时或教师专业技能水准,往往只强调功能实现,却忽视实践交付物的稳定性、健壮性、可复用性和可移植性等软件性能指标,而这些性能指标恰恰是衡量软件产品质量的重要指标。因此,仅强调实现功能的实践教学,将缺失对软件质量改善和提升技能的培养。
(4)实践形式单一,缺失团队协作创新能力培养。实践教学的组织形式单一化、程式化,学生在接收相对封闭的机械化实践训练同时,协作创新的火花无法传递到其他同学和团队,无法创造“1 +1 >2”的增量效应,不利于团队协作精神的培养和创新思维的形成。
(5)实践教学过程未实现闭环管理。一个收效好的教学过程一定是个闭环,教师向学生讲授专业实践技能是正向传递流,教师收到学生实践进度和学习程度的反馈是反向传递流,教师根据反向传递流适度调整正向传递流,从而使得实践教学效果达到最优。遗憾的是,实践教学往往强调任务布置和任务交付,忽视了学生实践中遇到的困难、实践的进度、实施改进、实施心得等过程性数据,导致实践教学质量和教学效果与预期相差较大。
2 敏捷实践教学模式内涵
敏捷过程最初是为解决软件行业需求模糊或频繁变更而总结出的开发原则和创新模式,鼓励项目团队以增量开发模式和高效协作方式实现软件需求,在向客户及时交付有价值的产品或服务的同时,极大地增强了项目团队的成就感和凝聚力[12-13]。
敏捷实践教学模式,就是将敏捷过程应用到软件技能人才培养中的关键教学节点,从而固化为一种适用于实践教学过程的教学流程框架[14]。“敏捷实践教学”顶层设计主要涉及两个关键点:①如何使教师按照敏捷软件管理的方法进行“敏捷管理”;②如何使学生按照敏捷软件开发的方法进行“敏捷实践”。敏捷实践教学把“敏捷管理”和“敏捷实践”统一到敏捷流程中,师生虽有不同的角色定位,但始终坚持“以教师为流程主导,以学生为实践主体”的教学理念。
从教学价值层面,敏捷实践教学是一种实践教学价值观,坚持“实施过程高于实施结果、团队合作高于个体实施、响应变化高于遵循计划”的价值导向;从教学方法层面,敏捷实践教学是一套实践教学方法论,适于指导教师根据实践教学的实际需求,将敏捷教学要素落实到实践教学过程;从教学实施层面,敏捷实践教学是一套实践教学流程,包括任务分解、工作量估算、任务认领、结对开发、持续集成和版本发布等环节;从教学管理层面,敏捷实践教学又是一套教学闭环反馈管理的实践与总结,为调整与优化教学进度和教学内容提供实践依据。
3 敏捷重构可行性分析
3.1 高职院校学生学情分析
大量的问卷调研和随机访谈可知,高职院校学生基础相对较差,底子相对较薄,突出表现为:①学习态度不够端正,对专业技能实践持“无所谓”态度;②可持续性学习能力较差,浅尝辄止,缺乏持续实践精神;③学习积极性不高,学习兴趣未得到有效调动;④畏难情绪和抵触情绪比较普遍,对稍微复杂的实践技能点产生畏难情绪,进而对专业技能学习产生抵触情绪[15]。基于客观存在的学情实际,高职院校软件实践教学应当充分考虑学情特点,创新实践教学模式和课堂管理方式,做到因材施教,难易结合,精准施教。
3.2 敏捷重构的教学角色分析
敏捷软件开发过程将团队成员按不同的职责定位划分为产品经理(Product Owner),敏捷教练(Master)和开发成员(Team Member)3 种角色[16]:产品经理分解软件任务,确定各任务优先级和完成期限;敏捷教练指导敏捷实施过程,排除外部障碍,保证团队向着既定目标推进;开发成员认领各任务,按照“编码—测试—发布”迭代开发,增量集成,最终交付有价值的软件产品。
显然,敏捷过程的“三元”角色与传统实践教学过程的“二元”角色无法构成直接的逻辑对应关系,根据不同角色职能交叉原则,确定出敏捷实践教学过程中教师与学生的敏捷角色的具体职责分配如下:教师既扮演产品经理角色,又扮演敏捷教练角色;学生在敏捷自组织团队形成之前扮演开发成员角色,在自组织团队形成之后既扮演敏捷教练角色,又扮演开发成员角色。通俗地说,开发团队开始具备自组织和自管理能力的时候,便是教师退出并由某个开发成员担任敏捷教练角色的成熟时机。
4 敏捷重构路径实施
4.1 树立“敏捷意识”,优化人才培养方案
“敏捷意识”是遵循“过程优于结果、合作优于个体、响应变化优于循规蹈矩”的实践教学价值观,是实施敏捷实践教学的思想基础和前提条件,其目标是通过对敏捷教学过程的实施从而培养与行业、企业实际需求和工作流程契合度较高的工程类技能人才。传统的工程类技能人才培养方案固化了教学模式,用套路化和模块化的标准制定培养方案,没有真正把产教融合和学以致用的观点应用到培养方案中,既不符合“教无定法”的教学原则,也不利于因材施教、精准施教。因此,优化工程类技能人才培养方案已是当务之急,特别是在人才培养标准、考核指标和教学过程等环节进行优化和完善。人才培养标准应重点突出产业动态标准,将产业需求充分融入人才培养方案中。考核指标应当更加突出过程性考核,譬如增加敏捷头脑风暴参与度、任务工作量评估合理度、结对实施的合作度、实施效果评价等过程性评价指标权重,突出“过程性考核”思路。教学过程突破传统的“教师讲解、学生练习”的理实一体教学,从敏捷实施生命周期角度设计教学环节,使每个环节都突出敏捷价值理念,既解决了授课内容和实践形式单调枯燥的现实难题,又提升了教与学的互动积极性,寓教于学,有效改善实践教学质量。
4.2 强化师资技能素质,建设“敏捷教练型”师资队伍
《职业院校教师素质提高计划(2017-2020 年)》指出,高职院校应当全面构建基于产教融合的专业技能示范团队和“双师型”的师资队伍,积极探索校企“双向流动”作为实践教学常态化机制。实践教学模式的实施需要有相应“资质”的教师主导完成,从而达到应有的教学效果。敏捷框架重构的实践教学模式的实施,应当配备“敏捷教练型”的师资队伍,至少应该具备全局的产业视角、全面的工程专业技能、过硬的校企资源对接技能和良好的教学管控能力。建设“敏捷教练型”师资队伍主要有两大路径,①从行业聘请软件专业领域经验丰富的工程师或敏捷实施教练作为兼职教师,建立兼职教师资源池,实践敏捷教学过程;②要求校内专任老师通过敏捷专业技能培训领会敏捷实践教学模式中涉及的教学内容、教学过程和教学评价创新,并熟练掌握敏捷实践教学所需技能集合。一方面,学校应当加强对实践教学师资队伍建设的支持力度和监督力度,确保师资队伍建设资金用到实处并取得成效;另一方面,教师也应当提高技能素质提升意识和实践,提升实践指导技能,打造一支既具备专业技能,又熟练掌握敏捷过程的教练型的实践教学师资队伍。
4.3 深化教学创新,构建敏捷实践教学新模式
传统的实践教学模式过于强调理论或方法创新,从而忽视了学生自主学习和结对学习需求,导致教学过程机械化、教学内容呆板化、教学手段理论化、教学方法套路化、教学效果不甚理想。构建敏捷实践教学模式,不断优化敏捷教学要素和设计过程,为高等职业院校工程实践教学模式创新提供新的思路。
敏捷实践教学的有效实施依赖于课堂组织形式,根据多年的实施经验,实践课堂的组织形式以小组为单位,每个小组4~6 人,每个软件实践项目实施周期不要超过2 周为宜。以软件技术产业技能型人才培养为目标,敏捷实践教学的实施路径包括任务分解、子任务认领与二次分解、敏捷迭代开发、例会和分享会等关键实施过程。
4.3.1 教学任务分解
授课教师将软件实践项目以需求任务的形式布置给每个小组,并指导各小组将需求任务分解成若干子任务,并约定每项子任务的实施优先级、开始时间和完成时间,形成产品需求分解列表。任务分解实施过程以软件功能聚类为原则,把具有相同或相似功能的模块归为一个子任务,其现实意义在于弥补实践教学环节中需求分析实践过程的缺失,有助于工作环境中需求分析技能的培养。
4.3.2 子任务认领与二次分解
各小组成员认领自身擅长技术领域对应的子任务,为降低实施难度,必要时将认领到的子任务二次分解为粒度更细的元任务。在二次分解过程中,小组成员需要估算每个元任务工作量。为了确保估算的相对合理性和科学性,小组成员采用头脑风暴的形式,每个小组成员都必须给出完成元任务所需的工作量。当小组成员彼此估算的工作量相差过大时,各成员应当给出预估理由和依据,然后在小组内重新估算。只有所有成员达成一致意见,该预估时间才能生效,充分体现了敏捷实践教学过程的自组织架构,其现实意义在于,人为地对子任务进行二次分解,有助于多任务集成意识和技能的培养。
4.3.3 敏捷迭代开发
无论是作为最小开发粒度的元任务,还是子任务本身,都遵循“编码—测试—发布”的迭代过程。通俗地说,元任务经过编码、测试和发布的循环迭代过程即完成了与该元任务对应的子任务实施过程;子任务经过编码、测试和发布的循环迭代过程即完成了与该子任务对应的软件需求实施过程。敏捷实践教学强调实施过程,迭代开发应强化结对编程、代码重构和代码走查等环节的实践教学过程,有助于团队协作精神的形成,以及软件质量提升技能的培养。
(1)编码实践。课堂组织以小组成员两两结对的形式开展编码实践活动,其好处在于,当某个成员编码时发生语法或者逻辑错误却并未及时察觉时,与之结对的成员可以及时指出并协同改正,从而极大提升了团队编码的效率和质量。为培养学生发现问题解决问题的技能,教师指导小组以代码走查或走读的方式,有意识地发现并完善代码中的缺陷,从而提升编码质量。
(2)测试实践。为检验编码成果,小组成员借助测试工具和用例脚本对元任务软件版本进行单元测试和集成测试。测试实践的目标是培养学生软件测试技能和用例报告撰写技能,从另一个层面,也是培养学生“回头看”的意识,检验前期对用户需求理解是否到位。
(3)发布实践。发布实践是编码和测试实践的归宿,对测试后的代码进行编译、运行,生成的软件版本应当是有价值的。发布实践鼓励学生思考“增量迭代”对软件版本的影响,以及分析如何从源头上规避不利影响,进而培养学生对于多任务和多模块增量集成的高阶技能。
4.3.4 例会和分享会
每天的敏捷实践教学开始都要进行例会,小组所有成员都必须汇报任务实施进展,包括“昨天完成了哪些”“今天打算实施哪些”和“遇到的困难和障碍”,教师以导师身份进行指导和帮助。实践任务完成后进行的经验分享会,鼓励小组成员说出实施过程中的故事、方案、经验和启示,以培养学生创新思维和团队协作分享意识,有助于构建实践过程的信任机制和沟通机制。
4.4 加强产校合作,建立敏捷实践教学联盟
教学联盟是以教学为出发点的教育教学联合体,教学联盟成员可以进行资源共享、教学交流、产教对接等常规活动,通过资源整合共享和优势互补,使联盟内各成员协同高效发展。加强产校合作,将敏捷实践教学联盟作为连接产业和院校的桥梁和纽带,建立实践教学联盟创新平台,整合企业工作过程和实施方案,引入创新平台重构实践教学过程和培养模式;教学联盟成员单位将自身优势学科的敏捷教学经验和总结推广到其他成员单位以形成学科优势互补协调发展的实践教学推广机制。敏捷实践教学联盟可以实施多途径、多层次、跨学科的合作与交流,譬如,教学联盟定期召开工程类人才培养方案的制订和修改、专业建设与创新、课程标准和教学改革、实践教学质量评估与评价等教学研讨会;或者对政府、行业、企业等各类纵向和横向课题研究进行立项咨询、同行专家评审、结项答辩等会议,通过分享、研讨和评审达到经验传播与交流、课题评估等目的。
5 结语
针对工程类实践教学模式普遍存在的问题,结合产业发展对人才技能的实际要求,将敏捷过程引入实践教学活动,用于重构实践教学模式,从价值理念、教学方法、教学实施和教学管理等方面阐述敏捷实践教学模式内涵;通过分析高职院校学情特点和敏捷实践角色转换探究敏捷实践教学模式可行性;从优化人才培养方案、建设敏捷教练型师资队伍、构建创新实践教学模式和建立敏捷教学联盟等层面详细阐述敏捷实践教学实施路径。研究的创新之处在于,将敏捷过程嵌入实践教学,提出“敏捷实践教学”顶层设计模式,将敏捷过程各环节与实践教学节点彻底打通,有机融合,目标是通过基于工作过程的模拟以培养与产业技能需求深度融合的复合型人才,为实践教学改革与创新提供新的思路和借鉴。
毋庸讳言,本研究也存在一定的局限性,如对师资队伍的教学把控、实践经验和项目资源要求较高;要求产教融合的地方产业体系基本形成并初具规模,对接产业和行业需求基本明确;要求当地政府对高职院校“为产业办教育”理念在政策、资金和人才等方面有所倾斜。