Engineering Excellence

Lean Engineering Delivering Value Without the Agile Theater

If your team spends more time maintaining Jira than talking to customers, something has gone wrong. You need three things: a way to prioritize work, a way to coordinate briefly, and a way to learn. Everything else is optional.

Common questions answered below

Most "agile" implementations have nothing to do with agility. They're process theater: standups where people recite status, sprints that are just two-week waterfall, story points that become weapons for performance management. The ceremonies continue while the actual principles get ignored.

The original agile manifesto was a reaction against heavyweight process. Somehow we've managed to create heavyweight processes in its name. If your team spends more time maintaining their Jira board than talking to customers, something has gone wrong.

Lean engineering offers an alternative. Not another methodology with prescribed ceremonies, but a return to first principles: reduce waste, shorten feedback loops, and focus relentlessly on delivering value to customers.

What Lean Actually Means

Lean thinking comes from manufacturing, but the core principles translate well to software:

Eliminate waste. Any activity that doesn't contribute to customer value is waste. Meetings where nothing gets decided. Documentation nobody reads. Features nobody uses. Handoffs that create delays. Lean engineering asks constantly: is this activity creating value, or just creating motion?

Build quality in. Don't inspect quality at the end; build it throughout the process. This means fast tests that catch problems early, code review that prevents bugs from merging, and systems designed to make the right thing easy.

Create flow. Work should move smoothly from idea to customer value. Bottlenecks, waiting, and batch processing all slow flow. Optimizing for flow often means doing less work in parallel so more work gets done.

Pull, don't push. Start work when there's demand for it, not when there's capacity available. This prevents building inventory of partially-done work that ties up resources without delivering value.

Seek perfection. Continuous improvement as a practice, not a slogan. Every process has waste that can be reduced. Every product has value that can be increased. Lean teams are never done improving.

Where Agile Goes Wrong

Agile implementations often fail because they focus on the ceremonies rather than the principles:

Standup as status meeting. The purpose of standup is coordination, not status reporting. If your standup is people going around a circle saying what they did yesterday, it's probably not creating value. Real standups surface blockers and enable collaboration.

Sprints as mini-waterfalls. Two-week cycles where everything is planned upfront, nothing changes during the sprint, and demo day is the first time anyone sees working software. This misses the point of iterative development entirely.

Story points as productivity metrics. Points were invented to help teams estimate, not to measure output. The moment managers start tracking velocity as a KPI, teams game the system and the metric becomes meaningless.

Ceremonies without purpose. Retros where the same issues get raised every sprint and nothing changes. Planning meetings that take half a day. Grooming sessions that become specification theater. Each ceremony should have a clear purpose and be ruthlessly evaluated against that purpose.

Applying Lean Principles

What does lean engineering look like in practice?

Measure flow, not activity. Track how long it takes for work to go from idea to deployed. Track how long items spend waiting versus being worked on. Optimize for shorter cycle times rather than higher utilization.

Limit work in progress. A team juggling ten things makes progress on nothing. A team focused on two things finishes both faster. WIP limits feel counterintuitive but consistently improve delivery speed.

Automate quality checks. Every manual quality gate is a delay and an opportunity for inconsistency. Automated tests, automated linting, automated security scanning. Humans should make judgment calls, not check boxes.

Ship small increments. Big batches hide problems and delay feedback. Small, frequent releases let you learn faster and course-correct continuously. If deployment is painful, make it easy instead of doing it less often.

Talk to customers. No amount of process can substitute for understanding what customers actually need. Get engineers in front of users. Make customer feedback visible to the team. Build what's valuable, not just what's specified.

The Process Minimum

What process do you actually need? Less than you think:

A way to capture and prioritize work. This can be sophisticated tooling or sticky notes on a wall. What matters is that the team knows what to work on and why.

A way to coordinate. Brief, frequent check-ins where people can ask for help and surface blockers. This doesn't need to be a formal standup.

A way to learn. Regular reflection on what's working and what isn't, with actual changes resulting from insights. This doesn't need to be a formal retro.

Everything else is optional. Add ceremonies when they solve real problems. Remove them when they don't. The goal is to deliver value to customers, not to follow a methodology.

Making the Shift

Moving from process-heavy to lean isn't just about removing ceremonies. It requires changing how people think:

From "following the process" to "delivering value." The process isn't the goal; it's a means. If a ceremony isn't contributing to delivery, question whether it should exist.

From "maximizing utilization" to "maximizing flow." Busy engineers don't mean productive teams. Focus on getting work done, not on keeping everyone occupied.

From "following the spec" to "solving the problem." Specifications are hypotheses about what will create value. They should be tested and refined, not blindly implemented.

This is harder than implementing scrum from a book. It requires judgment about what's actually valuable in your specific context. But that's also why it works better. Lean isn't a methodology you adopt; it's a way of thinking you develop.

Frequently Asked Questions

What is lean engineering and how is it different from agile?
Lean engineering focuses on principles rather than prescribed ceremonies: eliminate waste, build quality in, create flow, and deliver customer value. Many agile implementations become process theater with standups, sprints, and story points that add overhead without improving delivery. Lean asks whether each activity creates value.
What process does an engineering team actually need?
You need three things: a way to capture and prioritize work, a way to coordinate briefly, and a way to learn and improve. This can be sophisticated tooling or sticky notes. Everything else is optional. Add ceremonies when they solve real problems and remove them when they don't.
How do I know if my agile process is actually working?
Measure flow, not activity. Track how long work takes from idea to deployed, and how long items spend waiting versus being worked on. If your team spends more time maintaining Jira than talking to customers, or raises the same issues in retros every sprint, something is wrong.

Dan Rummel is the founder of Fibonacci Labs. He's seen agile done well and done terribly. The difference is usually whether teams focus on the principles or the practices.

Ready to cut through the process theater and focus on what actually delivers value?

Let's Talk →