Perhaps this question is trivial, but I haven't seen an answer. I built a Kanban board tool (I know, they already exist) and my idea was that people would begin a stage of the work by clicking the Right Arrow button on the card, to 'pull' it to the right and put their name on it. (Managers / Supervisors move cards without changing the name.)

So, a new, unassigned, card in the "To Do" column would move to the "Plan" column when a person clicks to move it to the right. (Cards can of course move left also.) This reflects the Pull concept.

But I realized that there needs to be a way to see that the work at a stage was done, otherwise, how could someone know when to pull it ahead to "Develop" and so on? I didn't want queue / buffer columns, because it is visual clutter. So my system has the person click the Right Arrow on the card once to set a "Done" indicator (it highlights their name in green, very basic).

This makes it clear which cards are being worked on and which are completed in that column / stage. It didn't make sense to me to allow someone to 'push' a card right, for example the developer to move it to the "Test" column, because whose name would go on it saying they are testing? (I suppose the right push could remove the name and show UNASSIGNED or something. This would also be a visual cue.)

My system lets you clear the Done indicator by clicking the Left Arrow on the card once. You would have to click it again to actually move it left. Further left moves don't set the Done indicator. In this way, there is a 'ratchet' protecting forward motion (someone has to say work was completed at each stage) but backward motion can go multiple columns if needed.

Does this approach work to indicate "Done" in a column and also remove the need for buffer columns?

  • 1
    I mistakenly used the term 'Lane' for 'column', I have it straight now. My app only supports 1 Lane at present. Sep 1, 2022 at 0:20
  • The Title question comes from me realizing this issue of "when is a stage of work for a card done?" Does an all-knowing wizard move the cards? And, if I am moving my cards when I finish that process, I am pushing them, not pulling them. Pull requires a signal, you can't just yank things away from people (I learned in Kindergarten). Push means I know it's done, but I don't know whom to pass it to. And buffers are contrary to the whole Kanban concept. (I worked on an assembly line for half a year - highly recommended experience!) Sep 1, 2022 at 18:06

3 Answers 3


Where I have worked, we have set up a system where developers/programmers have tagged a task as ready for test. This indicates that the initial programming work is done and the testing/quality assurance work can begin. In a Kanban board, this would be a status like "ready for test" or something like that. This would be it's own column.

The best way to set up this is to ask the testers how they would like to pull work. But in all my jobs so far, some sort of tag or property indicating "we can start working" has been best because then they can filter on that in their ticket system to show daily work.

Note that it is often a good idea NOT to make this a buffer column. Instead, include the work in progress limit in the previous column. For example, "in programming progress" and "programming done" should have a WIP that combines those two columns. Do not start more programming work until the previous programming work is in testing.

In this situation, the programmers would be responsible for moving the task into the ready for testing column, and the testers would be responsible for moving the task in the actual testing column.

  • 1
    Ok, so either queue / buffer columns or a 'done' indicator will work. I haven't added the WIP limit values yet because my tool is still not in active use by my department. But I learn more in-depth by actually implementing a tool than just using one. Sep 1, 2022 at 1:38

Hey Asashadeofpurplegray, A picture speaks a thousand words :) Does my diagram accurately depict the system ?

enter image description here

I believe, your question is about indicating readiness for the next stage of work. You are asking whether to use a buffer like a ready for next stage column or to use visual cues like the name turning green.

I agree I am not a fan of buffers as it causes visual clutter on the board.

I think the pull mechanism you described works well but I would recommend a stronger visual indicator like turning the card green, rather than just the name. Also consider where the card moves to in the column, my recommendation would be that it moves to the bottom.

The left move, I think needs to be more clearly described. For example if TesterA fails a story, I assume the first left arrow click clears his name and the second left arrow click moves the card. And in this case the card might move to the top of the previous column.

Hope that helps.

  • Very nice, thank you. At present, my cards sort in columns with earliest creation date at the top, but adding priority levels and so on would be good. Yes, moving left... Ideally, if a test failed, the card would indicate that it must be pulled left by a developer. Alternately, the tester might be able to reassign it to the person who last worked on it. But then, some more info is required anyway. The Board can help with some things, but not everything. Delving in to implementing a seemingly simple thing reveals a lot of subtlety! Sep 2, 2022 at 10:37

Assign Someone to Pull to "Done", or Treat "Done" as an Infinite "Completed Work" Bucket

Kanban is fundamentally a pull queue. By definition, that means work is pulled (not pushed) rightwards on the board. A "done" column is a little different, though, and I can see why it might be confusing.

There are two ways to look at it. The first is that you may have a person or group accountable or responsible for ensuring that a card meets the Definition of Done who can pull the card from the last stage into "Done." That makes it turtles (or at least pull queues) all the way down.

The alternative is that you simply acknowledge that the universe is an imperfect place, and that "done" simply means that the final column includes validation of the Definition of Done, and so you aren't really pushing the card rightwards so much as simply marking it completed in the previous column.

The key difference here is between "done" and other work-related columns is that "done" is more like a completed widget falling off the end of an assembly line into a bin rather than another task getting pushed to another queue that represents ready-to-start or work-in-progress (WIP). There's really no limit to the amount of stuff that can be "done," so it doesn't make sense to think of it as a queue in the same way as other columns or the board as a whole; they have WIP limits but "done" does not.

To some extent, both approaches accomplish the same thing. It's a small reframing of what it means for something to be done. Once you've accomplished that reframing, the problem largely resolves itself.

  • Thank you. I have a Done column at the right of the board, so that all the cards in a Sprint or whatever show up, they don't vanish. I also have an invisible Archive column to the right of that, so the Done column can be cleared, and so a card could be revived if necessary. My question arose when I realized that every column has it's own definition of when work at that stage is done, and so there must be a visible way to indicate that. Otherwise, someone might try to pull a card before work at that stage is complete. Sep 1, 2022 at 17:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.