As teams grow and projects turn complex, it gets way too easy for things to fall between the cracks; despite project managers getting a lot done in the background to ensure no task is forgotten, and that reports are ready for action.

How do managers keep track of so many variables, especially as companies scale? A significant number of them uses Jira... and some of them use Jira components.

Quick summary:

  • What are Jira components and why should you care?
  • Jira components vs. labels and custom fields
  • Some components examples, because we must
  • How it can be hard using components in Jira
  • How a super components management plugin like Octo can help you manage your Jira components way better


What are Jira components?

Jira components are subsections of a Jira project, used to group an issue into smaller parts. They’re basically the building blocks of your project, and come in handy when you want to generate good reports, i.e. collect useful statistics and be able to group data contextually.

Teams use issues in Jira to track individual pieces of work, be it a simple task (like writing this article),  a software bug, a helpdesk ticket, or even a sick-leave form that HR would want to track. Components can then help organize these issues based on functionality, features, customers, departments and so on.

Jira project components page - Atlassian
Jira components - (image taken from Atlassian

Who uses Jira components?

Software teams use Jira components in a big way of course, but they’re far from being the only beneficiaries. HR, legal teams, even marketing teams benefit from using Jira components. Also, big companies might use Jira components more often to manage their stream of data, because the more data you have, the harder it is to track.

What are Jira components used for?

Components are a great way to structure issues in Jira; especially when you’re working with reporting and automation.  Now, you may think that you could achieve a similar result if you were to use labels or custom fields to tag in Jira but it’s not the same and I’ll tell you why in a bit.

As for why Jira? Well… one of Jira’s strengths lies in the fact that it’s highly configurable, thanks to workflows, issue types and custom fields. You can pretty much customize anything, which is great for Agile teams, but if you’re dealing with multiple teams working across big projects, then it gets a little complicated.

Jira component vs. label

You could use Jira labels to tag your issues. It might be an ok solution when trying to structure issues across multiple projects, but labels can be hard to manage because they’re spread across the organization and anyone can create them.

Jira components vs. label
Jira labels pros and cons

Pros

  • You can use labels across Jira projects
  • You can create as many labels as you want
  • You can filter by labels

Cons

  • Only issues can have labels
  • Anyone can create a label (prone to getting messy)
  • Your labels can be used for other purposes across the company
  • There is no label management screen in Jira
  • Labels are harder to manage than custom fields and components

Jira component vs. custom field

When reporting accuracy is important (in most cases), Jira custom fields are a better idea than labels. Labels can be mistyped, compromising data integrity; not to mention they’re hard to remove.

Jira components vs. custom fields
Jira custom fields - pros and cons

Pros

  • You can create custom fields to capture virtually anything
  • You can display any number of custom fields as you create, edit, view and transition Jira issues
  • You can enjoy a predefined list of options
  • Custom fields can act as filters for Jira issues

Cons

  • Must limit the number of custom fields; if you go over 1,000, Jira’s performance may be affected
  • Admins have to be careful when creating them, and use generic names that can be reused in other places
  • You can only define 55 options to be visible in the dropdown, in team managed projects
  • You're allowed to add as many options as you want in company-managed projects, true, but it can affect performance
  • The custom field is project-specific in team-managed projects

Now that we’ve looked at the pros and cons of using labels and custom fields, let’s see why none of the workarounds mentioned above is a perfect replacement for components.

Components are popular for a few reasons, mainly:

  1. You can view all of your components in the component management page.
  2. You get to define and standardize component names, i.e. skip on typos when using labels.
  3. You can automatically assign an issue based on a component when creating the issue.
  4. You’re free to create an unlimited number of components.

Simply put, components are custom fields that have unique features to help you streamline your process, as well as segment issues in your project.

  1. Components are project specific: the values you create are applied to one project.
  2. Components require a Jira admin or project lead to create or edit.
  3. You can change the default assignees of your components as you create them.

5 tips on how to use Jira components

1. Use components to streamline your process

When an issue needs different people or tools for it to happen, you can use components to bring efficiency into the whole process.

2. Make sure to take your users into consideration

While something may make sense to you, if it doesn't make sense to the ones creating the issues then what's the point?

3. Remember that components require maintenance

Jira admins and project leads can add and update components whenever they like (which means flexibility) but it's the project lead's responsibility to make sure these components stay relevant over time.

4. Avoid vague component descriptions

If you're looking for a seamless filtering experience, use descriptive names to define your components; clarify what they’re being used for.

5. Take it easy when assigning components

Don’t create too many components so that it doesn't get too confusing in Jira. Try to stay within 15–20 per project, depending on the size of your project.

Tips on how to use Jira components
5 tips for Jira components

What are some Jira components examples?

Components can be used to define segments of an app; for example ‘UI’, ‘API’, ‘security’, ‘database’, and so on. Or they could be used as areas of expertise such as ‘systems’, ‘software’ and ‘hardware’.

Basically what you’re trying to do with Jira components is tag special circumstances for which you may want to change the process or create detailed reporting.

Uber: a Jira components example

To give you a components example, take Uber. Say, there are 3 projects: a driver's app, a customer's app and a food delivery app. And under your food app project, you’ve got features like ‘order meal’, ‘special diet’, ‘opening hours’, ‘delivery’ and so on. How will you track all of this information across your different projects? Components; and that’s just one example in a sea of possibilities.

Jira components, the good and the bad
Jira components - pros and cons

What are the difficulties of using components in Jira?

  1. There is no default way to share components across Jira projects; you're basically allowed to link issues from one project only, to the component from that same project. Say, you're developing an app, and Mobile and Web are managed in two different projects yet share a Login API’s component; what do you do?
  2. It's hard to group your components into a structure you can relate to; why? because there is no component hierarchy.  
  3. By default, components don't have versioning functionality available in Jira, which is why we end up looking into some workarounds. The fact that you can't track component releases makes for some limited Jira version reporting.

What is the best Jira components management app?

There are several solutions on the Atlassian Marketplace that could help you manage Jira components, but none is as elaborate as Octo.

Octo is a component management app designed for working with Jira components, with features like component versions, component hierarchy, shared components and so on.

Octo for managing Jira components with ease
Manage Jira components with Octo

If you’d like to know more about the ways in which Octo can help you manage Jira components, make sure to check out this article!

Jira components management is easier with Octo

Jira components, subcomponents, component hierarchy
Jira components management - Octo
  1. Octo allows you to easily create components in Next-gen projects and assign issues to them, not to mention the unlimited hierarchy you get to create thanks to a simple drag & drop feature!
  2. Manage components across all your Jira projects from a single place, via component labels, components versions/releases, and sub-components!
  3. Share components across as many Jira projects as you want given your component version can be linked to many projects (cross-project components).
  4. The secret to good reports is the ability to group useful data contextually. With Octo, you can filter your components by name, status, project and assignee.

What we’re trying to do with Octo is simplify the process of managing Jira components, and make it a little nicer. Simple and easy... simple and easy!

👉 TRY OCTO FOR FREE TODAY

Here's a quick video showcase of Octo features, if you're interested; keep in mind that we have since introduced drag&drop component hierarchy so...