A useful software ticket schema

Over the years, we’ve iterated our way to a set of fields that we are now very settled with after having used them across 20+ projects. Our goals were

  1. Incredibly quick to create tickets & capture information on the fly - a ticket should have as few required fields as possible & our tracker shouldn’t constantly need to be cleaned/enriched.
  2. Captures some metadata that can be used for performance analysis - e.g. answer questions like how many high impact things are we shipping, how many bugs are we shipping.
  3. Has a similar cognitive load to a single spreadsheet. Said another way - 90% of the value can be obtained as one single flat list of rows and columns (as opposed to many tools that have 15 different saved views and ways of seeing the same underlying data).
  4. Is flexible enough to account for projects that need different approaches at different stages (doesn’t dictate a fixed sprint length).
  5. Can also capture (a small amount of) non-development work and show it alongside dev work.
💡

While technically this schema can be used in any project management tool, it was conceived of and iterated-in in Asana, which means that some of the decisions are likely downstream of Asana’s capabilities. You’ll probably get the best results out of this if you also use Asana.

A Note on Sprint Length

Many approaches dictate a de-facto sprint length - for example Basecamp does 6-and-2. We’ve found that depending on the stage of the project, sprint lengths will always (and should always) vary. At the same time, we do want to be able to clearly attach a single-ticket to a set-of-tickets in order to do analysis and comparison, and the only interval we found that would remain consistent across all project types, was the week. We do also use the concept of Epics, which can capture multi-week projects of various kinds, which means that we can technically plan in intervals greater than weeks if needed, but the week as the base is what remains consistent.

  • You can technically do this with a date field, but in practice the uptake on keeping a week dropdown up-to-date was much higher than keeping the date field.
  • Ticket Types: See Ticket Categories

The Fields

In the end, we’ve settled on just 3 fields that to date can capture the entire range of work we do.

Ticket Type
Sprint (Week Number)
Category
Status