王芳 秦映波
摘 要: 本文从软件项目管理课程的教学实践出发,对笔者之前提出的敏捷软件项目管理教学方案进行了改进,文中描述了改进过程和改进效果,体现了自我改进、不断创新的教学改革精神。
关键词: 软件项目管理;敏捷;教学方案;教学改革
中图分类号: TP311 文献标识码: A DOI:10.3969/j.issn.1003-6970.2020.10.047
本文著录格式:王芳,秦映波. 敏捷软件项目管理课程教学方案实践过程改进[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 引言
軟件项目管理课程是软件工程专业本科阶段的必修课,对培养具有实践和管理能力的软件开发人才具有重要的意义[1]。然而很多人觉得大学时候学的软件项目管理相关内容很“虚”,那是因为大学期间的软件项目管理更侧重理论,理解起来枯燥乏味,很难学以致用;学生没有实际项目演练机会,学的东西没有办法马上进行实践;所有的概念都只是文字而已,根本谈不上理解为何需要这样的管理流程、管理方法和工具、技术标准等。
而对于有6年互联网公司研发经验、2年项目管理经验、2年教学经验的笔者而言,大学时期学软件项目管理当然是非常有用的。在真正的软件开发工作中,不管用什么开发语言,不管是前端和后端,可以确定的说,现代软件项目开发都离不开软件项目管理知识的应用。学好了软件项目管理,工作可以按时完成,软件质量有保证,开发的时间和成本都可控。实践中遇到的问题,要从理论和实践两个方面去寻找答案,如果没有上过这些课程,就需要重新学习。可是在日常工作中,遇到了实际问题,留给我们解决问题的时间是不多的,所以未必来得及重新学习。目前处于本科阶段的学生们当然无法知晓这一因果联系。
作为软件项目管理课程的教师,最重要的工作就是打破学生对该课程的不良印象,把理论知识和鲜活的案例结合起来,和学生一起探讨这些知识点背后的历史和现实意义,让学生认识到此课程的价值,调动学生的学习兴趣、提高学生的实践能力。
1 软件项目管理课程教学方案研究与实践
国内重点大学的教学团队走在软件工程系列课程改革的前列。以韩万江副教授为代表的教学团队结合互联网时代的软件工程发展,重新构建课程体系和教学内容。笔者通过北京邮电大学《软件项目管理》精品课程在中国大学MOOC的在线课程,深入学习了重点大学相关课程的课程内容和教学模式。
这些课程的教师们在教授软件工程系列课程的基本概念、基本原理和基本方法的同时,更重视软件工程实践训练。这些课程突破以开发生命周期安排教学单元的形式,从可实践的角度进行案例教学和项目实战;以Web应用开发项目为主线,完成基于敏捷模型的项目开发和管理过程,并构建基于云服务的课程项目实验环境,将过程和工具结合在一起,以实现“做中学”和“基于项目的学习”;通过贯穿始终的项目案例和情景项目展示,让学生切身体会软件项目管理过程从而更好地将软件工程思想和软件项目管理理论与实践相结合[2-5]。
笔者通过对软件项目管理课程相关教学方案的学习[6-8],结合自身企业软件开发和项目管理经验,针对本学院软件工程专业软件项目管理课程进行了教学改革,对软件项目管理课程的教学内容、教学方式、考核制度等方面进行了详细规划和设计,形成了一套符合当前互联网行业软件产品开发规律的、让学生真实体会软件产品迭代过程的敏捷软件项目管理教学方案[9]。
经过对本学院2016级和2017级软件工程专业学生大三上学期《软件项目管理》课程的教学改革,教学效果得到了各位同学的肯定。同学们经过一个学期的团队项目实践,在做的过程中不断学习,从产品规划到项目部署,逐渐找到适合自己的角色,补充该角色应该具备的知识和技能,为毕业后选择合适的职位积累了宝贵经验。很多学生把这次实践经验写在实习简历中;还有些团队的项目成了社团的工作平台、为师生工作和学习提供便利的小程序、大学生创新创业项目等。
2 软件项目管理课程教学方案改进
在过去的两年中,笔者所在学院的软件项目管理教师团队不断总结经验教训,通过对教学方案实施过程中遇到的问题进行整理和思考,在原有方案的基础上完成了4项改进。
2.1 整合教学资源
我校软件工程专业在软件项目管理课程中使用北京邮电大学的韩万江副教授的《软件项目管理案例教程(第4版)》,该教材在中国大学MOOC上有精品课程《软件项目管理》[2]。受该精品课程的启发,我校也在超星学习通建立了该课程的线上学习资源,方便学生在线学习和交流。学生按照教学计划、结合自身情况随时随地地在线上学习课程理论基础知识,通过题库练习巩固理论基础。在线学习平台还有利于教师和学生以及学生和学生之间的互动交流。图1为我校软件项目管理课程资源和题库。
2.2 优化项目选题
学生在自主选择项目时,往往面临缺乏用户场景的难题。如果学生无法设身处地理解用户需求,就无法保持产品持续迭代的热情。课程提供的可选题目均来自2018年度和2019年度微信小程序开发大赛各赛区决赛入围名单(微信小程序开发大赛为每年上半年,而软件项目管理课程为每年的下半年),绝大部分项目需求来源于校园生活和学习。可选题目仅供参考,大家可根据自身意愿和生活学习过程中的实际需求进行思考或扩展,最终产品名称可自行决定。但选题必须从解决实际问题出发,来源于生活和学习,服务于生活和学习。
2.3 优化团队组建规则
在学生自愿组队的基础上增加教师干预:一是根据个人意愿将女生分散到不同团队,女生往往对产品设计、团队管理更擅长,避免女生扎堆的团队出现。二是将个别不能成团的学生安排入整体能力较高的团队,以便观摩学习,在良好的氛围中进行自我改进。团队内部要明确各项工作的负责人,确保项目过程的产出有责任人,避免抱大腿、打酱油等不公平现象的出现。
2.4 鼓励过程分享
要鼓励学生分享和互动,鼓励做得好的团队分享自己的创意和成果,不但为其他团队树立了学习的榜样,而且使自己的工作更有价值,能起到相互激励的作用。以17级软件工程专业的4个班级为例,有较多的团队愿意站上讲台来分享团队成果,图2为分享团队及项目列表。教师要鼓励学生将遇到问题的抛出来,分享后马上收集学生的问题,图3为学生对某项目的提问列表(筛选了学生对某项目的提问)。教师将问题整理后反馈给分享的团队,他们在准备后再次进行分享,精准地回答学生提出的问题。这一过程充分體现了“以教师为主导,以学生为主体”的教学理念。在最后阶段的课程总结问卷调查中,有超过半数的同学表示自己受益于分享,或从中学到知识,或由此受到鼓舞,图4为某同学通过问卷调查表单提交的课程总结内容。
3 结语
软件行业日新月异,新的技术和工具层出不穷,软件工程专业相关的课程内容和教学手段也必须要“与时俱进”,符合市场需求。软件项目管理需要与实践结合紧密的特点,对师资提出了更高要求。为了让学生了解到人们广泛使用的软件是如何开发出来的,课程教师需要有丰富的项目经验,有第一手的流程、文档、数据,能让学生真切感受到了开发流程、需求管理、质量控制的作用,体会到概念和理论并不是很有道理的废话,而是对工业界经验的总结。由此引发学生对互联网行业的关注,激起学习兴趣,使学生掌握规范化的软件开发和质量控制过程,培养良好的团队合作能力和实践能力,为日后从事软件开发相关工作打下坚实的基础[10-11]。
参考文献
[1]张永平, 刘燕, 邵星. “案例驱动+项目实践”的软件项目管理课程教学实践[J]. 计算机教育, 2015, 23: 115-119.
[2]韩万江, 姜立新. 软件项目管理案例教程(第4版)[M]. 北京: 机械工业出版社, 2019.
[3]韩万江, 姜立新, 张笑燕, 等. 基于工程化的软件工程教学案例研究[J]. 软件, 2019, 40(3): 78-87.
[4]韩万江, 张笑燕, 陆天波, 等. 软件工程专业认证的新思路研究[J]. 软件, 2015, 36(3): 37-40.
[5]韩万江, 张笑燕, 陆天波. 《软件项目管理》课程中理论与实践的交融关系[J]. 软件, 2014, 35(2): 165-168.
[6]Bob Hughes, Mike Cotterell 著. 廖彬山, 周卫华 译. 软件项目管理(原书第5版)[M]. 北京: 机械工业出版社, 2010.
[7]Andrew Pham, Phuong-Van Pham著. 崔康 译. Scrum实战—敏捷软件项目管理与开发[M]. 北京: 清华大学出版社, 2013.
[8]邹欣. 构建之法—现代软件工程[M]. 北京: 人民邮电出版社, 2015.
[9]王芳, 邓一星, 秦映波. 敏捷软件项目管理课程教学方案研究与实践[J]. 软件, 2018, 39(4): 77-81.
[10]韩万江, 张笑燕, 陆天波. 基于混合式教学的软件项目管理课程建设[J]. 大学教育, 2015, 10: 161-162.
[11]邓一星. 软件工程专业校企合作形式的探索与实现, 2016, 37(8): 54-56.