The Traffic Light system

Mark your comments with one of the types below (pick easy-to-use visual clue, e.g. color-coded emojis)

Red Circle Stop (blocker)

Code changes cannot be shipped before resolving a blocker.

Blockers should be resolved by the code reviewer.

Example of blocking sources:
  • Wrong implementation of the acceptance criteria (AC)
  • Missing code or AC to handle a use-case that can cause significant damage
  • Major security/privacy risk
  • Typos in copy

Orange Circle Wait (soft-blocker)

Code changes cannot be shipped before either resolving or creating/documenting follow-up action for the soft-blocker.

Soft-blockers may be resolved by the code author

Example soft-blocking sources:
  • Anti-Pattern or Non-clean code
  • Typos in code
  • Important design/architectural decisions
  • Introduction of an edge-case bug

Why need this?
Because sometimes delivering a quick fix that is not the best in terms of code, but delivers value to the end user is a lot higher priority, especially so when people are blocked (bug, high value feature).

Green Circle Keep going (no-blocker)

Code changes can be shipped with no resolution for non-blockers.

Example of non-blocking sources:
  • Opinionated nit-pick on a practice/convention
  • broader suggestion/discussion on "code quality"


Red Heart A big shout out to my current team (time of writing) at  wundertax  for helping shape this guideline:  Klemen ,  Visko ,  Luisa  and  Viktor .