LogoLogo
Book a demoLog in
  • Swarmia documentation
  • Getting started
    • Get started in 15 minutes
    • Integrations
      • GitHub
        • GitHub Enterprise Server
        • Multiple GitHub organizations
        • Forked repositories
        • Troubleshooting
          • Reinstalling the Swarmia GitHub app
          • Updating app permissions
          • Installing Swarmia outside of GitHub Marketplace
      • Jira
        • Jira Server and Jira Data Center
        • Multiple Jira organizations
      • Linear
        • Private Linear teams
        • Disconnect Linear
      • Slack
        • Private Slack channels
      • Authentication
        • Google Single Sign-On
          • Frequently asked questions
        • Okta Single Sign-On
      • HR systems
      • Data export
        • Data cloud
        • Export data as a CSV file
      • Other integrations
        • Other issue tracker integrations
        • Other source code hosting integrations
  • Configuration and data quality
    • Teams & members
      • Creating & managing teams
        • Teams API
      • Contributors
      • Roles and permissions
      • Inviting team members
    • Pull request exclusions
    • Issue tracker configuration
      • Jira configuration
      • Jira best practices
      • Linear configuration
    • Linking pull requests to issues
    • Investment categories
    • Deployments
      • Generate deployments from merged pull requests
      • Generate deployments from GitHub deployments
      • Generate deployments from GitHub checks
      • Generate deployments via the API
        • Generate deployments for monorepos via the API
    • Sprint configuration
  • Use cases
    • Improve pull request flow
      • Pull request insights
      • Reducing pull request cycle time
      • Review code faster
      • Managing pull requests in progress with the Pull Request view
      • Diagnosing low pull request throughput
      • Analyzing pull request batch size
  • Improve your team's focus
    • Optimizing issue cycle time
    • Analyzing activity patterns on Work Log
    • Grouping activity on the Work Log view
    • Retrospective guide
  • Balance engineering investments
    • Activity and effort-based models
    • Categorizing work
    • Common problems with balancing engineering investment
  • Deliver strategic initiatives
    • Forecasting initiatives
  • Capitalize software development costs
  • Run developer experience surveys
    • Creating a survey
    • Managing surveys
    • Viewing and sharing survey results
    • How we show your survey responses
    • Survey communication guide and templates
  • Track DORA metrics
    • Automatic change failure detection
    • How Swarmia links PRs to deployments
  • Coach software developers
  • Get visibility into your CI pipeline
  • Continuous improvement
    • Working agreements
  • Notifications
    • Team notifications
    • Personal notifications
  • Retrospectives with Swarmia
  • Metrics & definitions
    • Pull request cycle time
      • What's the difference between "Change lead time" and "Pull request cycle time" metrics in Swarmia?
    • Issue cycle time
      • Defining issue lifecycle and cycle time
    • Developer effort (FTEs)
  • DORA metrics
    • Change lead time
    • Deployment frequency
    • Mean time to recovery
    • Change failure rate
  • Throughput
  • Time to deploy
  • Batch size
  • Flow efficiency
  • Scope creep
  • Sprints
  • Frequently asked questions
    • How do you treat weekends in metrics?
    • Tracking squashed commits
    • How do merge queues affect my metrics?
    • Why is my commit not visible in Swarmia?
    • How do I account for people leaving my organization?
  • Resources
    • Security & data retention
      • Data security
      • Data access
      • Swarmia IP Addresses
      • Single Sign-On (SSO) / SAML
      • Can I get a copy of the SOC 2 Type II audit report?
      • Deleting your organization
  • Pricing & plans
    • Compare plans
    • Free plan
    • Do I need a credit card to start a free trial?
    • What are the differences between the individual modules and the standard plan?
    • How do you determine the number of developers for billing?
    • What happens to customers with the Lite plan after the December 2024 pricing and plan change?
  • Changelog
On this page
  • How it Works
  • Configuring your Investment Categories

Was this helpful?

  1. Configuration and data quality

Investment categories

Everything you need to know about setting up your Investment Balance and configuring your organization's categories.

There's a lot going on all the time in most organizations. But are you spending your time on things that matter? Swarmia's Investment Balance helps you find out.

How it Works

The Investment Balance shows activity on pull requests and issues grouped by the configured investment categories and includes both completed issues and merged pull requests. Over a longer period of time, we've seen that these activities are a reliable proxy for understanding development time.

