If it’s not in the hands of users, it’s not done. I’ve said this countless times in workshops, coaching sessions, and retrospectives, and yet it still bears repeating. Writing code isn’t done. Testing code isn’t done. Demoing something in a meeting isn’t done. Done means that the increment is live in production, gathering telemetry, and delivering real evidence against real goals.
This is a lesson I’ve learned the hard way, both in my own practice and in helping teams across industries. There’s a persistent temptation to celebrate “fake finishes”, to pat ourselves on the back for code that’s merged, or features that pass QA, or stories that look good in a demo. But let’s be honest: none of that matters to your customers. They don’t care about completed tasks, tickets, or internal milestones. They care about what’s available to them right now, in their hands, making a difference.
Here’s what I see time and again:
- Teams equate “code complete” with “done,” and then wonder why stakeholders are frustrated.
- Organisations celebrate the wrong milestones, focusing on internal progress rather than customer impact.
- Valuable learning is delayed because work sits in a queue, waiting for release, rather than being put in front of real users.
Let’s be clear: work that isn’t live isn’t learning. And if it isn’t learning, it isn’t delivering value.
Why “Done” Must Mean “In Production”
When we talk about agility, we’re not just talking about moving faster or ticking boxes. We’re talking about creating a feedback loop between the team and the real world. That loop only closes when the increment is live, and we can see, through telemetry, usage data, and customer feedback, whether we’re actually achieving our goals.
- Evidence over assumptions: Until your work is in production, everything is a hypothesis. Only real usage provides evidence.
- Learning over guessing: Shipping to production lets you learn what works and what doesn’t, so you can adapt quickly.
- Value over vanity: Customers don’t care about your internal process. They care about outcomes they can use.
Shifting from Fake Finishes to Real Value
If your teams are confusing “code complete” with “done,” it’s time to shift the conversation. Here’s how I help teams make that transition:
- Redefine “Done”: Make it explicit that “done” means live in production, not just ready for release.
- Shorten the path to production: Invest in automation, continuous integration, and deployment pipelines so that shipping is routine, not a special event.
- Celebrate real outcomes: Recognise and reward the delivery of value to users, not just the completion of tasks.
- Gather telemetry: Build in measurement from the start, so you know what’s working and what isn’t.
- Close the feedback loop: Use real data to inform your next steps, rather than relying on assumptions or wishful thinking.
My Advice: Make “Done” Mean Something
If you take one thing away from this, let it be this: “done” is not a matter of internal agreement or process compliance. It’s a matter of real-world impact. If your work isn’t live, it isn’t done. If it isn’t gathering evidence, it isn’t learning. And if it isn’t learning, it isn’t delivering value.
So, the next time you’re tempted to celebrate a “done” story that isn’t in production, pause and ask: is this really done? Or are we just fooling ourselves?
If you want to talk about shifting your teams from fake finishes to real value delivery, let’s have that conversation. Because in the end, only live work learns, and only learning delivers value.
Smart Classifications
Each classification [Concepts, Categories, & Tags] was assigned using AI-powered semantic analysis and scored across relevance, depth, and alignment. Final decisions? Still human. Always traceable. Hover to see how it applies.
What to read next
Why Your Definition of Done Is the Secret Weapon for Real Business Impact and Agile Growth
Transform your definition of done into a strategic advantage, deliver real value, reduce risk, and drive business impact with every sprint.
Why Your Definition of Done Is the Secret Weapon Your Team Needs to Win
Unlock your team's true potential, discover why a powerful definition of done drives real business impact, customer value, and lasting …
Why Your Definition of “Done” Is Holding Back Quality, Agility, and Trust, And How to Raise the Bar
Is your team’s “done” really done? Discover how a clear, objective definition of done boosts quality, agility, and trust in product …
Delivery is the only Measure of Progress in Scrum
Scrum teams must deliver working software to real users every Sprint; true progress is measured by delivery to production, not just by …
Stop Paying the Hidden Costs of Weak Delivery: Why a Strong Definition of Done Transforms Your Team’s Results
Stop paying the hidden costs of weak delivery. Discover how a strong, shared definition of done builds trust, quality, and real agility in …
Bridging the Gap: Understanding the True Meaning of "Done" in Agile Teams
Explores how Agile teams can clarify and align on the true meaning of "done" to ensure quality, reduce rework, and meet leadership …
Detecting agile theatre with real delivery signals
Why Most Companies Operating Models Fail in Dynamic Markets
A concise comparison of Predictive and Adaptive Operating Models, explaining why traditional structures fail in dynamic markets and how …
Don’t Manage Dependencies, Remove Them
Explains why dependencies are a sign of poor system design and outlines steps to eliminate them by aligning teams, clarifying ownership, and …
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …
Why Big Bang Rewrites Fail: How Sustainable Change and Engineering Excellence Transform Legacy Systems
Ditch the Big Bang rewrite. Discover why sustainable, in-place change drives true engineering excellence and lasting transformation in your …
Are We Still Pretending Coding Was the Bottleneck?
AI exposes that coding was never the main bottleneck in software delivery; real constraints are in system flow, team practices, and …
Why Azure DevOps Wins for Governance, Security, and Scale, Right Out of the Box
Unlock seamless governance, security, and scale with Azure DevOps, integrated tooling that lets you deliver value, not just manage …
Should You Use One Project to Rule Them All in Azure DevOps?
Explores when to use a single Azure DevOps project versus multiple projects, detailing impacts on flow, visibility, governance, and team …
Stop Guessing: How to Make Work Visible and Drive Real Improvement with Azure DevOps Flow Metrics
Stop guessing, start making data-driven decisions in Azure DevOps. Discover tools, tips, and insights to make your work visible and your …
Detecting agile theatre with real delivery signals
Don’t Manage Dependencies, Remove Them
Explains why dependencies are a sign of poor system design and outlines steps to eliminate them by aligning teams, clarifying ownership, and …
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …
Estimating Better in an Overloaded System Is a Poor Man’s Strategy
High work in progress (WIP) causes delays and unpredictability; improving estimates won’t help. Limiting WIP and focusing on flow is key to …
Why Most Companies Operating Models Fail in Dynamic Markets
A concise comparison of Predictive and Adaptive Operating Models, explaining why traditional structures fail in dynamic markets and how …
Don’t Manage Dependencies, Remove Them
Explains why dependencies are a sign of poor system design and outlines steps to eliminate them by aligning teams, clarifying ownership, and …
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Kendall Guide - A System of Work for AI Adoption
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Estimating Better in an Overloaded System Is a Poor Man’s Strategy
High work in progress (WIP) causes delays and unpredictability; improving estimates won’t help. Limiting WIP and focusing on flow is key to …