-
To Do:
- The ticket is ready to start working.
- It could be a new or a re-opened ticket (meaning that the remaining work could be all the ticket or a part of it).
- All requirements to work on the ticket are met. No need to wait for permissions, meetings, environment setup or any other dependency that is not part of the ticket solution itself.
-
Blocked:
- The ticket requires something that cannot be obtained at the moment by the developer. For example, it required another ticket to be solved before, it requires permissions or credentials to be provided by someone that cannot be reached a the moment, it requires an environment to be accesible or setup for the developer, it requires an external library to be purchased or approved, etc.
- The ticket needs to document why it is blocked. This can be done in two ways: When it requires another existing ticket to be finished before, that one is linked as "blocked by". Otherwise, a comment is posted indicating what is blocking it.
-
In Progress:
- The developer is actively working on the ticket.
- In most cases each developer will have one only ticket in progress. As an exception, when two or more closely related tickets are solved together for convenience (same code applies, for example), more than one ticket assigned to the same developer could be in this state.
-
In Review:
- The ticket requires code review and possible merge.
- The ticket is assigned to the reviewer, who could either merge the new code if it is correct, or re-open the ticket if it is not.
- When a ticket review passes, the associated code is merged, the ticket is moved to "Done" and re-assigned back to the original developer.
- When a ticket review indicates that some corrections are required, that is posted in a comment, the ticket is moved to "To Do", and re-assigned back to the original developer.
-
QA:
- The ticket code (if any) is merged and deployed to Dev.
- It is assigned to who is going to test it in Dev.
- If testing passed, the ticket is moved to Done and re-assigned back to the developer.
- If testing failed, the ticket is moved to To Do and re-assigned back to the developer.
-
Done:
- The ticket has passed the testing in Dev and it is considered ready for production.
- Another possibility is that the ticket has been invalidated for any reason and there is nothing to do on it. In this case, a comment is added indicating the reason of the invalidation.