In bodybuilding, “bulk and cut” refers to a cycle of gaining weight (building both fat and muscle), and then losing weight (dropping fat while retaining muscle). Over multiple cycles, you grow muscle more efficiently than if you used an incremental muscle-building strategy. (Supposedly.)
As with lots of nutrition advice, evidence for bulk and cut is slim, but it’s a seductively simple idea. It’s easier to get your body to build muscle during a period of caloric excess, and afterwards you can focus on burning off fat while retaining your muscle growth.
The bulk is when your codebase expands to meet new product requirements. During the bulk, your codebase accumulates “muscle” - useful functionality and abstractions. It also accumulates “fat” - redundant or obsolete functionality and abstractions.
The cut is when you trim the fat from your codebase, creating a cleaner basis from which to start your next bulk cycle. The result is a lean, value-creating codebase that you’re proud to show off, and a solid starting point for your next bulk and cut cycle.