Bike-Shedding
debt(d7/e3/b3/t5)
Closest to 'only careful code review or runtime testing' (d7), since detection_hints.automated is no — recognising bike-shedding requires human observation of meeting/PR patterns, not tooling.
Closest to 'simple parameterised fix' (e3), since quick_fix is to timebox and automate trivial decisions (e.g. PHP-CS-Fixer, linting config) — replacing the pattern with a safer alternative rather than a one-line patch.
Closest to 'localised tax' (b3), since the impact is on team process culture (applies_to web/cli) — it slows discussions but doesn't define system architecture.
Closest to 'notable trap' (t5), since the misconception that all decisions deserve equal discussion time is a documented gotcha (Parkinson's Law of Triviality) most teams eventually learn to spot.
Also Known As
TL;DR
Explanation
Parkinson's Law of Triviality (1957): a committee approving a nuclear power plant spends most of its time debating the bicycle shed design because everyone can have an opinion on a shed but few understand nuclear engineering. In software: code style debates, naming bikesheds, and tooling arguments consume hours while architecture decisions and security reviews get minutes. The cure is automated formatting (remove the decision entirely) and time-boxed decisions with explicit owners.
Common Misconception
Why It Matters
Common Mistakes
- Long PR comments on formatting instead of using PHP-CS-Fixer to make it automatic.
- Hours of team discussion on variable naming conventions — write a one-page guide, enforce with linting.
- No time-boxing on style decisions — set a 15-minute limit and let the tech lead decide.
- Not recognising that some bike-shedding is social bonding — context matters.
Code Examples
// PR with 23 comments:
// 'Should this be $userEmail or $emailAddress?' (12 replies)
// 'I prefer double quotes here' (8 replies)
// 'Should we use early return?' (3 replies)
// 'Trailing comma or no?' (5 replies)
// Actual logic bug in the method: 0 comments
// PR open for 3 days over style
// Automated style = zero discussion:
// .php-cs-fixer.dist.php configured once
// pre-commit hook auto-fixes before commit
// CI fails on style violations
// PR comments focus on: correctness, security, architecture
// Style: never discussed again