Title Guidelines
Purpose
Consistent ticket naming is the foundation of effective project management. This document establishes clear naming conventions for all Jira tickets across our Digital Innk applications—ViSN, DI Admin, and associated systems.
Why naming conventions matter:
- Searchability: Find tickets quickly using consistent patterns
- Clarity: Understand ticket scope at a glance
- Reporting: Generate accurate metrics and analytics
- Collaboration: Enable seamless communication across teams
- Traceability: Track feature evolution and bug patterns over time
This convention applies to all ticket types (User Stories, Tasks, Bugs, Sub-tasks) across all environments (Dev, Develop, Demo, Regression, UAT, and Production).
Standard Naming Structure
Every Jira ticket title should follow this hierarchical pattern:
[nn] > [AppName] > [Module] > [Submodule] > [Screen/Page] > [Short Title] (Env: [Environment])
Visual Example
05 > ViSN > V-Customer > Grey Fleet > Add Vehicle Modal > Searchable Driver Dropdown
│ │ │ │ │ │
│ │ │ │ │ └─ What: Clear action/feature
│ │ │ │ └───────────────────── Where: Specific screen
│ │ │ └────────────────────────────────── Area: Sub-section
│ │ └─────────────────────────────────────────────── Domain: Main module
│ └────────────────────────────────────────────────────── App: System name
└─────────────────────────────────────────────────────────── Ordering of stories for epics
Component Breakdown
| Component | Description | When to Use | Example |
|---|---|---|---|
| Number [nn] (optional) | Two-digit serial number for stories within an epic | Use when tickets belong to an epic and need logical ordering | 01, 02, 05, 10, 99 |
| AppName (required) | The primary application or system | Always include to distinguish between different platforms or projects | ViSN, DI Admin, Imports, Tech |
| Module (required) | The main functional domain within the application | Identifies the high-level area of functionality | V-Customer, V-Supplier, V-Admin, Reports |
| Submodule (optional) | Specific feature area or workflow within the module | Use when the module contains multiple distinct areas | Grey Fleet, Job Sheet, Sub-Customer, Walk-In, Savi, DI Network Terms |
| Screen/Page (optional) | The specific UI element, screen, or page | Include when relevant to pinpoint the exact location | Add Vehicle Modal, Home Page, Group Details, View, List Page |
| Short Title (required) | Clear, concise description of the work or issue | Always provide a brief but complete description | Searchable Driver Dropdown, Button unclickable, Rename field label |
| Environment (optional) | Where the issue was found or fix should be deployed | Include for bugs and production issues; format as Dev:FixVersion or standalone | Dev:Tiger, Dev:Wallaby, Develop, Demo, Prod |
The hierarchy flows from broad to specific: Application → Domain → Feature → Location → Action. This structure makes it easy to filter and group tickets at any level.
Real-World Examples
User Stories for Epics
When tickets are part of an epic, use two-digit prefixes to maintain logical ordering:
05 > ViSN > V-Customer > Grey Fleet > Add Vehicle Modal > Searchable Driver Dropdown
10 > ViSN > V-Customer > Grey Fleet > Add Vehicle Modal > VIN Validation on Submit
15 > ViSN > V-Customer > Grey Fleet > Vehicle List > Filter by Registration
Why use numbers?
- Maintains logical sequence when viewing epic contents
- Makes sprint planning discussions easier ("Let's tackle tickets 05-10 first")
- Helps identify dependencies and story order
User Stories Numbers
For standalone stories
ViSN > V-Supplier > Job Sheet > Create Job Line > Add Labour Hours Field
DI Admin > V-Admin > User Management – Allow bulk user invitation
Tech > ViSN > V-Supplier > Data Exercise – Copy services from lease to root level
Bug Tickets with Environment Tags
DI Admin > V-Supplier > Savi > Allows duplicate invoice submission to Quickbooks (Dev:Tiger)
ViSN > V-Customer > Grey Fleet > Home Page > 'View All Expiries' button unclickable (Dev:Wallaby)
DI Admin > Group > View > Field label incorrect (Prod)
Environment tag guidelines:
- Dev:FixVersion – Bugs found during development, tagged with fix version name
- Develop – Issues in the develop environment (probably during regression)
- Demo – Issues discovered during demos or stakeholder reviews
- Prod – Production bugs affecting live users (highest priority)
Technical/Infrastructure Stories
Tech > ViSN > Infrastructure > Upgrade Node.js to v20
Tech > DI Admin > Database > Add index on supplier_id column
Tech > Exports > IPP Exports> SFTP > Configure SFTP for Kwikfit IPP files
Before and After: Title Improvements
Learn from these real-world improvements to understand what makes a good ticket title.
Example 1: Group Field Rename
Title Used ❌
[FIS] - [DI-Admin > Group] - Need to replace "Supplier Transaction Export" text to
"IPP Kwikfit transactions export" on Group Details screen.
Problems:
- Unnecessary brackets and tags
- Uses "Need to replace" instead of direct action
- Too verbose and includes full sentences
- Hard to scan and search
Suggested Title ✅
DI Admin > Group > View > Rename "Supplier Transaction Export" to "IPP Kwikfit transactions export" (Prod)
Improvements:
- Clean hierarchical structure
- Clear action verb ("Rename")
- Concise yet complete
- Environment tag at the end
- Easily searchable
Example 2: Grey Fleet Button Issue
Title Used ❌
[FIS]-[Dev]-V-Customer-Grey Fleet > Home Page > 'View All Expiries' button is unclickable
in the 'Expiring Soon (Next 30 Days)' panel
Problems:
- Inconsistent delimiter usage (hyphens and brackets mixed)
- Environment at beginning instead of end
- Over-explains the context
- Panel name adds unnecessary detail
Suggested Title ✅
ViSN > V-Customer > Grey Fleet > Home Page > 'View All Expiries' button unclickable (Dev:Wallaby)
Improvements:
- Consistent use of
>delimiter and–separator - Application name (ViSN) included
- Environment at end with fix version
- Removes unnecessary context
- Focuses on the actual issue
Example 3: Typo in Ticket Title
Title Used ❌
99 > DI Admin > V-Supplier > DI Network Terms > Add vehilce type drop down
Issue: Typo - "vehilce" should be "vehicle"
Corrected Title ✅
99 > DI Admin > V-Supplier > DI Network Terms > Add Vehicle Type Dropdown
Additional improvements:
- Fixed typo
- Capitalized "Dropdown" for consistency
Writing Effective Ticket Titles
The Anatomy of a Great Title
A well-written title should answer three questions at a glance:
- Where? Which part of the system is affected?
- What? What is the change, feature, or issue?
- When/Why? (Optional) In which environment or context?
Title Writing Checklist
Before finalizing your ticket title, verify:
- Length: Under 100 characters (aim for 60-80)
- Hierarchy: Follows the
>delimiter pattern consistently - Clarity: Someone unfamiliar with the context can understand the scope
- Action: Uses clear verbs (Add, Fix, Update, Remove, Rename, etc.)
- Specificity: Includes enough detail to be searchable
- Environment: Includes environment tag for bugs and prod issues
- Grammar: Free from typos and grammatical errors
- Case: Uses sentence case (not ALL CAPS or all lowercase)
Best Practices
✅ Do's
Structure and Format:
- Use consistent delimiters:
>for hierarchy,–for action separator - Keep titles under 100 characters: Aim for 60-80 for optimal readability
- Use sentence case: "Add vehicle dropdown" not "ADD VEHICLE DROPDOWN"
- Include specific screen names: "Add Vehicle Modal" not just "modal"
Content and Clarity:
- Be specific and descriptive: State exactly what the change or issue is
- Use action verbs: Add, Fix, Update, Remove, Rename, Implement, Refactor
- State the behavior clearly for bugs: "Button unclickable" not "Button issue"
- Include the environment for bugs: Always tag with Dev:Version, Demo, or Prod
- Focus on the "what": Describe the feature or issue, not how to fix it
Examples of Good Action Verbs:
Add – Add validation to VIN field
Fix – Fix duplicate invoice submission
Update – Update invoice export format
Remove – Remove deprecated payment method
Rename – Rename field label from X to Y
Implement – Implement searchable driver dropdown
Refactor – Refactor authentication logic
Migrate – Migrate data from legacy format
❌ Don'ts
Avoid These Common Mistakes:
- Vague terms: "issue", "problem", "fix this", "update thing"
- Square brackets:
[FIS],[Bug],[Feature](use components instead) - Environment at start:
[Dev]at the beginning (put at end instead) - Multiple delimiters: Mixing
-,>,/,|(stick to>) - Redundant words: "Need to", "Should", "Must", "We need"
- Full sentences: Keep it concise, not "We need to add a button that allows..."
- Implementation details: "Using React hook form" (save for description)
- Jargon without context: Avoid acronyms unless universally understood
- Forgetting environment on bugs: Production bugs must have (Prod) tagBug Tickets with Environment Tags
Examples of Poor Titles:
❌ Fix bug in system
❌ Update page
❌ [FIS] - Need to add validation
❌ V-Customer issue with button
❌ Create new feature for customers that allows them to search for vehicles
Environment Tags Deep Dive
Understanding when and how to use environment tags is critical for prioritization and bug tracking.
Environment Tag Reference
| Environment | Format | When to Use | Example |
|---|---|---|---|
| Dev:FixVersion | (Dev:Tiger) | Bug found during active development in a specific sprint/version | ViSN > V-Supplier > Job Sheet – Total calculation incorrect (Dev:Wallaby) |
| Develop | (Develop) | Issue in the shared development environment | DI Admin > Login – Session timeout too short (Develop) |
| Demo | (Demo) | Issue discovered during stakeholder demo or UAT | ViSN > Reports > Compliance – Chart not loading (Demo) |
| Prod | (Prod) | Live production issue affecting real users | DI Admin > Invoices > Export – Missing records (Prod) |
Production bugs (Prod) always take highest priority as they directly impact customers and business operations. These should be addressed immediately, often requiring hotfixes outside the normal sprint cycle.
When NOT to Use Environment Tags
Environment tags are optional for:
- New feature stories: Focus on the functionality, not where it's deployed
- Technical tasks: Unless environment-specific configuration is needed
- Documentation updates: These aren't environment-dependent
- Refactoring stories: Unless the refactoring targets a specific environment
Quick Reference Guide
Template for Copy-Paste
Use this template when creating tickets:
[nn] > [AppName] > [Module] > [Submodule] > [Screen] > [Action] [Description] (Env)
Real-World Templates
Feature Story:
05 > ViSN > V-Customer > Grey Fleet > Add Driver Modal > Add email validation
Bug in Development:
ViSN > V-Supplier > Job Sheet > Job Lines > Cannot delete last line (Dev:Tiger)
Production Bug:
DI Admin > Invoices > Export > Duplicate records in daily export (Prod)
Technical Task:
Tech > ViSN > Database > Add composite index on enquiry_status and created_date
UI Fix:
ViSN > V-Customer > Home Page > Align buttons on mobile view (Demo)
Common Scenarios
Scenario 1: Renaming a Field
Context: A field label needs to be changed across the application
Good Title:
DI Admin > Group > View > Rename "Transaction Export" to "IPP Export"
Why it works:
- Clear location (Group > View screen)
- Action verb (Rename)
- Shows both old and new values
- Concise and searchable
Scenario 2: Complex Multi-Page Feature
Context: Adding a new multi-step workflow
Approach: Break into multiple tickets with sequential numbers
01 > ViSN > V-Customer > Onboarding > Create welcome screen
02 > ViSN > V-Customer > Onboarding > Add company details form
03 > ViSN > V-Customer > Onboarding > Implement vehicle import wizard
04 > ViSN > V-Customer > Onboarding > Add confirmation and summary page
Why this works:
- Numbered for logical ordering
- Each ticket is independently deployable
- Clear scope per ticket
- Easy to track progress
Scenario 3: Critical Production Bug
Context: Users cannot log in after deployment
Good Title:
ViSN > Authentication > Login > Users logged out after 2 minutes (Prod)
Immediate Actions:
- Create ticket with
(Prod)tag - Set priority to Critical
- Assign to dev as a priority
- Add detailed steps to reproduce in description
- Link to error monitoring dashboard (if available)
Ticket Title Evolution
As tickets move through their lifecycle, the title should remain stable. However, here's when updates are acceptable:
✅ Update titles when:
- Typos are discovered
- Scope becomes clearer during refinement
- Location/module is corrected
❌ Don't update titles when:
- Implementation approach changes (that's for description)
- Assignee changes
- Sprint changes
- Additional requirements are discovered (create new tickets instead)
Jira tracks all title changes in the ticket history. This creates an audit trail, so don't worry about making corrections when needed.
Integration with Jira Features
Epic Grouping
When creating epics, use the same naming convention:
Epic: ViSN > V-Customer > Grey Fleet > Complete Vehicle Management Redesign
Child Stories:
01 > ViSN > V-Customer > Grey Fleet > Add Vehicle Modal > Searchable Driver Dropdown
02 > ViSN > V-Customer > Grey Fleet > Vehicle List > Add advanced filters
03 > ViSN > V-Customer > Grey Fleet > Vehicle Details > Redesign layout
Benefits of Following These Guidelines
Consistent naming provides measurable benefits:
| Benefit | Impact |
|---|---|
| Faster Ticket Discovery | Reduce search time from 2-3 minutes to 10-15 seconds |
| Clearer Sprint Planning | Understand scope without opening every ticket |
| Better Reporting | Generate accurate module-wise metrics |
| Improved Handoffs | New team members understand tickets immediately |
| Historical Analysis | Track feature evolution and bug patterns over time |
| Stakeholder Communication | Share sprint progress with clear, professional titles |
Summary
Following these naming conventions will transform tickets into a well-organised, easily navigable system.
When in doubt, ask yourself: "Can someone unfamiliar with this work understand the scope from the title alone?"
If the answer is yes, you've written a great ticket title. 🎯
Status: Approved
Category: Protected
Authored By: Vishwa Kumar
Last Updated: November 11, 2025
Version: 1.0
Revisions