Multiple investment breakdowns

You can configure more than one way to break down your work into distinct sets of categories.

The primary breakdown is meant for the most important categorization you want to track company-wide, is visible everywhere in Swarmia, and has a bunch of tools to help you increase data quality.

You can create additional breakdowns that are available exclusively on the Investment Balance view.

Activities shown in the report are based on the team members

If your team members have contributed towards issues belonging to other teams, those issues will also show up. Think of this as not a bug, but a feature: the team is investing its time somewhere, and the report shows you where that investment goes, even if it's not for the things you might've expected.

How work is grouped by category

We start by looking at all contributions by all team members of the selected team, then determine the investment category based on the rules you've set up.

Then work is grouped by investment category. (These categories are mutually exclusive and collectively exhaustive within any single breakdown.)

If multiple tasks belong to a bigger project, it's possible to have different investment categories assigned to each task and the project as a whole. In this case, we'll show each task in its respective category of work.

Each issue or pull request can link only to one category. All work not linked to a category will show up as uncategorized for the primary breakdown, or the similar last catch-all category for additional breakdowns.

In other words, categories are mutually exclusive and collectively exhaustive.

Determining the category

The logic for determining an issue’s category works in the following order:

  1. Setting the category for the issue manually takes precedence over everything else. (Manual override)

  2. If the issue matches one or more category filters, it will be linked to the top most matching category. You can re-order the categories in settings.

  3. If the issue is a child of another issue (parent) that either matches with category filters or is manually categorized, it will inherit from the parent issue. The inheritance works several steps down the issue hierarchy.

  4. If there are no category matches, the issue will show up as uncategorized.

For instance, if we have the following issue hierarchy with issues uncategorized, with the exception of one bug that matches the filters for KTLO:

If the top epic would then be categorized as New Things, all the uncategorized children of the epic would also get categorized as New Things. Bug 1 (and any children it might have) would not be automatically categorized as New Things (as it matches step 2 in the logic).

If there are no investment category matches of any kind, the issue is considered uncategorized.

The logic for determining a pull request's category is similar:

  1. Linking PRs to categories takes precedence over everything else.

  2. If the PR is linked to an issue that's categorized, the PR is assigned the same category.

  3. If the PR matches one or more investment category filters, it will be linked to the first matching category.

  4. If there are no category matches, it will show up as uncategorized.

Configuring your Investment Categories

  • Company initiatives

  • Product focus areas

  • R&D Capitalization / R&D expenditure

  • Releases, or a company level roadmap (e.g. "Q3")

Setting up your filters

Using our automated filters, you can assign work to categories based on certain criteria.

We support a variety of filter options for both Pull Request data and Issue data.

Your filter might be as simple as this:

But reality is often a bit messier. In a large organization, each team might have their own little quirks in how they track their work. For instance, let's say most teams use Epics and Stories for Roadmap work... but some also use specific labels for that purpose, and one team stubbornly wants to use their custom Jira issue type.

No problem:

Categorizing work items one by one

In addition to being able to categorize work items with automated filters, it is possible to directly choose the category of an issue or pull request for the primary investment breakdown. To do that, select an individual work item in one of the many views in Swarmia, then click on Categorize in the popup if the issue is uncategorized or the issue type dropdown if it is currently categorized, then select the desired category.

Improving categorization rate

A high categorization rate (more than 80% of work categorized) is essential to have good visibility into where engineering time goes. The investment balance view highlights the uncategorized work and makes it easy to assign the right categories for the remaining items.

PreviousLinking pull requests to issuesNextDeployments

Last updated 2 hours ago

Was this helpful?

Automated filters can be configured in a way that makes an issue match multiple categories. In this case, we'll assign it the first category that matches. You can to influence that.

You can configure a set of Investment Categories for you organization in the There are different ways to think of investment categories. Many of our customers use primarily the for balancing engineering investments. Additional approaches to grouping work include:

re-order categories in settings
Organizational Settings.
Balance Framework by Dropbox
Assigning the right investment category to uncategorized items
Swarmia - Bug assigned investment category
Swarmia - Manually assigned investment category
Swarmia - Investment categorization filter
Swarmia - Investment categorization filter advanced
Swarmia - Investment categorization override