liveBook · Manning

Memory bound

As explained in "Looks Good to Me"

A workflow constraint that limits throughput or delays progress through a process.

A performance bottleneck is a workflow constraint that limits throughput or delays progress. In software teams, it often appears when code reviews, approvals, or deployments depend on one person or an oversized process. section 7.1.4 section 8.0

The useful question is not simply “Who is slow?” but “Where does work wait, and what safeguard or decision makes it wait?” A bottleneck can form before review, during review, or after approval. Long delays reduce the value of releases, increase organizational cost, and can make people disengage from the process. section 7.1.4 section 8.0

Use the intervention that matches the constraint:

  • If every pull request requires one senior developer, distribute approval authority across the development team rather than treating seniority as a mandatory gate. section 8.1
  • Support broader approval with safeguards such as automated checks, unit and integration tests, staged environments, easy rollback, shared accountability, and a blameless culture. section 8.1
  • If deployment requires rebuilding an entire monolith for every small change, separate logical domains into independently buildable projects while retaining shared libraries where useful. section 12.2.1
  • Keep code review in the workflow, but reduce the amount of work waiting behind the bottleneck and inspect adjacent lifecycle problems that create oversized pull requests. section 12.2.1 section 8.0

From monthly releases to almost daily releases

A team discovered that small CSS or test changes required redeploying its entire monolithic application. It divided the application along five logical domains, moved them into separate projects, and kept shared utilities in shared libraries. Each change then triggered a build and release only for its project, allowing the team to move from monthly releases to almost daily releases without adopting a full microservices architecture. section 12.2.1

Figure 12.2 Agree and then split approach to doing both mob programming and code reviews
figure

Use the agree-and-then-split workflow to coordinate shared design decisions before dividing implementation work and continuing code reviews. section 12.2.1

How "Looks Good to Me" covers it

How deep it goes
Explains bottlenecks through approval chains, reviewer concentration, deployment architecture, and targeted process changes.
Examples
Uses approval chains, a single senior reviewer, oversized monolithic deployments, and domain-based projects as concrete bottleneck examples.
What it assumes
Assumes familiarity with pull requests, code reviews, deployment stages, and basic application structure.
What you can do after
Diagnose workflow waiting points and choose distributed approval, safeguards, or smaller deployment units to increase delivery cadence.
How it connects
Connects bottlenecks with code reviews, pull requests, continuous integration, automated testing, deployment pipelines, monoliths, and microservices architecture.

Also explained in

Compare how 11 books explain memory bound →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of "Looks Good to Me". The section links point to the parts of the book it draws on.