“I have over 3,000 custom fields and everyone says I need to talk to you.”
That was one of the comments we heard at Atlassian Summit. It’s true. ProForma is a great way to have all of the custom data, without the custom fields. ProForma forms embed in Jira issues, allowing you to include all of the fields you need, without cluttering your Jira instance or degrading Jira’s performance.
We think simplified Jira administration, particularly with regard to custom fields, is one of the key benefits of using ProForma, and something we’ve discussed in previous articles:
However, talking to Jira Administrators at Summit made us realize that we’ve neglected a big part of the problem. You don’t just need a way to limit the addition of new custom fields, you need a way to deal with the ones you already have. So we’ll be focusing our upcoming content on how to deal with custom field bloat. Once again, we’ll be teaming up with author and Jira super-user, Rachel Wright. Rachel worked with us on a previous series of articles, which is now available as the Effective Jira Administration book. We’re looking forward to tapping into her expertise on managing Jira custom fields.
Cleaning up Jira Custom Field Bloat
Regardless of whether you’re using Cloud, Server or Data Center, our series will offer step by step guidance for:
Find out exactly what custom fields you have, what project(s) they’re in and if/how they are used.
Triage The next step will be to categorize your custom fields. You’ll sort out how the custom fields were created (by an admin, an add-on, etc.), whether or not they’re duplicates, if they contain errors, and how they are used. We’ll outline the process for sorting your custom fields into ones that stay, ones that go, and ones that get converted.
Conversion Next, we’ll outline a process for converting needed fields to ProForma, for merging duplicate fields, fixing errors and for retiring fields that are no longer needed.
Documentation Finally, we’ll make sure that you’re left with an easily accessible map that will show which custom fields remain and which were converted to fields on ProForma forms. Having this information at your finger tips will make it easier to respond to requests for new custom fields.
The goal is that by the end of the process, your teams will still be able to collect all the data they need, but you’ll have your custom fields down to a manageable number. (You get to decide what that number is.)
For those of you using Jira Cloud, we’ll also discuss strategies for how to manage custom fields (and Jira administration in general) now that any user can create independent projects. (If this makes you nervous, you’re not alone.) We’ll focus on communication strategies and ways to educate users about best practices in Jira, with the aim of being “open”, without opening up a huge can of worms for Jira administrators.
ThinkTilt and Rachel Wright, author of the Jira Strategy Admin Workbook, proudly announce our newest collaboration “Effective Jira Administration“. This 64 page book helps you bring the benefits of Jira to more teams in your organization. We’ve assembled our best advice and included the topics:
Who’s in charge? Jira Governance for Business Teams
Who Does What in Jira? System, Application & Project Admins
Creating & Managing a Jira Support Project
Four Jira Workflows for Business Teams
Best Practices for Creating a Custom Workflow
Jira Custom Fields and Their Alternatives
4 Ways Adding Forms to Issues Amps Up the Power of Jira
Keeping Track of it All: Jira for Asset Management Managing a Jira Upgrade
Atlassian just announced a new feature for Jira Cloud users: anyone can create a project, issue type or custom field. No need to engage the admin team! When I heard this at the Summit user conference, I cringed at the thought of cleaning up the new messes that end users will inevitably create. I’ve spent many years fixing poor decisions made by applicationadmins and now end users, with even less knowledge and application management experience, are unleashed on the config? Yikes! A fellow conference attendee sitting near me exclaimed “but I just got our application cleaned up” and let out a large sigh. Atlassian also announced the 2,000 Cloud user limit is upped to 5,000 users. Now even more people can create a bigger mess!
A theme throughout the conference was “open.” It means being open in your communication, your intentions, open to new ideas, and more. I enjoyed that talk and I took it seriously. So, I’ve challenged myself to reject my original pessimism, embrace this change, and find the good in it. I spoke with a Jira Software representative at Summit but initially that didn’t ease my fears. It wasn’t until I tried out the new project creation feature that I calmed down, the fear subsided, and I saw the potential. I can appreciate Atlassian trying to simplify a complex process and free up time for busy application administrators. This also aligns with the concept of added workflow and screen editing abilities introduced in Jira Server versions 7.3 and 7.4. And yes, I was scared of those changes at first too. But guess what? The world did not explode and I didn’t have to fix too many botched workflows. 😉
Good to Know
These new project abilities are configurable. It’s a global permission, so you can decide which groups receive the power. You don’t have to use the default “Anyone” setting.
Projects created with this method are structured totally different from previously created projects. These projects are independent entities that don’t impact or share schemes with the other types of projects. I know what you’re thinking: sharing schemes is “the way” to easier maintenance! It will be interesting to learn how best to manage projects built in two very different ways.
I created a project of this new type, created a new issue type, and a created a new custom field. Since these objects are decoupled from global settings, there’s nothing I’ll actually have to clean up later at the application level. For example, there’s no new entry on the Admin > Issues > Custom Fields page. I wonder how these objects are stored? Since this is Cloud, I can’t access the database to see.
The new issue type creation wizard prevents you from creating an issue type that already exists, which is great news. See screenshot. But, it can’t prevent other “human caused” problems, like dupes (think “Bug” vs. “Defect” in the same project), plurals, and misspellings.
As a test, I created a new issue type and called it “Epics” (with an “s”.) Now the test project has both “Epic” (which has the special association behavior you expect), and “Epics” which is simply a standard issue type. It’s not pretty but luckily this unfortunate action is constrained to the project where the issue type was created. All users will see both options in the JQL search however.
I also created a custom field with the new fields designer feature. I created a field called “Date” and selected the type as “Text” instead of “Date” like it should be. It’s a common mistake and end users are bound to make it. In the screenshot, you can see my lovely new field on the right and its purposefully ridiculous value. Again, since this unfortunate decision is constrained to the project, maybe it’s not too much of a problem. This team won’t be able to properly sort or query data in this field, but it’s not the end of the world.
This leads me to my only real gripe. Atlassian also announced a project archival feature (yay!), but it’s only for the Data Center version of Jira. I think the Cloud version needs this feature now more than ever!
What happens when all your users create their own personal projects for every little item on their “to do” list? How does an application admin clean those up when they aren’t needed or when the creator leaves the company? What happens when you visit the “all projects” list and there are 500 more entries than there were yesterday? How does a user know which “Marketing” project to file their issue in, now that there are 5 to choose from? I’m not sure there’s a good way (yet?) to manage these scenarios. A bulk clean up tool is really needed.
Also, my Cloud instance is very small, yet very slow. I know performance is improving and is a priority. But I worry that adding all these extra elements (even the cool new stuff) could slow it down even more.
After my very brief look into the new features, I’m willing to be open. Change is hard but I’m choosing to embrace it. New concepts and features certainly deserve a fair shot. It will be interesting to see what, if any, issues arise and how application admins can best address them.
What do you think? Are you open to this change? What are some pros, cons, scenarios, and considerations? Post your opinions in the comments field below.
Learn more about these features in this post or watch the Summit keynote starting at 1:02:50.
A Jira issue was created, but its been a week and you’ve heard nothing. The issue hasn’t been updated and you can’t tell if anyone’s seen the issue, triaged it, started work, or done “something” to get it addressed in the near future. Does this sound familiar?
When issues stagnate, it may be because the needed expectations haven’t been set. Leadership needs to make sure overall Jira engagement and Project Leads need to play a large role in triaging and managing issues in their individual projects. Here are 9 tips for setting the right expectations and getting users to take action in Jira.
1. All work is logged in Jira
It is hard to track initiatives, capacity, and resource allocation when work is stored in multiple systems. Strive to decommission old systems and banish low tech tracking methods like spreadsheets and Post-it notes. You need “one source of truth” for everything teams are working on.
In meetings, emails, and chats about tasks, encourage users to provide the Jira issue ID for the item they are discussing. Repeat the phrases “Which Jira issue are we talking about?” and “If it’s not in Jira, it’s not real!” it becomes reality.
2. Users login to check their issues at least once a day
A tool is just a tool. It takes human action and engagement to make it work in your organization. If users aren’t regularly logging in, they are missing what is going on around them.
Make sure users are proactively logging into Jira to review issues created and assigned to them. Waiting around for Jira to send email notifications is reactive. Jira info in email quickly becomes out of date. Email should be treated as supplemental information and never be the primary engagement method.
3. The “Assignee” takes action
Each issue has an assignee. The name in that field is the person who needs to take action. If the name is incorrect or reads “Unassigned”, it’s easy to reassign the issue to the correct person.
Other users should feel empowered to update or correct issue data, even if they are not the current assignee.
4. The “Reporter” is ultimately responsible for the issue
You cannot create an issue and walk away, expecting the issue to champion and remedy itself. The “Reporter” is responsible for the issue from conception to completion. If the reporter is no longer the responsible party, it’s easy to update the issue to the correct person. And don’t worry – Jira keeps a record the original creator in a separate field.
5. Share the assignment strategy
There are many ways issues get assigned in Jira. Each project has a default assignee setting. The default assignee can either be the Project Lead, or it can have a value of “Unassigned.” The former is typically used when the team lead will triage issues and assign them to the correct team member. The latter is sometimes used when the whole team is expected to review the issues and assign the ones they can work on to themselves.
Additionally, there’s a third assignment strategy, using Components. Each Component can have its own lead and issues can automatically be assigned to that person. For example, James does all the contract work for the Legal team. When an issue is created in the LEGAL project, any issues where the “Contracts & Agreements” component is selected will be automatically assigned to James.
Finally, avoid the trap of assigning issues to a generic Jira user, like a user named “Legal Team”. It’s often true that if an issue is assigned to everyone, it’s assigned to no one. How are issues assigned in each project in your organization? Make sure users know so they know how to act.
6. Utilize issue views
Jira provides many ways to users to see issues. All users should know how to login and go straight to the Default System Dashboard. This serves as a good starting place to see recent activity and issues assigned. The Jira administration team can further customize the default dashboard to add elements to make it even more useful.
Users can also create their own custom filters, filter subscriptions, dashboards, and boards. Encourage each team or department to have a dashboard or board they share and monitor regularly. Users can bookmark or “favorite” these locations to make them easy to return to.
7. Use statuses, backlogs, versioning, and dates
Statuses, backlogs, versions, and dates all communicate when an issue will be addressed. Each issue’s status must reflect reality. Users need to transition issues forward in the workflow as they work them. Completed issues must reach the “Closed”, “Done” or similar final status.
Every Jira project should have a backlog – a place to put issues not addressed immediately. If a team member finishes work early, encourage them to review the backlog, to see if an issue can be accommodated earlier in the schedule.
If an issue is not in the backlog, it means it is being actively worked. Development teams should utilize the “version” functionality to assign issues to a specific release target. Non dev teams can also leverage versions. Example: A Marketing team has a version called “Q1” representing all the work targeted for January through March.
Used a custom field (Example: Requested Date) to collect the issue’s proposed completion date. Use the “Due Date” field to indicate when an issue will actually be completed or released.
8. Tag users, share issues, and add watchers
To get a user’s attention, tag them in an issue’s “Description” or “Comments” field. Use the “@” symbol to mention a specific user. They will get an email about the mention.
Need to alert someone to an issue? Use the “Share” button at the top right to send them an email.
Add yourself or a colleague to the issue email update notifications by making them a “Watcher” of any issue.
Again, emails are often lost, delayed, or out of date by the time they are read. Users should always login to Jira for real-time information.
9. Check progress in team meetings, standups, and scrums
The key to success is communication. Each team meeting should include a discussion of what’s being worked now and what’s being worked next. Launch Jira in your meeting and review the issues on the team dashboard. Take the time to discuss any unassigned issues in your Jira project and regularly groom your backlog.
Team leads need to regularly monitor their Jira project and follow up on stagnant issues.
The key to Jira success is engagement, setting expectations, and regularly monitoring issues. All users should feel empowered, be proactive, update issues, correct information, and contribute to the health of the application and its data.
What are your tips? Share them in the “Comments” section below.
Everything must come to an end. One could say that FY2018 is about to reach its resolution. (I’ll let you decide if want to mark it off as Fixed, Won’t Fix or simply Done.) The end of the year is a traditional time for stock-taking as we prepare for a fresh new start. You can apply that to your Jira application as well.
Cleaning Up Your Jira Application
Use the end of the year as an opportunity to check for and clean out stagnant Jira assets. Sometimes projects get abandoned instead of being properly closed out. This can happen when the organization’s priorities change or when teams reorganize. Sometimes an initiative that was tracked in Jira is completed and teams who are anxious to carry the momentum into the next project may forget to close out the previous one.
While you’re doing the high level assessment and clean up, you can encourage Project Leads to take a look at their active projects and see if any clean up needs to be done there. Rachel recommends checking for things such as:
Accurate and useful components (and component Leads)
Stagnant issues (haven’t been updated in x days)
A neglected backlog
An accurate listing of team members
This is also an opportunity to see if any adjustments (big or small) should be made to make the system more helpful. Are the filters, boards and dashboards useful? Could they be more useful if you made a few minor changes? Does the project configuration still fit the team’s needs? Are there any customizations that the team would like to have? Any painful processes that could be eased with the addition of the right app/plugin? Now is a good time to take a look.
What You and Jira Accomplished this Year
Year end is also an opportunity to compile and analyze a few statistics on how Jira is used within your organization. In fact, regular and thorough documentation will not only demonstrate how important Jira (and therefore the Jira support team) is to your organization, it will help you predict future needs. In addition to an Annual Report form, Rachel has also created a Jira Use and Future Predictionsworksheet which will help you document Jira usage over time.
Expanding Jira to Business Teams
While you’re making those predictions, consider whether Jira could benefit more teams in your organization. Many companies use Jira or Jira Service Desk not only for software or IT support, but also to manage HR, finance and facilities related processes.
Expanding Jira to other business teams doesn’t have to be an administrative nightmare. The simple addition of forms, available through the ProForma app, means that teams can customize their processes and collect exactly the data they need without requiring new issue types, hordes of custom fields, or special configurations. You can actually simplify Jira administration even as you’re bringing more teams into Jira.
Imagine being able to view issues from multiple Jira applications on one board. WatchTower does that easily. You can view issues and use familiar board features (swimlanes, JQL, and dragging issues to update status) without logging in to multiple Jira applications. I wish I had know about this add-on sooner!
Jira Server 7.7.1, Jira Server 7.9.2, and Jira Cloud
May 23, 2018
First I installed the application in my Server instance. It was very easy to install and configure. In minutes I created a new WatchTower board and saw issues from my Cloud instance from inside my Server instance. From the board, I was able to launch an issue in its source application and update it. Then, I refreshed the board and the changes were visible immediately.
In the example screenshot, there are two issues from the “HR” project in my Server instance, and 5 issues from the “DEMO” project in my Cloud instance.
It’s easy to create a new board and add a remote source. Simply enter a source name and any display preferences. Then enter your source URL, credentials, and a JQL query to pull the desired data. Use the handy “Test Connection” button at the bottom to verify your credentials are correct and issue data was found. Read more
I also installed the application in my Cloud instance to test another scenario. I added the current Cloud instance as a source and also a different remote Cloud instance. Everything worked as expected from within Cloud.
In the example screenshot, issues are displayed from a Cloud instance named “DEMO” and another Cloud instance named “JA.” You can name the instances anything you’d like.
I love that you can display issues from only remote sources or from both remote sources and the application you’re using. It’s great to see a subset of data, a full picture, or to do a comparison.
The add-on is fully documented, but unless you’re new to boards in general, you probably won’t need much configuration or use help.
Here are some ways the add-on helps:
Companies with Multiple Instances
How does a company end up with multiple Jira applications? Actually, it happens more often than you’d think. Consider the following:
A company acquires another company that has their own set of Atlassian tools
A team decides “try out” Jira not knowing other teams already use it
One team needs a public instance for customer support, however, other teams need their data inside the firewall
I once worked with a company that had 4 instances! The goal was to eventually merge them together, but that’s never a quick task. So how do you give users visibility while waiting? Whether your end goal is to merge or not merge, having a tool that can help you connect instances is a big help.
Let’s say you’re working on a Jira merge. This plugin can help you verify that the data you expect from the source application actually exists in the destination application. Simply create one board and query for the same data in both applications.
This functionality is especially useful for consultants, like me, who regularly work in multiple Jira instances at once. For example, I track most of my work in my own Jira instance. Sometimes a company I’m helping assigns an issue to me in their Jira instance, which is perfectly understandable. Now, I can see all my issues in one place.
Additionally, I store my work tasks in a Server instance and my personal tasks in a Cloud instance. I do this to separate my different roles and also because it forces me to be aware of changes in each application type. Now I won’t have to log in to my secondary Cloud instance as often.
The WatchTower boards don’t have the Atlassian board feature where you click an issue and details appear to the right of the board. See screenshot. But to be honest, I never loved that abbreviated display. If I want to see issue details I prefer to open the normal issue view page. That’s the way WatchTower handles it. Click on an issue ID and the issue opens immediately in a new window. You can log work on a remote issue directly from the WatchTower board however.
There are three sharing permissions. “Browse Board” allows the listed users to view the board and do nothing else. “Work on Issues” allows users to view the board, log work, and add a work description. “Transition Issues” allows users to do everything previously mentioned plus change issue status. This additive behavior was confusing to me at first, but once you know that “Transition Issues” includes the permissions from other levels, it makes sense. It doesn’t appear that you can grant sharing permissions to groups of users.
One thing to be aware of: any actions will be logged in the remote system as performed by board owner.
TIP: Speed up your boards by limiting their scope. Use JQL to pull in just the relevant issues, not all project issues. Definitely filter out issues in “Closed” or “Done” status.
Since performance of any type of board is typically slow, I conducted the following unscientific test. I created a test Jira Software project and loaded it with sample Jira data, which included a 4 column Kanban board and 10 issues. I created a WatchTower board to show the exact same data. Then I used the Chrome browser’s developer tools to compare load times. Results:
Adding a second, external Jira source didn’t create a huge delay. Of course my test was with only 10 issues. Don’t expect hundreds of issues to display quickly in any board type! And of course, if any remote instance is already slow or down, you’ll have expected loading issues. At one point, the connection to one of my sources broke. It was a quick fix though. When I loaded the WatchTower board, it alerted me to the problem, and where to fix it.
Bottom line: Any loading slowness caused by many sources and many issues is easily outweighed by the ability to see all your issues in one view.
How many instances can you connect?
There’s currently no limit although in the future the number of instances may be driven by pricing tier. You only need a license for one instance, not a license for each remote instance you’re connecting to.
What if the instances have different users? Example: My username is “rachelw” in app 1 and “rwright” in app 2.
It’s no problem; each user authenticates with their specific system credentials. TIP: Avoid using “currentUser()” in your source JQL queries if you have different usernames.
How do you handle different statuses per instance?
Map statuses to columns like you would for a Scrum or Kanban board. Differing statuses are handled the same way as different statuses between projects in a single instance. You can also not map certain statuses. A WatchTower board alerts you if there’s a status not mapped to a column.
What happens when source data changes?
Simply refresh and updated data will be pulled from the source(s). At this time, there’s no automatic prompt to refresh.
How is security handled?
Account credentials are used once to access the source application and are then stored in a token. Jira’s built in security mechanisms are respected. To see issue data you need an authenticated account in the source application. You cannot view issues you don’t already have permission to see.
What are you working on for the future?
Performance, the ability to display custom fields, and the ability connect to other applications. Imagine viewing your Jira data alongside your Salesforce or Trello data, for example. There may also be instance connection issues (like getting through a firewall) and two factor authentication issues to tackle in the future. Read more
For Users & Board Admins
Look for a new menu, in the main navigation, labeled WatchTower. All remote boards are in this area. Scrum and Kanban boards remain under the “Boards” nav link.
For Application Admins
This plugin is installed from System > Add-ons > Manage add-ons like other plugins. There’s only one configuration option for application admins. It’s located at: Admin > Add-ons > Configure. Look for the left sidebar link under the “WatchTower” heading.
This plugin is simple but powerful! If you have more than one Jira application at work, a work and personal instance, a side Jira administrator gig, or are a consultant, WatchTower can help you quickly and easily view all your issues in one place. I’m looking forward to not logging into my Cloud instance as often.
There are a plethora of plugins and add-on features available in the Atlassian Marketplace. But haphazard installs and free trials can leave behind remnants that negatively impact the system after the trial ends. You should develop specific procedures for handling add-ons and customization requests. Use our plugin vetting worksheets to craft your procedure.
I regularly review applications, add-ons, or plugins that I like! Have an app users should know about? Tell me about it at: firstname.lastname@example.org.
Jira comes with standard, built-in fields, like “Summary”, “Description”, and “Components” but you can also create additional Custom Fields to track more data.
Your instance starts out with 8-30 fields, depending on whether you have Cloud or Server. For example, Jira Server 7.7.1 comes with 8 custom fields. Installing Jira Service Desk on top of Jira Server adds 6 additional fields. More fields can be created by Jira, by application administrators, or by add-ons, plugins, and applications.
So how do you distinguish the standard fields from the ones created by applications and admins? Use this baseline list from a clean Jira install.
Standard Jira Fields
From Jira Server 7.1.1
From Jira Cloud
From Jira Service Desk 3.12.2
The following fields are added when you create a support-type project and use the “Create sample data” option:
CAB (Description: Change Advisory Board members)
Change completion date
Change start date
Customer Request Type (Locked)
Request participants (Locked)
Time to approve normal change (Locked)
Time to close after resolution (Locked)
Time to first response (Locked)
Time to resolution (Locked)
Satisfaction date (Locked)
Clean Instance Worksheet
Use this default Jira setup worksheet to compare settings in your application and see how far you’ve strayed from the default. Use this template to document defaults in other versions.
Depending on where you are in the world, you may be smack in the middle of spring – as in time for Spring Cleaning. Even if it isn’t spring, it’s a good idea to occasionally audit your Jira installation, archive elements that aren’t being used and revisit your configuration to ensure that it’s optimized. Below are the basic steps you will need to perform a “Jira Clean-up.”
Jira Clean-up Step 1: Audit
The first step is taking stock of what you have. To do this, start with the “System info” page and note the number of projects, issues, custom fields, workflows, etc. Next, visit the Add-ons admin page and the admin area for each scheme and project asset.
Rachel Wright offers a worksheet for recording this information. Alternatively, you could use a spreadsheet or create a form in ProForma. The important thing is that you will want to track the number of Jira assets over time.
As you go through the admin pages, note assets that are unused (such as a field that doesn’t appear on any screens), duplicated (or perhaps similar enough in purpose that only one field is needed) or inactive.
Once you have a complete picture of your current application, you can set goals for your clean-up. Along with removing assets that aren’t being used, goals could include reducing the number of workflows for easier support and reducing the number of custom fields for better performance.
Jira Clean-up Step 2: Archive
Before you begin pruning out unnecessary elements, backup and verify your data. Also, make sure you have a rollback plan in case any of your changes cause unanticipated problems.
Go to the admin page for each element type and use the “identification” column to weed out unused items. The Jira Strategy Admin Workbook includes detailed instructions for easily identifying unused elements. In some cases (for example, if you are eliminating an issue type), you may need to migrate issues before deleting.
Deleting unused items is the first step. Depending on your goals, you may also want to consolidate custom fields or workflows. When consolidating fields, consider which field is more widely used, which has a better name, and which can be more easily deleted. Again, you may need to migrate data before you can delete.
Along with pruning down Jira elements, you should also check for stagnant projects. Use the Jira Strategy Admin worksheet or the ProForma form to identify projects that have an inactive project lead, few issues or no recently created issues.
You have several options for dispatching completed or stagnant projects:
Finally, you need to address users who have left the organization. Don’t users because you want to retain the history of their actions. Rather, set departed users to “inactive.” However, before doing so, Rachel recommends the following steps:
Move any not closed, assigned issues to the user’s supervisor
Move any not closed, reported issues to the user’s supervisor
Remove unshared custom dashboards, filters, filter subscriptions and boards
Remove favorite designations for dashboards
If a dashboard is used by others, move the dashboard to the supervisor or a generic user account
Remove favorite designations for filters
Move shared filters to the supervisor or a generic user account
Reassign project leads to the supervisor
Reassign component leads to the supervisor
Remove filter subscriptions
Remove draft workflows
Reassign agile boards to the supervisor
Check workflows for any auto assignment transition behaviors
Make the user account inactive
Making the time to regularly review and tidy up your application will make your ongoing admin duties easier and will keep your application clean, relevant and high-performing.