Categories
Extreme Programming Kanban Programming

Stop Shipping Waste

We’re great at shipping output, closing tickets, burning story points, and merging branches. But output isn’t the problem; waste is. Features nobody uses, “just-in-case” abstractions, month-long branches, and handoffs that turn days into weeks all inflate lead time without creating customer outcomes. Maintenance is growing faster than roadmap work, reliability is drifting, and the team is overwhelmed by coordination overhead. Mary & Tom Poppendieck’s lean stance is brutal and accurate: anything that doesn’t create value for a customer is waste. If we don’t name it, we’ll fund it forever.

Value is an outcome, not an artifact. Think in value streams, not ceremonies. Map the path from idea → production → measurable impact; design small batches to shorten feedback; limit WIP to reduce context switching; and treat quality as a prerequisite for speed, not a trade-off. Waste in software includes unfinished work, extra features, handoffs, task switching, waiting, defects, and relearning. When we optimize the whole stream (not a single silo), throughput rises precisely because the system does less of the wrong thing.

As a Staff Engineer, install a lean operating model:

(1) Define value upfront with a one-page hypothesis per story (customer problem, desired behavior, leading metric: activation, retention, time-to-first-value).
(2) Expose the stream: create a value-stream map from backlog to prod; publish DORA and flow metrics (lead time, WIP, aging, change-fail rate).
(3) Cut inventory: enforce WIP limits, trunk-based development, short PRs, review SLAs, feature flags, canaries, and finish before starting.
(4) Prevent rework: quality gates in CI, automated rollback, SLOs/error budgets, “no broken builds after stand-up.”
(5) De-scoped simplicity: kill low-usage features, remove dead code, and require an ADR “value case” for any new pattern.
(6) Economics visible: tag services for cost-to-serve so teams see margin impact, not just CPU graphs. Run a weekly Kaizen to retire one item from the Waste Watchlist.

Strategically, this flips the equation. When the team ships fewer, smaller, validated changes, learning accelerates, and defects become cheap. Maintenance spend declines, predictability improves, and capacity shifts from firefighting to innovation. Most importantly, engineers reconnect craft with purpose: we stop optimizing for busyness and start optimizing for customer outcomes. Speed follows quality; quality follows fast feedback; both follow great engineering.