DevOps Architecture

[DevOps Architecture] Ticket and Project Management - Epic/Story/Task + 1-Day Granularity

[DevOps Architecture] Ticket and Project Management - Epic/Story/Task + 1-Day Granularity

About this article

As the fifteenth installment (final) of the “DevOps Architecture” category in the series “Architecture Crash Course for the Generative-AI Era,” this article explains ticket and project management.

Tickets are not “to-do lists” but the org’s memory device. Beyond 10 people, individual memory becomes unmanageable, and getting this design sloppy hits the org against cognitive walls. This article handles selection of Jira/Linear/GitHub Issues, epic splitting, sprint design, and release-note linkage as mechanisms that don’t break down even as headcount grows.

What is ticket management in the first place

Picture a hospital reception number. When a patient arrives, a reception number is issued, and symptoms, attending physician, test results, and prescriptions are all recorded linked to that number. Without numbers, confusion of “how far did we examine that patient?” arises, with missed responses and duplicate handling becoming frequent.

Ticket management is the reception-number system for software development. By assigning a unique number to each task and recording who, when, what, and how far it was done, everyone on the team shares the same situational awareness.

Why ticket management matters

Memory can’t manage beyond a certain headcount

A 3-person team can get by verbally, but beyond 10, “who was doing that again?” becomes daily. Without tickets, work duplication, omissions, and priority confusion are unavoidable.

Tracking past context

“Why was this spec chosen?” / “When was this bug reported?” - if discussion and decisions are recorded in tickets, context is traceable even 6 months later. Slack conversations flow away, but tickets remain.

Visualizing and predicting progress

Measuring ticket throughput (velocity) lets you objectively estimate how many weeks until release. Judging by numbers rather than gut feel is ticket management’s strength.

Main tools for ticket operations

Today, ticket-management tools roughly split into 3 lineages. The basic is choosing by the tradeoff between source-code integration and customizability.

ToolCharacteristicsSuited for
GitHub Issues / ProjectsTightly coupled with repos / PRs, freeOSS, web services, new SaaS
GitLab IssuesNative integration if using GitLabGitLab env, enterprise
LinearOverwhelmingly fast UI, modernStartups, studio-style
JiraHigh-feature, de facto standard for large enterprisesLarge scale, regulated industries, complex workflows
NotionUnified with documentationLightweight ops, early-stage startup
Asana / TrelloTask-management-leaningMixed with non-engineer departments

For new SaaS / web services, GitHub Projects or Linear is the front-runner. GitHub Projects was significantly revamped in 2022, with usability approaching Linear. Jira remains strong in large enterprises but easily falls into the custom-field swamp, safer to avoid for new adoption.

3-tier ticket hierarchy - Epic / Story / Task

“Lining up tickets flatly” breaks down at hundreds of items. The industry rule is organizing in 3-tier hierarchy - Jira, GitHub Projects, and Linear all premise this structure.

flowchart TB
    EPIC["Epic<br/>1-3 months<br/>large feature chunk<br/>e.g.: payment redesign"]
    S1["Story #1<br/>1 day-2 weeks<br/>user pays via Apple Pay"]
    S2["Story #2<br/>credit-card payment"]
    S3["Story #3<br/>view payment history"]
    T1["Task: integrate Stripe SDK<br/>(hours-2 days)"]
    T2["Task: payment UI implementation"]
    T3["Task: receipt email"]
    T4["Task: history API"]
    EPIC --> S1
    EPIC --> S2
    EPIC --> S3
    S1 --> T1
    S1 --> T2
    S2 --> T3
    S3 --> T4
    classDef epic fill:#fef3c7,stroke:#d97706,stroke-width:2px;
    classDef story fill:#dbeafe,stroke:#2563eb;
    classDef task fill:#dcfce7,stroke:#16a34a;
    class EPIC epic;
    class S1,S2,S3 story;
    class T1,T2,T3,T4 task;
