11 Peer reviews

Peer evaluations provide an excellent opportunity to learn from team members. Participating in peer evaluations not only improves the quality of software, but also helps each of us to become better Software Engineers by observing both mistakes and best practices. You may find that your skillset often becomes similar to your team members because you spend time working and reflecting together. Student projects are an excellent opportunity to gain new exposure and sharpen your abilities.

Each deliverable for your project may be peer reviewed. Let’s start with some guidelines:

  • Thoroughly review artifacts before meeting as a team to discuss the findings.
  • You are reviewing the artifact, not the person who created it. Never phrase feedback as, “Person X did this wrong.” Instead, focus on the artifact and specific observations. Here is an example, “The tax variable in the sales.c file was initialized to -1 on line 12 instead of 0.”
  • Identify problems, but not solutions. Your main goal is to identify problems. Hold meetings later to focus on solutions so that your team is able to focus exclusively on identifying problems.
  • Make sure that everyone has the opportunity to share feedback.

The general flow of a peer evaluation meeting may be as follows:

  • Distribute materials to review in advance of the review meeting. In this class, provide at least 2 to 3 days for team members to review the work.
  • Schedule a meeting for at least one hour, possibly longer depending on the complexity and size of artifacts.
  • Select a review leader and a recorder to document the findings.
  • The review leader will begin the process and clearly communicate the page number, file, or other source for which feedback is needed. For instance, they may start on the first page of requirements to solicit feedback and then confirm that there are no other comments before moving to the second page.
  • The recorder will document each comment during the meeting.
  • At the end of the meeting, the team should review the comments and agree that everything was documented. The report should then be distributed to team members for action plans to be developed, including possible follow up meetings to discuss issues.

Peer Review Checklists

For each deliverable, create a general checklist to help team members. For instance, consider the requirements phase:

  • Do requirements meet these criteria?
  • The requirements accurately cover the customer’s needs.
  • The requirements are testable.
  • The requirements are traceable.
  • The requirements are consistent.
  • The requirements are feasible in a semester project.
  • The requirements are concise.
  • The requirements are not vague or possible to interpret in different ways.
  • The requirements are complete.
  • Both function and non-functional requirements are included.
  • Discuss other factors to consider:
  • Create a checklist for design criteria that are tailored to your project requirements and the languages and technologies that you are using. Include at least ten criteria.

Code Review Exercise *

Each team member should provide code of their choice from a previous class. assignment or that they have written in their free time. If possible, have team members provide code that is in different languages such as C++,  Java, Python, or others. This will provide a broader experience for team members.

 

Team member 1:

 

Code description:

 

Where to download the code:

 

Part 1

1. Individually review the code and document a list of any potential problems.

2. Hold a peer review of the code. Allocate at least one hour for this review.

1.) Identify a team leader and a recorder

2.) Review the code page-by-page and allow each team member to bring up problems that they have found with the code

3.) Record a record of the problems found

4.) Type a formal report of your peer view

3. Provide a summary of the review.

1.) List your team members and their roles

2.) Provide individual reviews of the code that each member completed

before the meeting

3.) Provide a list of the total number of defects found and a description of each

4.) Summarize the effectiveness of each reviewer

i. How long did each reviewer spend reviewing the code?

ii. How many defects did each reviewer find?

iii. What is the ratio of defects found per reviewer hour?

5.) Summarize the team recommendations to improve this code

 

Team member 2:

 

Code description:

 

Where to download the code:

 

Part 1

1. Individually review the code and document a list of any potential problems.

2. Hold a peer review of the code. Allocate at least one hour for this review.

1.) Identify a team leader and a recorder

2.) Review the code page-by-page and allow each team member to bring up problems that they have found with the code

3.) Record a record of the problems found

4.) Type a formal report of your peer view

3. Provide a summary of the review.

1.) List your team members and their roles

2.) Provide individual reviews of the code that each member completed

before the meeting

3.) Provide a list of the total number of defects found and a description of each

4.) Summarize the effectiveness of each reviewer

i. How long did each reviewer spend reviewing the code?

ii. How many defects did each reviewer find?

iii. What is the ratio of defects found per reviewer hour?

5.) Summarize the team recommendations to improve this code

 

Team member 3:

 

Code description:

 

Where to download the code:

 

Part 1

1. Individually review the code and document a list of any potential problems.

2. Hold a peer review of the code. Allocate at least one hour for this review.

1.) Identify a team leader and a recorder

2.) Review the code page-by-page and allow each team member to bring up problems that they have found with the code

3.) Record a record of the problems found

4.) Type a formal report of your peer view

3. Provide a summary of the review.

