Peer Feedback in Software Engineering Courses

Peer Feedback in Software Engineering Courses

Damith C. Rajapakse (National University of Singapore, Singapore)
DOI: 10.4018/978-1-4666-5800-4.ch007

Abstract

Teaching non-technical skills such as communication skills to Software Engineering (SE) students is relatively more difficult than teaching technical skills. This chapter explores teaching the peer feedback aspect of communication skills to SE students. It discusses several peer feedback mechanisms that can be used in an SE course, and for each mechanism, it discusses the potential challenges and the various approaches that can be used to overcome those challenges.
Chapter Preview
Top

Introduction

While programming in the small is often considered a solo activity, Software Engineering (SE) in the large is a team activity. When training SE students, we should also equip them with tools to communicate with team members in an effective way. Peer feedback is one such tool that is indispensable to a Software Engineer.

Teaching SE students how to use peer feedback effectively is not easy to do in the school environment. Here are some of the reasons why students lack the intuition or the motivation to give good peer feedback in school projects.

  • The school environment is more flexible than the industry environment. In school, students are often allowed to pick their team members. If a picked member did not turn out to be a good fit, the other team members simply can bear with it for the semester and not team up with same person in the future. However, in the industry, one rarely has the option to choose team members.

  • There is less at stake in the school environment. In school, only the course grade is at stake. If the teamwork is not going well, the student has many avenues to compensate for the grade, such as scoring more in individual components, complaining to the instructor in the hope of obtaining sympathy marks, or doing extra work to make up for the shortcomings of a team member. Therefore, students might consider the cost of frank peer feedback (e.g. unpleasantness created by giving negative feedback to team members) as not worthwhile compared to the potential benefits. In contrast, in the industry, the success of a project can usually be linked to tangible benefits, such as the career advancement opportunities, team members’ job security, bonuses, and even the very viability of the company’s future.

  • Students are used to relying on academic staff to give feedback to others but not used to taking constructive actions to rectify the behavior of a team member.

In this chapter, we explore four mechanisms of peer feedback that we can use in an SE course.

  • 1.

    Peer feedback during team meetings.

  • 2.

    Code reviews as peer feedback.

  • 3.

    Peer mentoring as peer feedback.

  • 4.

    Peer feedback using online tools.

While this is not an exhaustive list, we believe these four can be good starting points to facilitate and guide effective peer feedback practices in an SE course. For each of the four, we discuss the potential challenges it poses, some of the practical tactics that can be used to overcome those challenges, and our experience in applying those techniques. The chapter content is based on the author’s experiences in teaching SE for over a decade (since 2002) in various capacities, and in particular, building peer feedback tools in the recent years (since 2009).

Top

Background

While there is not much published work on using peer feedback in SE courses specifically, there are many prior publications about various aspects of student peer input (i.e. feedback, peer reviews, and peer assessments) in various other subject area courses. In this section, we describe a representative sample of such work.

Complete Chapter List

Search this Book:
Reset