雷宇飞 林增坦
敏捷式的软件工程人才培养新模式的研究
雷宇飞林增坦
(泉州信息信息工程学院,福建 泉州362000)
构建适用的人才培养模式是应用型本科内涵建设的核心问题。它以学院的软件工程本科专业为背景,研究敏捷式开发软件的过程,分析行业对学生培养的需求,结合敏捷开发的特点,提出一种敏捷式的,应用迭代教学管理的,新型人才培养方案。并给出该模式方案,构建详细的体系结构。编写其案例,及多角度对比阐述,论证其科学性。这将对学院应用型本科建设产生参考性的价值。
敏捷开发;应用型本科;人才培养模式;软件工程
在国际上,敏捷对软件项目的开发管理思想已经被很多开发和管理企业普遍接受并采用;然而,其在中国的发展步伐却是缓慢而低效的,中国也不乏有华为、腾讯、百度等这样的大型企业率先接受敏捷模式,其应用推广效果也不错,但这并不代表中国很多软件的项目开发管理都在敏捷的改革道路上走得很成功。当然,这其中有其实际落地所产生的很多原因,敏捷概念认识不清、误解等,甚至还和中国一线的程序员的项目经验及整体实力也有一定的关系。
高校对软件行业的人才培养跟不上技术的革新的速度。主要体现在软件人才培养模式的老化,单一,没有适应企业对软件人才的要求,缺乏一套具有适应性强、实践性好的人才培养模式;教授本专业的教师本身项目经验不足,甚至没有。而在高校软件教育教学管理上,能把敏捷管理思想与实际的教学管理相结合,取其所长,去其所短的,更是为数不多,有的停留在开发思想的接收与传递的层面上,有的只是停留在理论的研究层面上。在应用型本科建设的大背景下,应用型人才培养模式的构建是推动高校转型的核心课题;因此,如果要在高校软件工程教育教学这块土壤上种出“敏捷式人才培养新模式”之花,那将一定程度上推动高校对人才培养的改革工作。
第一,善于沟通。既讲究对内的,与协作者的沟通;又强调对外的,与软件产品需求者的沟通。
第二,善于表达。有能力用简单的图表来表示抽象难懂的代码,易于让客户对你开发的理解,这样也能够更容易地从合作者那里得到改进的意见。
第三,易于接受反馈,要求开发者谦虚不过度自信和固执,接受反馈后,可以快速执行反馈的建议。优秀的工程师都应该拥有谦虚的品质。
第四,拥有专业上的自信,有能力在需要时做出重大的决策,放弃或重构或修正你的工作。
第五,快速的适应能力,敏捷开发中,客户对软件需求的理解是动态变化的,因此,软件的需求是不断的变更的。或有新成员加入,或有成员离开,或短期目标或标准产生了变化。这意味着项目环境也在不停的变化,因此开发人员要有快速的适应能力,以顺应诸多变化的发生。
在大众教育的背景下,软件开发人才要适应社会,必然大部分成为应用型的人才。作为敏捷式的人才培养新模式,其总体目标可归结如下7条:
第一,够硬的专业理论体系。理论体系是技术的前提,是技术的承载;而且,完整的理论体系成为后续学习和个人发展的重要基础。
第二,熟练的岗位技能。工程实践能力和岗位技能,是应用型人才区别于其他人才的一个重要特征[1]。因此,也是新型人才培养的关键性特征。具体体现在对工程问题的发现和解决的能力上。
第三,优秀的协作和沟通能力。工程不仅要求个人技术的优秀表现,更重要的是团队的协作能力。敏捷开发中更强调这点。因此这是新型人才不可缺少的品质。
第四,出色的表达能力,要求善于将抽象难懂的程序代码借助图表形象地在客户或合作者之间清晰明了地表达。以便更容易获得反馈建议。
第五,出色的技术环境的适应能力,技术的快速革新,促使个人必须具有新技术的快速学习及适应的能力。
第六,强烈的创新意识。软件工程需要创造性地解决工程中的问题,互联网+的时代更需要创意的软件产品。
第七,良好的职业道德,让个体在追求职业回报的过程中,把握道德和法律的准绳,让软件行业有序健康的发展。
4.1构建三维课程体系,以技术岗位为核心,培养岗位技能
课程体系在整个教学中处于核心地位,它不仅决定了课程教学的有效性,而且也规定着大学生的合理知识结构[2]。到目前,我国在传统的本科教育上已经形成了完善的课程体系,观其内容,主要针对工程型及研究型人才而设置的。其特点是继承了早期的精英教育的优点。然而,其理论研究比重远大于操作应用的结果,必然不能适应新形势下的人才的培养。应用型本科人才培养是社会发展的需要,是“精英教育”发展到“大众教育”的必然要求[3]。传统的课程体系结构已经不适用于新型的人才培养。
新型人才培养模式,理论与实践是探讨的核心,分清两者的科学辨证关系,应该是理论学习指导工程实践,它是手段,而不是目的,因此,相比较于传统的教学过程,在新型教学与管理中,工程实践将被提升到新的重要的高度,根据工程实践的需求来制定理论学习的计划和课时。
4.2迭代式技能增量教学管理,动态的课程体系,灵活地适应人才需求的变更
“岗位技能教学”根据工程开发中所需的实际岗位对实践技能的需求来选择的技能课程和技能操作示范教学的构成,每门技能课程或技能操作示范都是跨理论课程的,是通过分析并综合岗位技能需求和不同年级学生的实际水平而设定的,技能课程设置的顺序是根据不同年纪的学生层次采用递进式的迭代的方式来开设。可根据社会对人才的需求变化,在下一个迭代周期来临之前,动态地变更课程设置,形成合理动态的“岗位技能课程体系”如图1所示:
图1.迭代式教学管理过程图示
如上图所示,在“岗位技能教学”的管理中,将学生的技能的培养看成是软件产品开发,将教学团队看成是软件开发团队,将行业及公司对人才的需求类比成软件产品的需求,设置1至4个学期的迭代周期,在每个迭代周期内根据人才需求的变更动态地制定培养目标和设置岗位技能课程,最终经过一定周期的跌代,培养符合软件行业的需求和发展的人才“产品”。动态的课程体系可以根据人才需求的变更准确地培养技能型人才。这符合了应用型本科的实践性要求。
4.3迭代式技能教学管理含义
之所以采用迭代式教学管理模式,是因为在教学中我们碰到了这样情况:
(1)教学过程中我们知道想要什么样人才。但无法估算出培养人才所需要的时间。
(2)人才培养之前,教学必须将人才需求明确下来。但是,随时间及行情的变化,人才需求是时常改变。
(3)虽然我们不明确社会、企业对专业人才要求最终的目标,但我们却知道怎么得到人才。那就是通过迭代教学管理,我们一次性培养出的专业人才无法匹配社会、企业的需求,但可以先培养后迭代完善,通过多次迭代教学培养出真正匹配社会、企业的人才。当然,教学必须保证初次确定的方案是正确的、可的,那么后继的迭代教学就是反复求精的过程,是不断地对备选教学方案改进并选择更优教学方案的过程,是以更优的教学方案取代之前勉强行得通的教学方案的过程。
迭代教学管理的依据是什么呢?
迭代教学管理的过程就是对人才所需技能结构不断细化完善的过程,所以,迭代教学管理的依据就是“岗位技能细化原则”,原则遵循的优先关系首先考虑教学内容必要性,其次再考虑教学过程的灵活性,再次考虑人才培养的保障性要求,最后考虑学生如何更轻松愉快地进行知识与技能获取的需求。
必要性:能匹配社会、企业人才需求的最少技能特性;
灵活性:教学方式满足教学人员使用多种方式完成培养或者人才匹配社会、企业做出额外选择的技能特性;
保障性:保障学生在获取技能的同时,个体的综合素质、思想品德、职业道德、价值观等个体影响个体发展的因素要得道应有的提升;
简单有趣:可以让学生更简单快捷、更有趣地获取技能。
每次迭代教学可能包含多个人才需求描述,但是在同一周期内的迭代教学中,教学人员对每项人才需求教授的完善程度是不一样的。如下图2所示:
图2.迭代周期的任务及工作
4.4迭代式技能增量教学管理与传统的教学管理的区别
在迭代教学过程中,专业人才对技能的需求的不确定范围逐渐缩减,教学团队对专业人才的技能需求描述越来越清晰。迭代教学管理是为了解决专业人才对技能需求的动态变更。而传统的教学管理,是一次性明确了专业人才对技能的需求后,采用分时分量地教授技能的办法,它没有考虑社会、企业对人才的需求是动态变更。
总之,迭代教学管理过程就是在传授培养专业人才所需的每项技能时反复求精的过程,是提升人才质量的过程,是从不完善到完善的过程;而传统的教学管理过程,强调不同时期在教学过程中机械式增量传授知识和技能,不考虑人才需求的变更的。二者的区别理解如下图3所示:
图3.迭代周期的任务及工作
4.5周期性动态培养目标和周期性动态质量监控机制,完善的人才质量验收体系,保障人才质量
传统的人才质量监控体系,对质量的监控依附离散的独立的课程进行期中及期末的测试,并对测试的类型简单的分成理论测试与实践测试,按一定比例计算人才培养质量分值。这往往与岗位技能的整体性和跨学科性不相匹配。培养人才的优劣取决于教学的过程,监管要依据培养目标结合教学过程的内容制定考核办法。
新型人才培养模式,考虑到软件开发人才的培养是以岗位技能培养为目标,而技能需求是动态变更的。所以制定出周期性的动态的培养目标。并结合动态的培养目标制定周期性动态的质量监控机制,按照迭代的周期性特点,将本科教育4年,划分成n个教学迭代周期,每个周期相关层次的岗位技能课程和实践操作示范,建立周期性动态培养目标与周期性动态监控体系。将这些设想结合教育部软件专业教学指导意见,制定出特色鲜明的质量监控体系。
4.6 灵活多样化的教学评价体系
教学评价依附前期所制定人才培养的目标,按标准化程序对培养成果做出评价和验收。是人才质量的保障体系,惯穿于迭代教学每个过程,不可或缺。高校教育教学的评价体系中,形成了种类较多的评价类型,如相对与绝对评价等。科学地制定教学评价体系能把握人才培养方向和质量。以工程专业人才培养为任务的教学活动,注定其最终是对学生对象的工程技能掌握情况进行评价,特别是软件工程专业,更是如此。所以,教学质量监控的核心内容应该是工程的实践,把毕业生是否符合软件行业工程岗位对实践能力的需求作为核心标准。因此改革常规学期考核为迭代周期考核;每个周期考核将考核对象放在一个设计好的工程情境中,由多个专业教师及企业工程师组成的考核团,对学生在各自的团队岗位上完成工作的情况进行考核,软件项目的考核要求按照企业对软件验收的标准进行学生成绩的评定。
总之,敏捷式人才培养,既强调学生不仅具备项目开发和实践的能力,又强调学生掌握行业岗位背景下的系统化方法,遵循综合的项目实践能力要求的指标进行定性评价;并按企业岗位中的现实要求进行培养和考核,遵循软件项目验收的各项指标进行定量评价。
简而言之,敏捷式的人才培养新模式是一种以人为本,以岗位技能为培养核心,采用迭代式的课程体系,循序渐进的人才培养新方法。这种模式中,专业人才的培养被划分成多个子方案,各个子方案的培养效果都经过评价验收,各子方案培养的人才具备整体性和可使用性的特征。换言之,就是把人才培养过程看成是软件开发的过程,在人才培养中引入敏捷开发模式的管理思想,并加以改进和整合。
[1]刘国买.应用型人才综合素质和创新能力培养的探讨[J].中国大学教育,2009,(7):73-76.
[2]刘道玉.论大学本科课程体系的改革.高教探索,2009,(1):5-9.
[3]周泽民.论应用型本科人才及其培养[J].常州工学院学报(社会科学版),2005,(4).
[4]教育部计算机科学与技术专业教学指导分委员会.中国计算机本科专业发展战略研究报告[J].中国大学教育,2005, (5):7-10.
[5]Software Engineering 2004. Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering [EB/OL].http://sites.computer.org,2010-09-25.
[6]教育部软件工程专业规范课题组.高等学校计算机科学与技术专业发展战略研究报告暨专业规范:软件工程方向专业规范[M].北京:高等教育出版社,2006.
[7]中国软件工程学科教程课题组.中国软件工程学科教程[M].北京:清华大学出版社,2005.
[8]张大良,骆斌. 软件专业应用型人才培养的研究与实践[J].南京大学学报:自然科学版(增刊),2009:1-5.
[9]骆斌,丁二玉.南京大学软件工程专业本科教程[M].北京:高等教育出版社,2009.
[10]骆斌,张大良,邵栋.软件工程专业的课程体系设计[J].中国大学教学,2005,(1):32-33.
(责任编校:何俊华)
2017-03-22
福建省2016教改项目“基于Scrum方法的软件工程专业人才培养模式的研究”(项目编号JZ160235)。
雷宇飞(1981-),男,福建泉州人,讲师,硕士,研究方向为计算机网络与数据库技术。林增坦(1983-),男,福建泉州人,讲师,硕士,研究方向为计算机网络。
G64
A
1673-2219(2017)06-0097-03