When Is a Story Done? Three Criteria to Decide

There’s a saying that what’s done is done. Done is straightforward, clear-cut. It’s absolute. So when we talk about user stories being done, why is it so difficult to agree what that means?

Maybe it’s because software is intangible, and we are accustomed to using our senses to determine what’s done. Maybe it’s because every team is different, and what works as a definition for one team doesn’t for another.

There doesn’t need to be a single definition, or a single set of criteria for everyone. However, here are three criteria I think are necessary to call a story done.

1. It’s Functional

I think this is one point we can all agree upon. In order to be done, the story needs to be functional. If the story is “user can log in,” and there’s no login page, this story is not done.

2. It’s Been Reviewed Internally

Let’s assume the first criterion for our login story has been fulfilled. The developer has added the page, implemented the back end, and run through the login workflow once manually. Is the story ready to go in front of the client?

No. There needs to be at least one internal reviewer besides the developer. What if the developer forgot to show an error message for an invalid email? What if they forgot to implement the “Remember Me” task of the feature?

Developers have to hold complex systems in their heads all day; they might forget an edge case of the workflow that someone else can catch. If issues can be caught by your team before it’s seen by executives or clients, it’s a win.

3. It’s Deployed for External Review

So, we’ve finished the feature and reviewed it internally. Now it’s time to deploy the feature for other stakeholders to review. In my experience, stakeholders have been such an integral part of visual design and UX that, at this point, their critiques are typically text changes or quick style changes. However, it’s important that they have a playground to experiment with workflows and suss out that feedback.

At this point, I would consider a story done. It’s been implemented, it’s been reviewed by other team members, and it’s available for review by stakeholders.

I use these three criteria because they’re simple and can be applied to a wide range of projects. What other criteria do you use to determine when a user story is done?