Student Peer Review Checklist: Safe, Portable, Reproducible, Robust, and Literate (SPRRL)

Purpose

This document provides a structured peer review process for research software projects. It is designed for course use, but it is also intended to support real handoff quality in research groups.

For live class sessions, use the companion one-page form in Quick Peer Review Form and then expand notes in this full version if needed.

The core question is straightforward: can a future teammate get this project running, trust the workflow, understand the analysis, and continue the work without the original author in the room?

The review is organized around five quality dimensions: Safe, Portable, Reproducible, Robust, and Literate.

Reviewer Mindset

Use this review as a professional collaboration exercise. Your role is to produce feedback that is concrete, testable, and useful to the project team. Report what you observed directly, separate facts from assumptions, and prioritize suggestions that improve runability and reproducibility. Strong reviews always include both strengths and improvements.

Pre-Review Inputs

Before beginning, request the following from the project team: repository URL, target commit or tag, expected runtime for setup and demo, one key output to reproduce, and any data-access constraints. Always review a fixed commit or tag rather than a moving branch tip.

Required Review Deliverables

Submit a completed checklist, a short review memo (one page maximum), and an evidence bundle containing terminal output and/or screenshots, notes on errors and recovery, and a final reproducibility status. Screen recordings are optional but strongly encouraged because they capture details that are difficult to communicate in writing.

Step-by-Step Review Protocol

Step 1: Pre-flight (about 5 to 10 minutes)

Start by confirming repository access and checking out the target commit/tag. Read the README fully before running commands, and identify the intended quickstart path.

Checkpoint: you can explain the intended setup path from documentation alone.

Step 2: Setup and installation (about 10 to 20 minutes)

Begin with the project instructions, but use a clean and organized workflow. For example, it is acceptable to create a local conda environment inside the repository folder to avoid system clutter, even if the project describes an alternative setup path.

If your preferred workflow succeeds, note that as a portability/robustness strength. If it fails, revert to the project’s documented setup path and record exactly where the difference mattered.

Capture what worked, what failed, what was unclear, and what required inference.

Checkpoint: install can be completed with no or only minor inference.

Step 3: Smoke test (about 5 to 10 minutes)

Run the first validation path, such as tests, a demo script, or a notebook quick check.

Checkpoint: a basic workflow executes without editing project source code.

Step 4: Reproduce one core result (about 15 to 30 minutes)

Follow the documented steps to reproduce one key result (figure, table, metric, or artifact). Record exact commands, runtime observations, and how closely the output matches the expected result description.

Checkpoint: at least one core project result is reproducible from project documentation.

Step 5: Interpretability and handoff (about 10 minutes)

Evaluate whether a future teammate could interpret the output and continue the work. Confirm that assumptions, parameter choices, limitations, and next steps are clearly stated.

Checkpoint: you can explain what the output means and what the next teammate should do next.

SPRRL Checklist (Pass / Partial / Fail)

A. Safe

Notes:

B. Portable

Notes:

C. Reproducible

Notes:

D. Robust

Notes:

E. Literate

Notes:

Reproducibility Outcome Summary

Select one outcome and justify it briefly.

Blocking step (if PARTIAL or FAIL):

High-Value Feedback Template

Provide three strengths and three ranked improvements.

Strengths

1. 2. 3.

Ranked Improvements

  1. Most important fix:
  2. Next fix:
  3. Nice-to-have fix:

For each improvement, include observed issue, impact on usability/reproducibility, and a concrete fix recommendation.

Reviewer Time Log

Record your approximate review time for calibration and process improvement.

This format works well when the class can review live with immediate clarification.

In pass 1, Student A reviews Student B while Student B is present for questions. In pass 2, roles swap so Student B reviews Student A using the same protocol. This two-pass format is slower than asynchronous review, but it often produces higher-value feedback and faster correction cycles.

Suggested timing for one pair:

If class size is odd, use one of the following structures:

Optional Lightweight Scoring Rubric

If your instructor uses numeric scoring, apply this mapping: Pass = 2, Partial = 1, Fail = 0.

Category maximums:

Total maximum: 50

Suggested interpretation:

Ethics and Professionalism

Treat all project materials as course-private unless explicit permission is granted. Do not redistribute peer code, logs, or recordings outside approved channels. Keep feedback focused on software and documentation quality rather than personal style.

One-Sentence Goal

After this review, the project team should know exactly how to make their software easier for a future teammate to run, interpret, and extend.