This blog aims to elaborate on how to write a good ticket so that a new joiner can use this as a guide to pick up ticket writing.
Tickets are tools that we use to contain new data requirements. Tickets normally contain the following:
Figure 1: Components of a ticket
As a sample, refer to the tickets linked in training decks!
Why is writing a good ticket important?
Tickets are the skeleton towards solving a problem. Each ticket should be clear, focused, specific and concise. A problem that needs to be solved is often broken down into smaller steps on what needs to be done and a ticket reflects that. Writing a ticket is the first step towards approaching a task in a sprint and will guide and scope what needs to be done to solve a problem. This means that the details and scope of the ticket will affect subsequent tasks like wireframing and writing the SQL script. If a ticket is not properly scoped or defined, this can make problem solving difficult and inefficient.
Different stakeholders will use the ticket as reference on what needs to be done. If there is anything missing or unclear, they will be unable to perform the task and time is spent clarifying the ticket instead of solving the problem.
Figure 2: Dos and don’ts of writing a good ticket
Ticket Refinement Process
A ticket should take less than 30 mins to construct. It should answer directly to what needs to be solved. If you spend more than 30 mins, either the ticket is too complex or you are not sure what the ticket is about. In reality, there will always be communication back and forth between the requester and the assignee to finalize the ticket. This is part of the ticket refinement process to communicate with stakeholder, requester or relevant team. This ensures that the expected deliverable is aligned. Hence, in the ticket refinement process, ask as many questions as possible to finalize the ticket. Generally, the clearer and better the structure and the content of the ticket is, the less is needed for extra communication to finalize the ticket. However, the overarching principle remains that over-communciation is better than none. If the expectation for a task is unclear, clarify regardless of whichever communication channel you use (e.g. text, call) until you are clear on what you are doing and what is expected of the task at hand.
A good ticket will help you layout necessary action items to deliver the objective. If we are unable to plan in advance in the ticket, the outcome will not hit the objective. A good ticket also evaluates the quality of your work and whether it has been completed.
The process of iteration is also normal in getting a good ticket. We aim to start with the best ticket we can write and scope, but iteration is expected and we will still be required to update the ticket from time to time.
Bug tickets normally contain the following:
Figure 3: Components of a bug ticket
Task tickets normally contain the following:
Figure 4: Components of a task ticket
Good ticket writing practices
If you edit a ticket or there is a necessary change in requirements, make sure to make it clear. You can comment, bold or tag the relevant stakeholders on the ticket to make your edits known. Refrain from making multiple changes and make sure to stick to the overall structure in mind when you edit the ticket as this might make the ticket messy and hard to understand. Hence, this emphasises the importance of good structure and scoping from the start when it comes to ticket writing.
Expectation vs Reality
When we start working on the project or the deliverables after scoping and planning for the ticket, we might also encounter challenges and blockers that we did not expect. We might realise that things do not work as expected in reality or that there are missing steps we need to take before we are able to complete our deliverables and reach our objective. This helps us to see where things are going wrong and define a mismatch between expectation and reality. Following which, we can define reality more accurately.
Hence, this highlights the importance of iteration. The more the process is iterated, the better we can fully understand the process of what the ticket requires.
In conclusion, always be clear, specific and concise in your ticket. This is applicable to all areas of ticket writing from content to structure to scope of your ticket. Ticket writing takes practice so don’t be discouraged when you can’t get it all right at the start. Just give it a try and make sure you learn from your mistakes along the way and keep improving on your ticket writing skills!