DEV Community

Cover image for I Hated Writing Tickets (Until I Used AI)
David Rueda
David Rueda

Posted on • Originally published at orbitant.com

I Hated Writing Tickets (Until I Used AI)

šŸ—£ļø I hate creating tickets. I don’t know what value it provides to write an extensive explanation. I know what needs to be done, so I feel I’m losing valuable development time by spending so much time noting down all the little details.

Does this sound familiar? At some point, if you have worked as a software developer, ticket creation has been one of the main discussion topics in refinement sessions and retros. Many of us tend to think descriptive tickets are a waste of time. With simpler versions we could do what tickets are supposed to be for. Organizing work.

But… What are the downsides of simpler tickets? Let’s list some:

  • Harder collaboration: what happens if your colleague opens a ticket, but you are in charge of implementing it? What happens if you don’t have the context in which that ticket was created?
  • Traceability: What decisions have been made?
  • Diffuse Definition of Done (DoD): Are you sure the acceptance criteria for that ticket is actually met? Are you missing something?
  • Provided value: Is the ticket actually valuable to the user? Will it improve its experience?

I’m sure all of you would be able to list some more disadvantages with ease. However, we need to find a balance between the ticket description and the time spent to create it. Nowadays, AI is an almost indispensable tool that is integrated in all of our workflows. And ticket creation should not be the exception.

The good news? You can write better tickets with AI without sacrificing speed or context. Modern dictation tools bridge the gap between quick note-taking and comprehensive documentation.


šŸ“Ā Creating tickets with Superwhisper

AI-powered dictation helps development teams write better tickets with AI by capturing spoken context, structuring it automatically, and standardizing formats across the backlog.

Superwhisper is a ā€œultra-fast AI powered dictation that understands what you want to say and how you want to say it.ā€. It is able to translate your ideas in pre-built formats (such as formal emails or messages) or custom formats (we’ll address those in this article) that can be defined by a series of rules and applied in whatever applications you may need.

And how does this apply to ticket creation? With some creativity, you’ll be easily able to transform functionality ideas or business requirements in detailed tickets in seconds!

Setting up Superwhisper

  1. Download Superwhisper from its homepage. It supports Windows, MacOS and iOS.
  2. Go to Modes. In this tab, you’ll be able to define custom or pre-built modes, and what applications and even pages these modes will be applied to.

Superwhisper Modes screen listing existing modes and options to create or manage custom and pre-built modes.

  1. Create a new mode by clicking on the ā€˜Create mode’ button and selecting ā€˜Custom’.

Superwhisper dialog after clicking Create mode, showing the Custom option to create a new custom mode

  1. Define your rules. This is the prompt I’ve been using so far, which has worked great. Feel free to modify it to meet your team or personal needs!
You are a Senior Product Owner.

I will describe a software requirement in Spanish. // Add here your mother tongue! 
Your task is to:
1. Understand the requirement.
2. Translate it into clear English.
3. Rewrite it as a backlog ticket using the exact template below.

Rules:
- Use a clear USER TYPE.
- Acceptance criteria must be written as simple bullet points, not Gherkin.
- Each criterion must be testable and explicit.
- Do not invent requirements.

Template:

> [!IMPORTANT]
> _AS A_ `<USER TYPE>`
> _I WANT TO_ <user goal>
> _SO THAT_ <business value>

### Acceptance Criteria

- ...
- ...
- ...

### Technical Approach (optional)

- ...

Enter fullscreen mode Exit fullscreen mode
  1. Define when you want to apply these rules. E.g. If you use Brave browser and your ticket platform is Github, you can easily define that in the advanced settings:

Superwhisper Modes screen showing how to access the Advanced Settings by clicking the gear icon button on the bottom right when expanding the Custom Mode details

Superwhisper Modes screen showing the Advanced Settings section and the

🧪 Demo time!

Imagine you are working on a SaaS application that displays information about the documents you uploaded, in a table format. Right now, the Due Date field is
displayed, and it's taking a lot of the table space when it's not needed immediately. You want to create a ticket to remove it.

  1. You use your shortcut to open Superwhisper.
  2. You say: **"I don't want the users to see the due date in the documents table"
  3. Superwhisper returns the following:
> [!IMPORTANT]
> _AS A_ `End user`
> _I WANT TO_ not see the expiration date column in the documents table
> _SO THAT_ the documents listing does not display expiry dates to users

### Acceptance Criteria

- The documents table in the UI no longer displays a column labeled "Expiration Date", "Expiry Date", "Due date" or similar.
- No expiration date value is visible in any row of the documents table for any document.
- Removing the column does not remove or alter other columns or data in the documents table.
- The table header layout adjusts correctly (no empty column gap) and aligns with remaining columns on desktop and mobile
  breakpoints supported by the product.
- Sorting, filtering and pagination on the documents table continue to function as before for the remaining columns.
- If there is a details/preview panel accessible from the table, it still shows the expiration date if that is a separate
  requirement; otherwise state if expiration date should also be hidden there (no change required per this ticket).
- Changes are covered by a UI visual check and an automated end-to-end test that asserts the expiration date column is not present.

### Technical Approach (optional)

- Remove or hide the expiration date column from the table component and any table column configuration.
- Update table CSS/layout to remove gap and ensure responsive behavior across supported viewports.
- Update frontend tests and add an end-to-end assertion to confirm column absence.
- Ensure backend APIs still return expiration date (if needed elsewhere); do not modify API unless required by product decisions.

Enter fullscreen mode Exit fullscreen mode

VoilĆ  ✨! You’ve created your refined ticket!

If you've struggled with ticket quality or time spent on documentation, learning to write better tickets with AI offers a practical solution. Tools like Superwhisper transform the process from a productivity tax into a lightweight investment in team clarity.

Ticket writing doesn’t have to be a productivity tax. With the right tooling and a bit of automation, it becomes a lightweight investment in clarity, collaboration, and long-term velocity. If AI can help us spend less time documenting and more time building, that’s not overhead—that’s leverage.

Top comments (0)