Discover the 8 Hidden Wastes Slowing Down Your Value Stream 🧊
What if tests were just the tip of the iceberg?
A confession: I spent my early years as a manager thinking all our problems stemmed from a lack of tests. More unit tests, more integration tests, more end-to-end tests... I was convinced it was THE solution.
Then a coach asked me a simple question: "What if tests were just the tip of the iceberg?"
This question changed my vision of software development. After 20 years leading product & tech teams, I can tell you one thing: we tend to focus on symptoms rather than root causes. The real question isn't "how many tests do we have?" but "how do we create a continuous value flow pulled by real demand?"
Let's dive into the 8 types of waste that disrupt this flow, with a different perspective on their impact. And trust me, some will surprise you!
1. Over-Production 📦
Ah, over-production! Teams' guilty pleasure. "Let's do it now, it'll be useful later," that phrase that costs us entire sprints of development... for features that end up forgotten.
Flow anti-patterns I've observed:
Backlogs that look more like letters to Santa than action plans
Features pushed by the team without real user demand
Sprints so loaded they look like holiday season menus
To restore flow:
Implement a real kanban system (and no, your Jira board doesn't automatically count as kanban 😉)
Strictly limit work in progress (WIP) - yes, even that "quick ticket"
Align your production capacity with customer demand rhythm
2. Waiting ⏳
Let's talk about waiting, that silent productivity killer. Throughout my value stream mappings in different organizations, one observation stands out: time spent waiting between development stages can regularly exceed development time itself. It's like those poorly synchronized traffic lights that make you curse in traffic jams: each stop breaks your momentum and concentration.
Classic breaking points:
Validations that take longer than a Jenkins build on a Friday evening
Dependencies between teams as complex as a Game of Thrones family tree
Test environments more congested than downtown at rush hour
Restoring continuity:
Visualize your queues (you can't improve what you can't see)
Measure your lead time like you monitor your compilation time
Create truly autonomous teams (not just on paper)
3. Unnecessary Transport 🚛
In our digital world, transport takes more insidious forms than a truck stuck in traffic.
The transports that weigh us down:
Tickets that travel more than a backpacker on a gap year
Code that navigates through 15 different branches before reaching production
Specs that magically transform between initial idea and final implementation
Optimizing flow:
Automate synchronizations (your time is worth more than copy-paste)
Reduce intermediaries (each hand-off is an opportunity for error)
Favor direct and visual communication (a good old whiteboard sometimes works wonders)
4. Over-Processing 🎯
Sensitive topic alert! No, I'm not saying we should neglect quality. But when your log management microservice has higher test coverage than your payment module, there might be a priority issue...
Telltale signs:
Code optimized as if it had to handle Amazon Prime Day traffic... for an internal site
Microservices architecture for a single-user application
Code reviews longer than the initial development
The balanced approach:
Define required quality levels by functional domain
Accept "good enough" engineering when relevant
Focus your efforts where it really matters (tip: follow the money)
5. Inventory 📚
In development, inventory is sleeping code. And like fine wine, code doesn't always improve with time.
Costly inventory:
Feature branches aging like forgotten JIRA tickets
Technical documentation as dated as jQuery
POCs that never finish proving their concept
For lean flow:
Aim for short and frequent integration cycles (I've seen teams go from monthly to daily releases applying this principle)
Automate your deployments as if your life depended on it
Treat documentation like code (with reviews and tests)
6. Unnecessary Movement 🔄
Every superfluous click is a small stone in a developer's shoe. By the end of the day, that's a lot of stones.
Movements that exhaust:
Dev environments that require more clicks than a GDPR modal
Validation processes worthy of an obstacle course
Tools whose user experience seems to have been an afterthought
For more efficiency:
Invest in good tools looking beyond direct purchase cost (that $200 mechanical keyboard? Considering productivity gains, fatigue reduction, and developer satisfaction, its true cost is negative)
Automate everything that can be automated
Train your teams on shortcuts (an efficient developer is a lazy developer)
7. Defects 🔧
The cost of a bug increases exponentially with time, like consumer credit interest.
Sources of avoidable corrections:
Specs as clear as a quantum physics lecture
Technical debt we repay at loan shark rates
Misunderstandings between teams that create more bugs than features
To minimize corrections:
Invest in the discovery phase (one dollar upstream can be worth 100 downstream)
Plan time for technical debt like you plan your vacations
Establish context-sharing rituals that aren't sleep-inducing meetings
8. Underutilized Talent 🌟
The worst waste: having rock star teams and making them play recorder.
Wasted talents:
Senior architects spending their days in PowerPoint meetings
Creative developers stuck on legacy maintenance
Innovation initiatives dying in the egg for lack of time
To unleash potential:
Give real responsibilities (not just LinkedIn titles)
Create concrete innovation spaces (the famous 20% time that isn't 120% time)
Invest in training like you invest in your servers
Pull Flow: The Keystone of Lean Engineering 🔄
Since falling into Lean Engineering two years ago, I had my "eureka" moment: pull flow isn't just a concept, it's THE solution. Let me explain why.
What is pull flow?
Imagine a starred restaurant: each dish is prepared only when ordered. In dev, it's the same:
We only code what users really need (not what we imagine they want)
We only move to the next step when it's ready (no more features gathering dust in staging)
We smooth out tasks and maintain a regular rhythm (like a good orchestra conductor)
Pull flow principles:
The Pull Signal: Each action is triggered by real demand (goodbye "just in case" features)
WIP Limitation: We limit work in progress like we limit tables in a restaurant
Continuity: A regular flow is better than a marathon sprint
Adaptation: Capacity adjusts to demand (like a good elastic)
How to implement it without overthinking:
Visualize your flow (a good old physical board often does the job)
Track your bottlenecks like a detective
Standardize the essential (not everything!)
Measure what really counts
Gemba: Your Best Ally 👀
Gemba (現場), literally "the real place" in Japanese, is where value is created. In tech, it's not just pretending to listen during dailies - it's diving into your teams' daily reality. Observe, question, understand. It's trading your manager hat for that of a code and product anthropologist.
Key questions for your "gemba walks":
- Where does work accumulate like unread emails?
- What are the breaks that really annoy your teams?
- What prevents having a rhythm as regular as a metronome?
Conclusion: Beyond Waste
These 8 wastes are just symptoms. The real challenge? Creating a value flow as smooth as your morning coffee. By eliminating these obstacles one by one, you transform your team from a gas factory into a well-oiled machine.
#LeanEngineering #PullFlow #ProductDevelopment #Engineering #Leadership #TechLeadership #Innovation #ContinuousImprovement