Technical Product Management Course · by Stanislav Belyaev
EN RU

Affected-Project Detection

6 outgoing · 2 incoming · 8 total connections

Map Detail
Monorepo-Specific MONOREPO-SPECIFIC

Affected-Project Detection

Affected-Project Detection measures the ability to accurately determine which projects, services, or build targets are impacted by a given code change, particularly in monorepo environments. Effective detection enables targeted CI runs, scoped testing, and informed risk assessment without rebuilding or retesting the entire repository. Poor detection leads to either wasteful full-repo builds or dangerous gaps where affected services are not validated.

Accuracy of determining which projects are impacted by a code change. Without it, every change triggers full-repo builds/tests.

MONOREPO CONTEXT

THE #1 MONOREPO-SPECIFIC METRIC. Nx, Bazel, and Pants analyze dependency graphs to determine exactly which projects need rebuilding. Nx reports 90-95% CI time savings. If this metric is poor, nearly all other monorepo metrics degrade catastrophically.

Scale Impact
πŸ‘€ Solo / Pair (1–3)
0.1
πŸ‘₯ Team (4–15)
0.3
🏒 Department (15–100)
0.7
πŸ›οΈ Organization (100+)
1

Monorepo-specific: without affected-project detection, every change triggers full-repo builds. Nx reports 90-95% CI savings. Only matters at scale.

6
Influences
2
Influenced by

→ Influences

CI/CD Pipeline Speed

Accurate detection means only affected projects build/test. Nx reports 90-95% CI time savings. Without it, full-repo builds on every change.

Stripe: 45min→7min with Bazel
Nx, Bazel, Turborepo + Stripe case study
Test Suite Exec Time

Only affected tests run. Google: tests only run if transitive dependency graph includes changed files.

Eliminates unnecessary test runs
Monorepo tooling documentation
Developer Satisfaction

Devs don't wait for unrelated builds. Fast feedback on their actual changes.

Primary monorepo DX factor
Developer Experience research
Merge Queue Wait

Queue partitioning: PRs only compete with PRs affecting the same projects, not all PRs.

Aviator/Mergify partition queues by affected area
Aviator + merge queue tools
Test Flakiness

Fewer tests run = fewer opportunities for flaky failures per PR.

Proportional to test reduction
Logical inference + test execution data
Remote Cache Hit Rate

Accurate detection β†’ building the same targets β†’ higher probability of cache hits.

Complementary optimizations
Meta Engineering Blog, Bazel Documentation

← Influenced by

Codebase Size

Larger repos have more complex dependency graphs, making accurate affected detection harder.

Requires investment in build system
Google Bazel, Meta Buck2
High CriticalMONO
Technical Debt

Tangled cross-project dependencies (circular deps, god packages) explicitly break the Directed Acyclic Graph (DAG) required by Bazel/Nx, forcing full-repo rebuilds.

Industry consensus; Bazel explicitly forbids circular deps between targets.
Bazel/Nx Documentation & Build performance research
Monorepo: Technical debt here isn't just friction; it's a feature breaker for monorepo build optimizations.
Metrics map by Stanislav Belyaev · Analysis powered by Anthropic Claude Opus 4.6 · All data validated by human experts