ARC Data Analytics Handbook

Version 0.0.2

All things data analytics at ARC Resources.

๐Ÿ” Code Review โ€“ Advanced Analytics

Purpose

Code reviews are a critical quality assurance step in our development lifecycle. They ensure:

  • Code correctness, readability, and maintainability.
  • Alignment with team standards and architectural principles.
  • Knowledge sharing across the team.
  • Early identification of potential issues before UAT.
  • Inclusion of stakeholder perspectives, especially from data champions.

Participants

Each code review is led by the developer who authored the code. The review group should include:

  • For productionized products, the review group should include at least one fellow developer from the Advanced Analytics team.
  • For proof of concepts (POCs), the review group should include at least one fellow developer from the Advanced Analytics team and relevant data champions, SMEs, or product stakeholders who are impacted by or involved with the solution.

Cadence

Code reviews should occur based on the nature of the product:

  • For productionized products, reviews are held at regular milestones throughout the development lifecycle, especially before releasing to User Acceptance Testing (UAT).
  • For proof of concepts (POCs), a review is conducted once the work is completed, prior to any broader sharing or decision-making.

These reviews are part of the definition of done for any major feature or module.

Format

Code reviews should be conducted in a structured format:

1. Preparation

  • Developer prepares the code and supporting materials (e.g., diagrams, documentation).
  • Reviewers are given access to the code and materials at least 24 hours in advance.

2. Review Session (30โ€“60 minutes)

  • Developer walks through the code logic, structure, and key decisions.
  • Diagrams (e.g., data flow, architecture, process) are used to aid understanding.
  • Reviewers ask questions, suggest improvements, and validate assumptions.

3. Follow-Up

  • Action items are documented.
  • Developer incorporates feedback and confirms resolution.

Guiding Principles

  • Respectful and constructive: Focus on the code, not the coder.
  • Clarity over cleverness: Prioritize readable and maintainable code.
  • Consistency: Follow team conventions and documented standards.
  • Documentation matters: Ensure code is well-commented and supported by diagrams.
  • Security and performance: Flag potential risks or inefficiencies.
  • Business alignment: Validate that the code meets the intended business logic and stakeholder needs.

Expected Outcomes

  • A shared understanding of the code across the team.
  • Identification and resolution of bugs, inefficiencies, or unclear logic.
  • Improved code quality and maintainability.
  • Increased confidence in the solution before UAT.
  • Documentation of decisions and rationale for future reference.
Last updated on 19 Sep 2025
Published on 19 Sep 2025
 Edit on GitHub