Skip to main content

Someone wanted to learn this too, so Grasp built them a personal learning path.

You can keep exploring this one or create your own

Understanding Epics, Stories, Tasks, and Bugs

Hello! Last time, you distinguished a Jira project, which groups work, from an issue, which records a particular item of work. The next question is what kind of item each issue represents. In this lesson, you will distinguish Epics, Stories, Tasks, and Bugs using their intended roles in software delivery—and see why that distinction matters when reviewing quality data. Allow about 30–40 minutes, including the short resource study and read-only observation.


One issue type, one intended role

Jira’s issue type describes the kind of work an issue is meant to track. It is not its progress or importance: a Bug can be new or completed, and a Story can be high or low priority. Your local Jira may offer additional or customized types, but these four provide a useful starting vocabulary.

Watch the software-delivery example in What are Jira Software Issues: An Overview of Tasks, Bugs, Stories, and Epics, by Vlajko Knezic - vlkedu. It first separates individual work items, then shows how an Epic groups related work.

What are Jira Software Issues: An Overview of Tasks, Bugs, Stories, and Epics

Watch the examples to hear the intended difference between work that adds a capability, work that repairs a failure, and supporting work.

Watch individual issue types for the Story, Bug, and Task examples. Then watch Epic grouping for the larger-feature example. Focus on why each item is classified, rather than on the particular feature names. We will refine the video’s user-facing-versus-supporting distinction below; it is a guide, not an inflexible rule.

For the Jira Software terminology, read Atlassian’s Issue fields and statuses. This is a newer Data Center documentation page; we are using its general issue-type definitions, not assuming its screens or defaults exactly match your on-premise installation.

Issue fields and statuses | Administering Jira applications Data Center 11.3 | Atlassian Documentation

Atlassian’s Jira Data Center issue-type table gives concise definitions against which to check the examples.

In Issue types, begin with the paragraph starting “Your default issue types depend on what Jira application you have installed.” Expand Jira Software issue types, then read the table through its Epic row; stop before Issue priorities. The issue-type definitions are deliberately brief. Pay particular attention to the different purposes of a problem, a piece of work, and a larger item that needs breaking down.

A practical way to classify an issue is to ask what its record is primarily for:

Type Intended role Example in a checkout project
Epic Group a substantial, related body of work that needs to be broken into smaller items. Rebuild checkout
Story Describe a discrete capability or outcome from a user or stakeholder perspective. Customers can pay with Apple Pay
Task Track a discrete piece of work that is not best described as a requested capability or a defect. Upgrade the payments SDK
Bug Record a problem where the product does not behave as intended. Card form rejects valid AmEx cards

A Story need not follow one exact sentence template. What matters for classification is that it expresses a distinct desired outcome that can be discussed and checked. A Task can be essential to delivering that outcome even if users never see the task itself. “Supporting work” does not mean “unimportant work.”

A Bug needs particular care in SQA. If the card form is supposed to accept valid AmEx cards but rejects them, the issue records a failure of intended behavior. If AmEx was never supported and the team now wants to add it, the request is more naturally a new capability—often a Story. Before classifying an ambiguous report, establish what behavior was expected.


How the types fit together

The image below presents the checkout example as an Epic with three related, smaller items.

“Rebuild checkout” is an Epic grouping a Story for Apple Pay, a Task to upgrade the payments SDK, and a Bug concerning rejected valid AmEx cards. The Story, Task, and Bug are shown at the same level.

The Epic answers “Which larger body of work does this contribute to?” The Story, Task, and Bug answer three different questions about individual items: “What capability is wanted?”, “What work needs doing?”, and “What is broken?”

There are two qualifications to keep in mind when reading such a picture. First, a Story, Task, or Bug can exist without an Epic; grouping is useful when it reflects a meaningful larger scope, not a requirement for every issue. Second, the picture does not make a Bug a child of a Story. In the usual Jira Software hierarchy, Stories, Tasks, and Bugs are peers. If a particular Bug is associated with a particular Story, an issue link can record that relationship; we will examine links later.

This also explains a potentially confusing use of the word task. People sometimes say “the tasks under this story” to mean smaller steps. Jira’s Task issue type, however, is ordinarily at the same level as a Story. Jira has a separate Sub-task type for work recorded beneath an individual issue. You do not need to manage sub-tasks today; just avoid assuming that a Jira Task is automatically a Story’s child.


Why classification matters to SQA

Suppose you want to review unresolved checkout defects. A count of Bug issues could be informative, but only if failures have actually been recorded as Bugs and the search includes the relevant scope. If a team records a reproducible production failure as a vague Task, a Bug-only review may miss it. Conversely, a newly requested payment method should not inflate the defect count merely because someone called it a “problem” in conversation.

Issue type therefore helps you select records for review, but it is not proof that each record is complete or correctly classified. For an SQA assessment, inspect the description and expected behavior when the classification affects your conclusion. An Epic can show how related work has been grouped; its existence alone does not show that all associated capabilities were tested or all defects were fixed.

A read-only observation

If you can access Jira, spend 5–8 minutes opening a few issues of different types. Compare each issue’s type with its summary and description. Look for the intended role of the record, without changing it. If an item seems ambiguous, note what information is missing—for example, whether a reported failure contradicts an existing requirement. Interface labels and available types may vary in your installation.

If you do not have access, use the checkout image as a stand-in: notice how its four summaries communicate different purposes even though all concern the same area of the product.


Key takeaways

An Epic groups a larger body of related work. A Story describes a distinct desired capability or outcome; a Task records work to be done; and a Bug records behavior that fails to meet what was intended. Stories, Tasks, and Bugs are generally peers, not a chain of parent and child types. For SQA, type is a useful first way to separate records—but the issue’s content must support the classification before you rely on it.

Next, we will look inside those records at fields such as assignee, reporter, priority, labels, due date, and fix version, and consider what each can—and cannot—tell you during a review.

Can't find a good explanation? Sign up and we'll make it for you

Sign up