Reviews
Muda
1️⃣ Defects (Bugs, regressions, outages)
Waste = anything that must be reworked or fixed.
Examples in software:
- Bugs, regressions, production incidents
- Misconfigured infrastructure
- Flaky tests
- Misunderstood requirements
- Security vulnerabilities
How to detect:
- High defect rate
- Frequent rework
- Low test coverage
- Postmortems repeat same issues
2️⃣ Overproduction (Building features nobody needs)
This is the #1 waste in software development.
Examples:
- Building features before demand is validated
- Overbuilding: too many options, premature scaling
- Coding ahead of design or product clarity
- Adding “nice-to-have” automations prematurely
How to detect:
- Features not used or lightly adopted
- Roadmap driven by assumptions, not signals
- Long lead time before customer feedback
3️⃣ Waiting (Idle time)
Waste = engineers or systems waiting for something.
Examples:
- Slow CI pipelines
- Waiting for code reviews
- Waiting for product decisions
- Ticket blockers
- Slow onboarding
- Slow test suites
- Infrastructure provisioning delays
How to detect:
- Cycle time > 2–3 days
- PRs waiting more than 24 hrs
- Build times > 5 mins
4️⃣ Non-Utilized Talent (Underuse of people’s abilities)
Common in software teams.
Examples:
- Engineers doing repetitive manual tasks
- Senior devs stuck fixing trivial bugs
- No automation of routine work
- Not involving engineers in design decisions
- Poor documentation causing dependence on a few people
How to detect:
- Complaints of “wasted time”
- Knowledge bottlenecks
- High burnout
5️⃣ Transportation (Handoffs between tools or teams)
In software, transportation = handoffs, not physical movement.
Examples:
- Throwing work over the wall to QA
- Dev → DevOps → QA → Release → Support
- Multiple Jira → GitHub → Notion → Slack transitions
- Excessive approvals
How to detect:
- Many tickets in “blocked” or “in review”
- Unclear ownership
- Work stalls during handoffs
6️⃣ Inventory (Work in Progress, unfinished code)
In software, WIP is your biggest invisible inventory.
Examples:
- Branches not merged
- PRs sitting open
- Many “almost done” features
- Backlogs with thousands of items
- Half-finished refactors
How to detect:
- Too many items in “In Progress”
- Long-running branches
- Unshipped code
7️⃣ Motion (Unnecessary movement of people or context switching)
This is developer context switching, not physical motion.
Examples:
- Switching between tools
- Interruptions (Slack, meetings)
- Searching for documentation
- Repeatedly setting up environments
- Hunting for logs across systems
How to detect:
- Devs complain about interruptions
- Engineers constantly switching tasks
- Lots of “where is that file?” moments
8️⃣ Extra Processing (Doing more work than needed)
Over-engineering.
Examples:
- Gold-plated architecture
- Writing complex systems before scale
- Duplicate code reviews
- Excessive documentation
- Manual deployments despite automation available
How to detect:
- Solutions feel heavier than the problem
- Many steps that don’t produce customer value
- “This is too complex for what it does”
⭐ The Complete “Muda Detection System” for Software
Lean for software uses a structured loop:
1. Gemba (observe actual workflow)
Watch how code moves from idea → production.
2. Identify the 8 wastes in the workflow
Use a checklist for each step.
3. Measure cycle time, WIP, defects, wait time
Use control charts or Lead Time reports from GitHub/Jira.
4. Run Kaizen to eliminate the top wastes
Small, continuous improvements.
5. Build SOPs and automation to prevent waste from returning
This is your “Control” layer.
⭐ Examples of Waste-Reduction Improvements in Software
| Waste | Lean Fix |
|---|---|
| Long PR review times (Waiting) | PR review SLA, pair programming |
| Slow CI (Waiting) | Parallel tests, caching |
| Many bugs (Defects) | Automated tests, Poka-Yoke, pre-commit hooks |
| Overbuilt features (Overproduction) | Customer interviews, MVP slicing |
| Huge backlogs (Inventory) | Regular backlog pruning |
| Engineers doing manual deploys (Non-utilized talent) | CI/CD automation |
| Too many meetings (Motion) | Async updates |
| Over-engineered systems (Extra processing) | YAGNI, simplify requirements |
5S Checklist
- Sort (Seiri)
✔ Identify all items in the space (physical, digital, or process steps) ✔ Tag anything unused or rarely used ✔ Remove obsolete tools, files, steps, or equipment ✔ Archive items needed only occasionally ✔ Eliminate duplicates ✔ Ask: “Do we really need this?”
- Set in Order (Seiton)
✔ Assign a fixed place for each item ✔ Label shelves, containers, directories, and dashboards ✔ Organize items by frequency of use ✔ Keep critical tools near point of use ✔ Create intuitive folder and naming structures ✔ Map the workflow: ensure items follow the flow ✔ Ask: “Can anyone find anything in under 30 seconds?”
- Shine (Seiso)
✔ Clean the area (physical or digital) ✔ Remove dirt, clutter, bugs, or code debt ✔ Fix broken tools, configs, scripts ✔ Schedule routine cleaning tasks ✔ Create visual cues for issues (dashboards, logs, Kanban signals) ✔ Ask: “Is everything functioning and pleasant to use?”
- Standardize (Seiketsu)
✔ Create SOPs, checklists, and guidelines ✔ Standardize naming, labeling, and workflows ✔ Establish coding conventions or working agreements ✔ Define daily/weekly routines for 5S tasks ✔ Build consistency across teams or devices ✔ Ask: “Would someone new know what to do without asking?”
- Sustain (Shitsuke)
✔ Set audit frequency (daily, weekly, monthly) ✔ Assign ownership or rotation for checks ✔ Include 5S in onboarding and training ✔ Automate wherever possible ✔ Create a culture of small, continuous improvements ✔ Ask: “Are we sustaining good habits without reminders?”