Engineering operations are increasingly a focus for modern software development teams and their leaders. Many of these teams are using Jira for issue tracking, but Jira can be quite complex and confusing if you’re using it to manage and improve engineering operations. In this blog series we’re looking at some best practices that teams use to organize their work and optimize their workflows in Jira. Guide your team to adopt these best practices and you’ll be able to significantly improve visibility and reporting, and take steps to optimize your organization’s engineering operations.
In Part 1 of this series, we dug into ways that teams successfully organize their projects in Jira. In Part 2, we’ll look at best practices for creating structure and increasing visibility within your Jira instance. With visibility into which projects and what types of work are progressing, you can ensure that the team is focused on the highest impact work first.
Setting up a codified hierarchy across teams
When thinking about how to track and organize work, it is useful to create a hierarchical structure. The actual naming conventions around groupings of work here are not really important, and while Stories, Epics, Themes, and Initiatives are “native” to Jira and recommended by Atlassian, we’ve seen success using all sorts of organizational naming systems. We recommend using whatever makes the most sense to you and your organization. The idea here is to have a codified hierarchy that is used across teams and throughout your organization.
Using this standard naming convention:
- Issues are relatively short requirements or small units of work. To be clear, all objects in Jira are known as “Issues,” but here we’re speaking to units of work that an individual can pick up and finish, presumably in one sprint’s time. Some agile teams may call these Stories.
- Epics are groups of related issues. They are larger bodies of work that will take longer to complete
- Initiatives are groups of related Epics, all of which have a common goal
- Themes are groups of related Initiatives, which drive toward an org-wide goal
Using Epics is particularly useful as it clarifies the goal for a particular work item or task and ensures that there is a clear picture of the scope of that work item. In general though, structuring work using such a hierarchical approach can help teams and organizations by extension manage and communicate the scope of work. For managers and directors, this structure helps when creating plans, assessing resource needs, and assigning work at the team and individual levels. When all teams use the same structure, communicating work and progress across teams and to the broader organization becomes simpler. For engineering leaders, hierarchical structure helps relate the engineering work with business objectives and strategy, improving the ability to plan, staff, and align the entire organization, while making reporting on strategic imperatives straightforward.
Classify your Epics by Investment Category, Product Theme, or Business Objective (or all three!)
In addition to a hierarchical structure, creating a classification system for work in Jira that is consistent across the entire business will be important for understanding the breakdown of types of work being done, ensuring that breakdown is in-line with what the company needs strategically and operationally (or re-staffing and re-assigning if not), and planning for product and staffing needs moving forward. The metric for measuring the distribution of a software engineering team’s work across various axes is called Allocation, and it is imperative for leaders to understand how their team’s time and energy is currently focused, and how much capacity they have to take on new projects. Many teams will start measuring one (or more) of these three useful types of Allocation:
- Investment Category looks at how work breaks down across higher-order engineering work categories. Many companies, for example, will track how much work is going into developing new features vs. managing infrastructure vs. fixing bugs vs. customer support issues, etc.
- Product Theme breaks down work done by what strategic initiative within the product it was done to advance. Product themes will differ widely from business to business, but an example of a theme allocation could be engineering effort going into security vs. UI/UX improvements vs. enterprise product readiness, etc.
- Business Objectives measure the engineering work done to advance an organization-level strategic goal. These may be closely related to the initiatives or themes in the hierarchical structure. Some organizations will tie these directly to quarterly or annual goal models such as OKRs. These should be goals like reduce churn, improve the onboarding experience, or re-platform on cloud infrastructure.
The best way to classify epics is by creating custom fields in projects. Custom fields create a tagging mechanism that is simple and clean – it avoids misspellings, mixed case, hyphens, and other variations that make labels messy, confusing, and hard to maintain. They also create consistency in two ways: first custom fields ensure that only the classifications you want to track and measure are being used, and second they are easily shareable across projects. This consistency is essential for measuring and reporting on allocations, and ensuring accuracy for decision making. Ultimately, consistent tagging, measuring, and reporting on allocations will help you ensure that the right resources are staffed to the right work items, and that the work being done will have the greatest impact on the business.
These are just a few ways we’ve seen teams be really successful with Jira. Creating structure can easily increase visibility and lead to surprisingly low-lift ways to improve process, reporting, and engineering operations. In the next post we’ll touch on best practices for improving workflows in Jira.
To learn more about how Jellyfish works with Jira to help drive alignment and improve engineering operations, head over to jellyfish.co.