Every team has some definition of done, whether it’s been explicitly documented or it’s just a verbal understanding. Some agreement that when the work gets to this point, we’re not coming back to it. For most teams, there’s a designated spot on the board that reflects that state of done.

Every once in a while, though, I come across a team that’s added a second one. They have a Done, and next to it a Done-Done. The story is always the same: Done stopped meaning done. Work would land in that column and then come back, so the team needed a new column to hold the work that was really, actually finished this time.

That extra column is the feedback we should be looking for. Language doesn’t rot on its own; it rots because we aren’t willing to have the hard conversation about what the word means.

Underneath this particular word, the conversation we’re avoiding is almost always about silos. Someone finishes their part and moves the ticket to Done, because from where they sit, it is done. Their part is done, but the overall work isn’t. It’s done when everyone has done their part. Developer-done isn’t done. Tested-done isn’t done. Each group has its own private definition, anchored to the edge of its own silo.

So instead of getting in a room and agreeing on one shared definition that spans all of those silos, the team bolts on another column. The columns are the silos. Done is where development hands off. Done-Done is where the next group hands off. Every qualifier we add is a handoff we didn’t want to talk about.

Once you see this, you see it everywhere a qualifier starts multiplying. Done-done. Final-final. The real deadline, as opposed to the one we told everyone. A word that needs reinforcing is a word people have stopped trusting, and a multiplying qualifier is a conversation nobody wanted to have.

I had a client once that had a Done, a Done-Done, and a Done-Done-Done. And even Done-Done-Done didn’t mean it was in production. It’s time to stop doing that.