TierGranularityPeriodExample
EpicLarge feature chunk1-3 months”Payment-feature redesign” / “Passkey-auth introduction”
StoryUnit producing user value1 day-2 weeks”User can pay with Apple Pay”
TaskTechnical work unitHours-2 days”Stripe SDK integration” / “Payment UI implementation”

The iron rule for stories is writing in units completing user value from user perspective. “Integrate Stripe SDK” is a task, not a story - because just SDK integration delivers no value to users. Writing in the template “As a [user], I want [behavior], so that [value]” aligns granularity.

Ticket-granularity pitfall - “completable in 1 day” is the front-runner

Misjudging ticket granularity breaks operations. With 1 ticket = completable in 1 day as the goal, progress becomes visible, PRs are easy to split small, and reviews go fast. Conversely, teams of “1 ticket = 1 week” fall into the state of repeating “80% done” for 3 weeks in progress reports.

GranularityState
HoursToo fine, task-management overhead bloats
1 day (4-8 hours)Front-runner
2-3 daysTolerable as mid-size Story
1 weekConsider splitting
2+ weeksAlways split. Promote to Epic and divide into Stories

The emergence of “80% complete” is a warning that ticket-granularity design is broken. The remaining 20% is often actually 40-60% equivalent, becoming the major cause of sprint delays. Dividing into sizes answerable in the binary of “done / not done” is the front-runner operation.

When told “80% complete,” that ticket is too big. It’s the signal to split.

Story points vs time estimation

Task estimation has two main schools. Time estimation (X hours / X days) and Story Points (relative size in Fibonacci 1/2/3/5/8/13). A long-debated topic, with which is superior depending on situation.

ViewpointTime estimationStory points
Learning costLowMid (need team alignment on number meaning)
Individual-difference absorptionWeak (implementation-speed gaps emerge)Strong (relative comparison, individual differences disappear)
Customer reportingEasyHard (needs time conversion)
Velocity measurementInaccurate (time and completion diverge)Accurate (stable team-unit indicator)
AI-generated estimationRelatively accurateBad for AI (needs team context)

Today, the field’s intuitive balance is time estimation for startups / small scale, story points for mid-large scale / multi-team. Linear and GitHub Projects also support story points. Hybrid operation (estimate in points, report in time conversion) is also a realistic answer many teams use.

Sprint design - 1 week / 2 weeks / Kanban

Whether to introduce “sprints” (a planning-execution-review cycle delimited by fixed periods) or use Kanban (no period, flow continuously) as the dev unit is also a decision item.

MethodPeriodSuited for
1-week sprint7 daysFast iteration, startups
2-week sprint14 daysFront-runner (mid-size, SaaS)
3-4 week sprint21-28 daysLarge scale, regulated industries
Kanban (no period)-Operations-centric, inquiry-based

2-week sprint is the front-runner for mid-size SaaS today. 1-week feels heavy with planning overhead, 3+ weeks lets plans go stale midway. Kanban is “flow management over planning,” suited for SRE teams and operations-centric orgs, but for feature-development-centric teams, no period = no rhythm tends to result, requiring caution.

Backlog priority - operate in 5 tiers

Operating priorities in 3 tiers of “high / mid / low” quickly results in all becoming “high” and not functioning. With 5 tiers + numbers, ordering forcibly emerges.

PriorityMeaningUpper-bound guideline
P0Incident response, immediateAlways 0 ideal
P1Definitely finish in this sprint60% of sprint capacity
P2This sprint if margin available30% of sprint capacity
P3Next sprint or laterNo upper bound
P4Idea pool (may not be done)No upper bound

The state of “10 P1 tickets” is a warning that priorities aren’t functioning. Define “P1 is what definitely finishes this sprint,” and parts exceeding velocity (average completion of past sprints) get demoted to P2 - the iron rule. Priorities aren’t “prayer” but numbers reverse-derived from capacity constraints.

A backlog all P1 is the same as no priorities.

What to write in tickets - phased practice

