基于项目驱动的软件项目管理课程教学模式
2019-05-24李志明沈秀敏李季辉
李志明,沈秀敏,李季辉
(燕山大学 信息科学与工程学院,河北 秦皇岛 066004)
0 引 言
近年来,随着新一代信息技术的迅速发展,大多数软件系统的规模也急剧增大;依靠个人或两三个人开发一套系统的时代一去不返了。目前,软件系统的开发是一套系统工程,需要团队协作方可高效、保质、按期完成。在软件工程领域,“应用新的软件方法和技术提高软件生产率和质量”一直是一个研究热点,但仍未找到较好的解决办法。
软件开发是知识密集型、劳动密集型的智力活动,因此,软件开发的过程及其管理以及对从业者的要求均与传统行业有很大的不同,这也导致了软件项目管理与其他项目管理相比更加复杂、难以控制。软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(people)、产品(product)、过程(process)和项目(project)进行分析和管理的活动。软件项目管理的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期保质完成并交付用户使用。
企业对于软件工程人才的需求,从项目管理角度可以分为两类:一是软件项目管理人才,二是能够顺应软件项目管理需求的技术人才。为了适应社会企业对软件人才的需求,众多高校对软件工程、计算机专业的学生开设了软件项目管理课程,以期为软件企业输送更加优质、更加适合大规模复杂软件系统开发的管理和技术人才。
1 传统课程教学模式的不足
软件项目管理课程内容涉及项目管理知识体系9个知识领域和5个标准化过程[1],涵盖了软件项目从立项到收尾的方方面面,课程知识点众多,且均为理论性、文字性内容。课程原有的教学组织形式使学生难以身临其境地体会软件项目管理的复杂性及重要性,表达交流能力和团队协作精神也难以得到训练与提高。
(1)教学过程以理论授课为主。软件项目管理课程内容理论性强,涉及面广,且大多无形,更多强调的是软件项目管理的理念和思想;学生在学习过程中感觉到枯燥无味、兴趣缺失,在缺少复杂软件项目开发经历的背景下,难以体会到本课程的重要性[2]。
(2)重理论,轻实践。学生无法做到理论与实践的熟练结合,动手能力较差[3]。
(3)强调对知识的掌握,忽视学生能力的培养。教学过程不仅仅是传授知识的过程,同时也应是通过对理论知识运用来培养学生个人能力的过程。
(4)大规模软件项目管理经验的缺失。高校教师大多缺少工程背景,即使部分教师的项目经验比较丰富,但其开发和管理过程也基本属于“手工作坊式”,难以为学生讲解清楚大规模、复杂系统、团队协作的软件开发管理过程及其需要注意的问题。
(5)考核方式单一。一般仅是采用期末试卷、实验报告的方式考查学生的知识掌握情况,难以全面、深入地检验深层次的学习。
2 项目驱动教学模式设计
2.1 指导思想
基于学习产出的教育模式(outcomes-based education,OBE),其核心理念是需面向行业需求,实时动态设计培养目标,并及时调整毕业能力要求,围绕学生毕业知识、能力、素质需达到的指标全面构建课程体系,进行教学设计以及教学资源的配置。OBE教学理念下的教学质量监控与评价是以学生学习结果为唯一标准,要求课程设置、教学、考核评价都要依据培养目标,并与培养目标具有一致性[4]。
项目式教学是通过工学结合、任务驱动、项目导向的新型教学模式,是一种通过组织学生真实地参加项目设计、实施和管理,在项目实施过程中完成教学任务的过程,成为实践教学的有效手段[5]。
纵观软件项目管理课程的知识体系、教学目标及对毕业指标点的支撑,非常适合采用项目驱动式的教学模式,其根本目的在于将理论授课、实验、企业实际经验、作业批阅等过程中所学知识,综合运用到项目任务之中,从而达到学以致用的目的;在“用”的过程,使学生更深入地去学习、思考、体会,进而达到内化和升华的作用。
2.2 课程教学目标及其指标点支撑关系
为了提升软件项目管理课程的教学效果,以行业需求为导向,制定软件工程专业毕业要求及培养目标,进而确定该课程对上述目标达成的支撑度。课程教学目标见表1,课程教学目标与部分毕业要求指标点之间的支撑关系见表2。
表1 课程教学目标
表2 课程教学目标对应毕业要求指标点支撑关系
2.3 教学体系设计
项目驱动式的课程教学,不仅要重新设计教学环节内容,还要使各个教学环节高度融合统一,能够在规定的学时数内高效、高质地完成教学任务[6]。基于这一思想,针对软件项目管理课程,构建了“六位一体”的教学体系,即“理论授课+实验+项目作业及批阅+企业教师介入+项目验收与点评+多元化考核”,以期达到理论、实践及通识教育相结合的综合能力培养目标,更好地支撑软件工程专业毕业生的培养目标的达成,如图1所示。
图1 “六位一体”教学体系示意
2.4 学时分配
依据图1所示的“六位一体”教学体系所涉及的教学环节及实际学时约束,各环节所分配学时情况详见表3。
3 项目驱动教学模式实施
依据项目驱动式教学模式、“六位一体”的教学体系实施课程改革,各教学环节的详细实施情况如下。
3.1 理论授课
软件项目管理课程体系庞大,涉及面广,若按照传统教学模式,至少需要36学时,因此,需要适度删减与合并。结合多年的教学经验,将学生未来可能涉猎较少的成本控制及效益分析、项目监理等内容进行了适度删减,最终使得理论授课在28学时内完成,并补充了4个学时的经典案例分析内容。
3.2 实 验
由于受学时限制,实验内容选取了应用广泛、易学易用的Project作为项目管理工具软件学习使用,并为之配套了详细的实验指导书和实验报告模板,从而使得学生在8学时内能够达到利用Project软件完成项目WBS分解、成本估算、进度管理、关键路径分析等常规任务的要求。
3.3 项目作业及评阅
项目作业是项目驱动的载体,因此,选择学生感兴趣、符合当前双创潮流、规模及难易适度的题目是关键。
在开课第一周,首先令学生按照5~6人的规模分成若干个团队,确定团队负责人;鼓励各团队按照双创、“互联网+”的思路自由选题并撰写300~500字的项目简介,由任课教师负责审核;任课教师于第二周完成各团队题目的审核。在后续的过程中,学生按照理论授课进度及设置的时间节点,利用课外时间完成项目作业并定期提交;教师批阅后,指出学生在完成项目的过程中存在的问题。通过项目作业及评阅环节,引导、督促学生将理论授课所讲知识运用到项目之中。通过项目作业及项目任务的完成,锻炼、培养学生的团队协作精神及能力。
3.4 企业教师介入
在课程后期,聘请具有丰富项目开发及管理经验的软件项目经理,从企业实际运作的角度,以企业的某个实际项目为主线,对软件项目管理课程体系展开讲解,将企业的经验和认识呈现在学生面前。这样,可以让学生更加真实地感受在企业是如何进行软件项目管理以及软件项目管理的重要性,从而弥补高校教师工程背景不足带来的影响。
表3 学时分配情况
3.5 项目验收与点评
项目验收与点评环节,安排在实验、企业教师授课结束之后,结课考试之前进行。这样安排的目的在于鼓励学生充分利用Project工具,更加贴合实际地去完成项目作业。
项目验收小组由学生自荐或教师指定4名学生,和任课教师组成答辩委员会。各个团队撰写项目报告并制作PPT。项目验收主要包括项目报告评阅、演讲汇报、答辩、教师点评等环节。然后,由答辩委员会给出团队总得分。
通过项目验收与点评,可综合锻炼、考核学生的表达、交流、沟通能力。
3.6 多元化考核
OBE教育模式下的教学主要体现在学生获得的能力上,单凭一张考卷无法完成对学生的全面衡量,本次教学在OBE的理念支持下,将考核方式由单一化变为多元化,从而实现学生对该门课程的掌握及目标达成情况进行多角度综合评定[7]。多种考核方式相结合,可以全程激发学生的学习主动性,也能够更加全面、深入地反映学生的学习情况。
本课程的最终成绩由结课考试、项目作业、项目验收、实验等4部分组成,各部分所占分值详见表4。
由表4可知,项目成绩由项目作业和项目验收两部分组成。其中,项目作业由学生按照时间节点提交,教师评阅后给出相应得分(提交3次,共计10分);项目验收需由学生提交项目报告,并进行演讲答辩(项目报告15分,PPT制作、讲解、答辩等10分,共计25分)。项目的团队得分,按下式计算。
团队得分=(项目作业得分+项目验收得分)×团队人数×0.95
个人得分由团队负责人依据队员贡献大小、平时表现等公平、公正地进行分配。从该角度,给予团队负责人一定的权力,从而在一定程度上培养团队负责人及成员的团队协作、沟通、协调及冲突化解能力。
4 实施效果分析
燕山大学软件工程专业以项目为驱动,以能力培养为导向,实施软件项目管理课程教学模式改革,完善相关教学内容和教学方法,获得了较好的教学效果,为本专业的人才培养目标的达成提供了有力支撑。
(1)以课程项目为载体,使学生能够将所学理论知识综合地运用到实际之中,能够对软件开发过程中的范围、进度、资源、成本、团队建设等问题进行管理,从而使学生在项目开发与管理过程中能够本能地运用软件项目管理课程的相关知识及理论,使其达到专业对学生的工程能力、工程师素养培养的计划要求。
(2)通过以团队形式完成课程项目,使得学生在团队组建、沟通协作、技术交流、书面及口头表达、成员责任、利益分配等方面得到了充分锻炼,着力培养了学生的非专业通识素养,为毕业生在未来职业生涯中走得更“高”奠定了基础。
(3)鼓励学生选择贴近“互联网+”“双创”的题目作为3级项目作业。课上,在合适时机,适度补充部分创业方面的知识,如运营模式、盈利模式等,从而激发学生参加创新创业活动的积极性。软件工程系15级同学,在完成3级项目的同时,有多组同学以此为素材积极申报第三届“互联网+”大赛,学生的创新创业能力及意识得到了显著锻炼与提高。
(4)从问卷反馈中发现,众多学生对软件开发的态度,从最初的仅“重技术”转向“技术管理并重”,对软件项目管理课程知识体系及其重要性有了更高的认识,为学生更好地适应实际岗位要求奠定了良好基础。目前,在往届的毕业生中,已有一部分学生从事软件项目管理的相关工作。
表4 多元化考核分值分配
(5)根据教学目标,通过实验、项目作业、项目验收和结课考试等多种考核方式,对114名学生进行能力达成度分析。针对每个教学目标,分别统计实验、项目作业、项目验收和结课考试等对应该教学目标的总分数,并统计每个学生在每个教学目标下的总分数。计算出每个教学目标下,每个学生的分数所占总分数的百分比,并进行加和取平均值,从而得到教学目标达成度,结果均在85%以上,详见表5;2018年度与2017年度,课程总成绩各分数段人数分布情况如图2所示。
表5 教学目标达成度及改进措施
图2 2018年与2017年软件项目管理课程的考核结果对比
5 结 语
基于项目驱动的软件项目管理课程教学模式,通过“六位一体”教学体系加以实施,以团队完成项目任务的形式为主线,将理论教学、实验、企业实际经验、作业、多元考核环节融于一体,充分调动了学生在全课程生命周期内容学习的主动性及积极性,增强了学生的课程知识综合运用能力。同时,也充分锻炼了学生的表达能力、沟通与协调能力、团队协作能力以及冲突处理能力等,较好地支撑了课程教学目标的实现,取得了良好的教学效果。