1.) List your team members and their roles

2.) Provide individual reviews of the code that each member completed

before the meeting

3.) Provide a list of the total number of defects found and a description of each

4.) Summarize the effectiveness of each reviewer

i. How long did each reviewer spend reviewing the code?

ii. How many defects did each reviewer find?

iii. What is the ratio of defects found per reviewer hour?

5.) Summarize the team recommendations to improve this code

 

Team member 4:

 

Code description:

 

Where to download the code:

 

Part 1

1. Individually review the code and document a list of any potential problems.

2. Hold a peer review of the code. Allocate at least one hour for this review.

1.) Identify a team leader and a recorder

2.) Review the code page-by-page and allow each team member to bring up problems that they have found with the code

3.) Record a record of the problems found

4.) Type a formal report of your peer view

3. Provide a summary of the review.

1.) List your team members and their roles

2.) Provide individual reviews of the code that each member completed

before the meeting

3.) Provide a list of the total number of defects found and a description of each

4.) Summarize the effectiveness of each reviewer

i. How long did each reviewer spend reviewing the code?

ii. How many defects did each reviewer find?

iii. What is the ratio of defects found per reviewer hour?

5.) Summarize the team recommendations to improve this code

 

Team member 5:

 

Code description:

 

Where to download the code:

 

Part 1

1. Individually review the code and document a list of any potential problems.

2. Hold a peer review of the code. Allocate at least one hour for this review.

1.) Identify a team leader and a recorder

2.) Review the code page-by-page and allow each team member to bring up problems that they have found with the code

3.) Record a record of the problems found

4.) Type a formal report of your peer view

3. Provide a summary of the review.

1.) List your team members and their roles

2.) Provide individual reviews of the code that each member completed

before the meeting

3.) Provide a list of the total number of defects found and a description of each

4.) Summarize the effectiveness of each reviewer

i. How long did each reviewer spend reviewing the code?

ii. How many defects did each reviewer find?

iii. What is the ratio of defects found per reviewer hour?

5.) Summarize the team recommendations to improve this code

 

Team member 6:

 

Code description:

 

Where to download the code:

 

Part 1

1. Individually review the code and document a list of any potential problems.

2. Hold a peer review of the code. Allocate at least one hour for this review.

1.) Identify a team leader and a recorder

2.) Review the code page-by-page and allow each team member to bring up problems that they have found with the code

3.) Record a record of the problems found

4.) Type a formal report of your peer view

3. Provide a summary of the review.

1.) List your team members and their roles

2.) Provide individual reviews of the code that each member completed

before the meeting

3.) Provide a list of the total number of defects found and a description of each

4.) Summarize the effectiveness of each reviewer

i. How long did each reviewer spend reviewing the code?

ii. How many defects did each reviewer find?

iii. What is the ratio of defects found per reviewer hour?

5.) Summarize the team recommendations to improve this code

 

Team Coding and Peer Review exercise

You will conduct peer reviews of your group project throughout the semester. In this exercise, you will each complete mini code exercises and review each other’s solutions. There are five problems. Each team member should choose a problem from the list below. It is fine if more than one team member chooses the same problem. This will give you the opportunity to review different solutions for the same problem.

  • Write code that takes an array of integers and prints the number of times that the number 3 occurs. For instance, the number 1,303 has two occurrences of the number three.
  • Write code that reads a file and prints the number of words in the file.
  • Write code that prompts the user for a number and outputs whether the number is evenly divisible by 3.
  • Write code that takes a string and reverses the order of the letters. For instance, “renee” would be converted to “eener”.
  • Write code that reads a file and prints the longest word in the file.

After you write the short code snippets, conduct a peer review of each solution.

1. Individually review each team member’s solution and write notes.

2. Hold a peer review of the code. Allocate at least one hour per problem for this review.

1.) Identify a team leader and a recorder

2.) Review the code page-by-page and allow each team member to bring up problems that they have found with the code

3.) Record a record of the problems found

4.) Type a formal report of your peer view

3. Provide a summary of the review.

1.) List your team members and their roles

2.) Provide individual reviews of the code that each member completed

before the meeting

3.) Provide a list of the total number of defects found and a description of each

4.) Summarize the effectiveness of each reviewer

i. How long did each reviewer spend reviewing the code?

ii. How many defects did each reviewer find?

iii. What is the ratio of defects found per reviewer hour?

5.) Summarize the team recommendations to improve this code

License

Icon for the Creative Commons Attribution-NonCommercial 4.0 International License

The Software Engineering Workbook for Team Projects by University of North Texas is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License, except where otherwise noted.

Share This Book