Ticket bodies tend to polarize into “title only” or “too detailed, no one reads.” Practical to vary content by stage, deciding what to write / who writes at each stage.

StageWhen to writeWhat to writeWho writes
1. SubmissionWhen thought ofTitle and 1-paragraph “want to do”Anyone
2. RefinementBefore sprint planningAcceptance criteria, rough estimatePM + assignee
3. StartSprint startTech-design overview, subtask splitAssignee
4. CompletionAfter PR mergeHow verification was done, screenshotsAssignee
5. ReviewEnd of sprintLearnings, stumbling pointsAssignee

Acceptance criteria (concrete conditions for judging “done”) is most important. “User can log in” is weak; writing in verifiable behavior from outside like “can sign in with Apple ID, first time confirms email, second time onward completes with passkey” is the front-runner.

Velocity measurement - stability is top priority

Velocity (the total of story points or ticket count completed in one sprint) is the indicator measuring “what the team can promise in this period.” It immediately degrades when management sets it as KPI, but is extremely useful for raising in-team planning accuracy.

ViewpointContent
Stability is top prioritySuddenly-rising velocity is a sign of point-padding
See average of past 3 sprintsSingle numbers have no meaning
Don’t make management-reporting KPIPoint / ticket-count inflation occurs
Don’t show individual velocityTying to individual evaluation stops cooperation

If velocity suddenly rises 20%+, point-padding, incident-response concealment, or ticket-granularity collapse is likely happening. Velocity is a prediction tool, not an evaluation tool - breaking this line makes all org numbers untrustworthy.

Ticket-operation antipatterns

Ticket operations rapidly degrade when culture collapses, even with structure ready.

AntipatternWhy it’s bad
All requests via Slack DMUnsearchable, others can’t see, forgotten
Permanent neglect after submissionBacklog turns into “list of dead hopes”
All PR = 1 ticket required, no exceptionsOperational load bloats for emergency hotfixes / minor fixes
Management makes ticket count / points KPIPoint-padding, ticket-fragmentation
Vague definition of done (no spec)Disputes over “done / not done”
Backlog-triage neglectHundreds of tickets from a year ago remain

Running backlog triage (periodically reviewing the backlog and closing unneeded tickets) monthly is the front-runner. P3/P4 tickets neglected over a year can be closed in principle. Leaving them piles up “lists of lost-motivation dreams” and buries truly important tickets.

Ticket-operation numerical gates / sprint metrics

Note: Industry baseline values as of April 2026. Will become outdated as technology and the talent market shift, so requires periodic updates.

Ticket operations are standardly disciplined by numbers. Below are mid-size SaaS standards.

MetricRecommendedWhat to do if exceeded
1-ticket granularity1 day (4-8 hours)Force-split over 2 weeks
1 PR lines~400Split over 1000
Sprint period2 weeks1-week excessive planning, 3-week stale plans
P1 ticket count60% or less of sprint capacityCapacity over: demote to P2
Sprint completion rate80%+Under 50% three times in a row suspects granularity collapse
Velocity variationWithin Âą20%Rapid increase signs point-padding
Backlog stagnation1 year or lessP3/P4 over 1 year close in principle
Triage frequencyMonthlyUnimplemented becomes graveyard backlog
Acceptance-criteria-stated rate100%Unstated leads to “done” disputes
Ticket submission to PR merge1-3 daysOver 1 week, review granularity

“80% complete continues 3 weeks” is the certain sign of ticket-granularity collapse. All-P1 backlog equals zero priority - the standard cause of mid-size SaaS achievement-rate dropping below 50%.

Ticket-granularity goal is completable in 1 day. Split into sizes answerable in the binary of “done / not done.”

Ticket-operation pitfalls and forbidden moves

Typical accident patterns in ticket operations. All result in org memory accumulating in individual heads.

