I am sure that what I will tell in my answer will be very different from the canonical Kanban. I mean, this can be very, very controversial.
However, since you asked for other ideas, I guessed that you are also interested in heretical views. If this does not fit your case, please take it as a proof of concept.
Firstly, a short overview to depict the metaphor I use. Take note of this short excerpt from the video you can find here.
“Suppose a board representing at least two columns (for example, Doing and QA, but the names are not important here) representing the actions that the programmer is called upon to perform. Suppose this situation: task B is lagging and task A is actually When task A moves to QA, should the programmer work on task A or move task B to "Doing" and start working on it? We all know that multitasking is evil, and the programmer should not work both with task A, so and with problem B.
The correct answer is: first work on task A. Kanban is a pull-out system, and it will be very clear: but even without Kanban it is obvious that task A is closer to the value of the business and should not be in the OK column and move to the Finish columns as soon as possible " Waste must be disposed of and not stored.
This asks the question: is there a free slot in the “Column” section? Can another programmer move task B forward?
The question is inappropriate . If there is only one developer, the answer is no. Since the programmer is unavailable, the de facto "Do the work" column maintenance limit should be reduced to 0. With two developers, the correct question should be "Is another developer available?"
The fact is that Work In Progress Limit is not an indicator of free slots. The number of developers available.
The advice I tried to present uses a different principle: the general, individual and individual presentation of one programmer, such as a magnetic sticker. Call it Face. The programmer puts his face on the task to inform that he is working on this problem. Since each programmer has only one Person, programmers cannot complete more than one task. Limiting work in the process is not an indicator of how many free slots are available: Available team members, that is, people without a task, are a good measure.
The rule is simple: each team member has only 1 person and can put him on just one task.
However, the consequences are not trivial: using Faces it is easy to see who works with whom, how the group is clustered, and who can be asked about a specific problem. "
In other words, I believe that the WIP limit may not be the most appropriate measure of the elements that you should put in a column, especially if the sum of the WIP of all columns is greater than the number of developers (that is, slots that you can really count on).
I believe the same thing can be applied to your case: in the QA column, you have a test that rejects Kanban. There is no problem for me when moving backward in the runtime column, the developer who worked on the failed element is still committed to this. In fact, you have a free slot.
I don’t understand why the WIP restriction in the Doing column should block your workflow. What to do otherwise? To respect the arbitrary number you wrote in the column, should the developer be moved to another task? In the event that you decide to abdicate and violate the WIP limit, you do not question the meaning and relevance and applicability of this limit?
In short: move the task back if you have a developer dedicated to this task.