Forbidden moveWhy it’s bad
No tickets in 3+ person teamsBeyond individual-memory limits, frequent forgetting
Chat operations with Slack DM requestsUnsearchable, others can’t see, forever forgotten
All-P1 backlog operationSame as no priorities, 30+ carryover per sprint
Ticket granularity over 2 weeksHell of “80% complete” continuing 3 weeks
No acceptance criteria”Done” disputes, quality varies
Management makes ticket count / points KPIPoint-padding, ticket-fragmentation, numerical degradation
Show individual velocity for evaluationCooperation stops, point-grabbing
No backlog triageHundreds of dead hopes from a year ago remain
Adopt Jira for mid-size startupsCustom-field graveyard, operational-cost bloat
Just install tools without operational designTools first, operation later always fails
Line up Epic / Story / Task flatBreakdown at 100+ items, 3-tier hierarchy required
Assume “small orgs don’t need ticket ops”Beyond 3 people, memory limits are exceeded and forgetting incidents become frequent
Think “putting in Jira or Linear improves ops”Putting high-feature tools into teams without settled granularity, priorities, and acceptance criteria just adds custom-field graveyards

Cases of “achievement rate dropping below 50% with 100+ P1 tickets” frequently occur in mid-size SaaS. Just redefining P1 as “what’s promised to complete this sprint” and force-limiting from velocity recovers achievement rate to over 90% - the power of operational design.

Priorities are not prayers but reverse-derived from capacity constraints. Decide by math.

AI decision axes

AI-favoredAI-disfavored
Tools with API / CLI / MCP support like GitHub IssuesTools with no API, GUI only
Structured acceptance criteriaFree-form long requirements
Granularity passable to AI per Story10 features mixed in 1 ticket
Linkage with Conventional CommitsCommits unrelated to tickets
  1. Organize in 3-tier Epic/Story/Task - hierarchical, not flat
  2. 1-day granularity as goal - “80% complete continuing 3 weeks” is granularity collapse
  3. Reverse-derive from velocity in P0-P4 - P1 to 60% of capacity
  4. State acceptance criteria 100% - function as instruction to AI

What to decide - what is your project’s answer?

For each of the following, try to articulate your project’s answer in 1-2 sentences. Starting work with these vague always invites later questions like “why did we decide this again?”

  • Ticket-management tool (GitHub Projects / Linear / Jira / Notion)
  • Ticket-hierarchy operation (Epic / Story / Task)
  • Ticket-granularity goal (1-day completion as goal)
  • Estimation method (time / story points)
  • Sprint period (1 week / 2 weeks / Kanban)
  • Priority hierarchy (P0-P4)
  • Acceptance-criteria template
  • Backlog-triage frequency (monthly recommended)

Author’s note - “all P1” that killed a release plan

There’s a case at a mid-size SaaS where the backlog was filled with 100+ P1 tickets, and quarterly plans dropped achievement rate below 50% three times in a row. The cause was the vague operation of “important things are all P1,” resulting in deciding what to start on at sprint start, with 30-40 P1 carryovers untouched every sprint.

This team redefined P1 as “what’s promised to complete this sprint” and force-limited P1 count from velocity, recovering achievement rate to over 90%. Just laying down the rule “P1 upper bound is 60% of sprint capacity” makes priority design work. Priorities aren’t prayers but reverse-derived from capacity constraints - this paradigm shift recovers organizational predictability.

Priorities are math. Deciding by feel makes everything “high.”

Summary

This article covered ticket and project management, including tool selection, 3-tier hierarchy, granularity, sprints, priorities, velocity, and AI-era MCP integration.

Organize in 3-tier Epic/Story/Task, 1-day granularity as goal, reverse-derive from velocity in P0-P4, state acceptance criteria 100%. That is the practical answer for ticket operations in 2026.

And this was the final installment of the “DevOps Architecture” category. Next time we’ll start a new category (Enterprise Architecture).

Back to series TOC -> ‘Architecture Crash Course for the Generative-AI Era’: How to Read This Book

I hope you’ll read the next article as well.