We have identified Jira Dashboards can be a potential bottleneck while helping our customer to tune the performance of their Jira. This article explains why Jira takes longer time and give some tips on how to speed things up.
Why my Jira Dashboard takes a long time to load?
These are some factors that contributes to the slowness of Jira:
- Huge number of gadgets within a single dashboard
- Gadgets with complex reporting
- Filters with a huge number of issues
Huge number of gadgets
It will be faster if you focused doing 1 task at a time versus doing 100 tasks concurrently. By the same principle, your dashboard will load faster if Jira has less requests to work on at the same time.
Jira helps with a default maximum limit of 20 gadgets within a dashboard. However, it is possible to modify the limits on the number of gadgets on a dashboard.
When there are way too many requests
We have a couple of support tickets which the end users added a lot of Gauge Gadgets in their dashboard. As a result, some gadgets on the dashboards cannot load.
This is because the browser will silently throw the error message Failed to load resource: net::ERR_INSUFFICIENT_RESOURCES if it detects that are way too many requests within a short interval.
To support the users, we introduced Multiple Filters Counter Gadget that can display multiple counter within a single gadget.
Complex Reporting Gadgets
Not all Jira gadgets are the same. There are some gadgets which involves complex processing. For example, our Tissue for Jira app performs the handy task of traversing all the linked issues and extracting the various field values to present a tabular overview.
If you are using such complex reporting gadget, it will be advisable to have lesser gadgets within that dashboard.
Filters with many matching issues
It is likely that some dashboards load very fast when they were created initially. However, as the number of issues in the project increases over time, the performance of the dashboard become slower without the original author noticing.
This is because there are more issues to be processed. A useful tip will be to time-box your Jira filters within a time period using JQL date functions like startOfYear(), startOfMonth()
Alternatively, you can use our Rolling Window Monthly/Weekly Gadgets which only retrieve the matching issues in the last X weeks/months specified.
Other ways to load your Jira Dashboards faster
Add more computing power
The simplest way is to pump more computing resources like more CPU and memory. Jira Data Center also scales the performance by distributing the workload across more nodes.
Split into multiple dashboards
As mentioned previously in Best Practices in Jira Dashboard Reporting, it is recommended to keep a dashboard to its objectives to allow people to identify the action required.
But it is troublesome to have many dashboards
Beside adding the links to various dashboards as project shortcuts in your Jira project, you can also add links to related dashboards using our free Link Menu Gadget to facilitate navigation. You can also add links to the your Confluence spaces and other related project resources too.
If that is still not enough and you want to access your dashboards easily from everywhere in Jira. You can organise your Dashboards in cascading Dashboard Folders which can be accessible in the Jira top menu.
What is the performance of your Jira Dashboard?
You may want to do the 23 seconds test on your frequently used dashboards. If it is taking longer than that, you might want to tidy up your dashboards.
Share this post
This is an ebook on a collection of Jira best practices that Atlassian has gathered from Jira experts around the world.
The title “Be a Jira Hero – A guide for Admins, by Admins” is well deserving. Therefore we recommend all Jira administrators and wannabes to read the 25 pages ebook.
Jira Best Practices ebook
The ebook is well-organised into different sections with short but clear snippets of wisdoms:
- How to keep Jira clean and simple for your users
- How to use issues effectively
- Best practices on managing Custom Fields and Screens
- Things to consider when building workflows
- Tips on managing backlog in Jira
- How to get people to work on the issues
- Best practices on designing the Jira dashboards for even more effective reporting
- Shortcuts & Hacks to work faster with Jira
- How to make use of automation to make life easier
One Common Mistake
For example, the book has highlighted in Tip #20 to incorporate Resolution into the workflows. We observed that a number of Jira admins who did not have formal training tends do not understand the concept of resolution. Consequently, they overlook this important step while creating new workflows. While the Jira appears to be working, the implications are some built-in reports may be inaccurate and an important piece of information is missing.
Our Additional Jira Tip
Dashboards are very useful if they are used correctly. Team members can have visibility on the progress and be reminded on the outstanding tasks. Furthermore, Management can have clear visibility without spending a lot of time preparing routine reports. As a result, users will understand the value of updating their tasks in Jira.
To sum up, if you are a Jira administrator, you should download the ebook and review whether you have been applying the Jira best practices.
There is no need to provide any email address to download the book. To add on, you may also want to check out the following resources:
Share this post
This is a “lengthy” guide on the best practices on choosing and managing a Jira app. Coming from our years of experience as an Atlassian Solution Partner, it covers
- How to evaluate a Jira app
- How to better manage the apps installed in your Jira instance
- Things that Jira administrators need to watch out
Jira Apps from Atlassian Marketplace
By installing additional Jira apps, you can add new features to your Jira. For example, some of our popular Jira apps
- Attachment Checker for Jira – prevent users from uploading unauthorised or virus infected file attachments
- Multiple Filters Chart Gadgets – plot disjoint sets of data within a single chart or table
- Out of Office Assistant – reassign issues automatically when you are away
- Gauge Gadgets – useful gadgets for data visualisation on Jira dashboards
There are many more useful Jira apps available at the Atlassian Marketplace.
Evaluating a Jira App
Being an Atlassian Solution Partner, there are a number of criteria that we consider before recommending a Jira app to a customer. They are:
Fit to Purpose
The app should be able to address the requirements fully. It should be easy to use. The additional feature should not cause confusion to the existing users. We will also assess their design is robust and does not conflict other plugins or use cases.
Atlassian Marketplace Listing
It is very important to check out the app listing on Atlassian Marketplace. It contains a lot of useful informations like
- Rating and Reviews
- Number of Active Installations
- Vendor Accreditation
- Compatibility with the latest version of Jira
Rating and Reviews
While the rating and reviews do not mean much for a newly listed app, they do give insight of poor services or badly designed apps. Typically, users will flag out any issues that require attention. So, if there are no negative reviews, it is safe. And if there are a number of good reviews, then it is very safe.
Number of Active Installations
If an app is popular with a significant number of active installations, that is a good sign that the app is useful and functioning without major issues.
Atlassian has a Top Vendor program who has met the following requirements
- App traction – Their paid apps must attain at least 500 active installations
- Timely support – Has a Service Level Agreement (SLAs) and committed to provide at support for their users
- Support Website – Customers can raise support request easily via a website or email when necessary
- Vendor reliability – Atlassian conduct checks periodically to ensure they offer great customer experiences
For those exceptionally good ones, they are further recognised as Gold/Platinum Top Vendor.
If the app is only compatible with an older version of Jira, that is a big warning. You do not want to be left dangling helplessly for your next Jira upgrade.
Some apps are explicitly marked as unsupported. Unless you can accept the risks, it is better to avoid them.
Data Center Approved
Data Center approved apps are those that have passed Atlassian’s stringent criteria for use in Jira Data Center environments. As it takes considerable effort to become a Data Center Approved App. vendors will usually do that for their established apps. Therefore this is a plus point.
Although some users will usually dive in without reading the user guide, it helps when the documentation contains
- A quick overview of the functionalities
- Comprehensive writeup and how to use
- FAQs to facilitate on-boarding and best practices
- Up-to-date release notes
- An easy to navigate structure
Unless the app is really simple or open source, it is a risk to install an app with a one pager documentation.
Last but not least, the pricing of the app is also an important consideration. The app should have a reasonable pricing so that you will be assured of support for long term. It is also possible that you will upgrade to higher user tier or Data Center as Jira becomes an enterprise application. Hence the pricing for higher tiers should not exceed your budget.
For free apps, they should be from a credible publisher with significant number of installations. Otherwise, the publisher may withdraw support in near future.
Before Installing an App
Downloading the compatible version
There is a common mistake for Jira administrators who are unable to download the app via the Atlassian Universal Plugin Manager. The default download link on the Marketplace listing is for the latest version of Jira.
If you are not using the latest version of Jira, the correct steps to install/upgrade the app will be
- Click on the Versions tab
- Select See all … versions
- Hover on the topmost version which matches your Jira version
- Click on the Download link
- Upload the file via Atlassian Universal Plugin Manager in Jira
It is a best practice to install the Jira app on a Test environment first. It is not advisable to install an app directly onto the Production environment. This is because some apps may make changes to the database. Some changes are not be reversible when you uninstall the app later.
Maintaining a Change Log for the Apps
We usually advise our customers to create a Confluence page to track on the app installations, upgrades and uninstallation. This best practice helps to keep all the related information organised neatly on a single page.
The change log table can include the following information
- Date of Change
- Changed By
- Name of App
- Action Performed (e.g. install/upgrade/uninstall)
- From Version
- To Version
- Jira Issue Key
- Additional Notes
This will be useful especially when there are multiple Jira administrators who can perform changes. Although the audit log has a record of the changes, the default data retention period is only 90 days. It is also not that easier to read.
By using a Change Log, the administrator can link the change with a Jira issue and add notes. The Jira request helps to identify the user who raised the request to install the app together with the background context.
When there is an incident, the App Change Log will be useful to identify issues caused by app changes.
Things to watch out
It is not the end of the story after installing the app. There are a few useful tips for Jira administrators to watch out.
With more apps installed, it is likely that the memory footprint might increase over time. It will a best practice to check on the JVM memory utilisation from the System Information page after people start using the features. Likewise, CPU usage monitoring is also a best practice.
There are a handful of apps which will stop working without an active license. So be sure to renew your licenses before they expire to gain access to support and newer releases.
You can click on the Watch app link on the Marketplace listing. By doing so, Atlassian Marketplace will send you an email whenever there is a new version released.
Upgrading the Apps
As a best practice, it is important to upgrade regularly to get newer features, performance improvements and bug fixes. For security vulnerabilities, you should upgrade as soon as possible once you received a security advisory.
Although there is no need to schedule a maintenance downtime for installing/upgrading Jira apps, it is a best practice to do that during off-peak periods. During an app installation, there is a short interval where the Atlassian Universal Plugin Manager removes the old version and installs the newer version. You do not want any critical operations in between that period.
Also some apps may execute jobs during the upgrade to do some data crunching to support a new feature. Therefore, please read the release/upgrade notes for the app before you click on the upgrade button in Jira.
Share this post
Here is a post to commemorate the release of a new feature: Color Scheme Enhancement for Multiple Filters Chart Gadgets version 2.1.0
- “What purpose will this color serve?”
- “Will this (color) serve it’s purpose effectively?”
When color is used effectively, it brings life to the charts and directs users to focus on details required for effective communication.
Such as to (1) highlight a particular data, (e.g. Tasks that has yet to be completed)
(2) encode quantitative values, (e.g. Density of importance corresponds to darker shades)
and, (3) to group items.
Colors themselves tell a story, and it’s the responsibility of the designer to make sure the palette used does not create confusion within a data visualization.
Thus, the palettes used are to have enough variation in hue and brightness.
Try out the different color palettes available in Multiple Filters Chart Gadget and explore the possibilities with colors.
JIRA has become sort of a standard for keeping track of issues. In fact, over 70% of the Fortune 100 companies are using JIRA.
I just did a search for JIRA on Indeed.com and found 10,947 positions available. The positions that requires JIRA expertise ranges from JIRA administrators, Scrum Masters, QA Analysts, Software Engineers, Project Managers to Service Desk Specialists, etc.
Today JIRA has 3 different flavors
- JIRA Core – for business teams to track tasks, approvals, legal reviews, marketing campaigns, etc
- JIRA Software – for software teams to track bugs, system enhancements with features to support agile development
- JIRA Service Desk – for helpdesks to track user problems and requests
It is possible to mix and match the 3 applications to run on a single server and web address. This provides the flexibility for business teams, software teams and helpdesk teams to collaborate on the same platform.
Easy to Use
By using JIRA to track the issues, all the historical changes and discussions are captured in context to the issue. This provides visibility and traceability that makes audits less painful.
Another side effect of using JIRA is that you can save time compiling reports and sending emails. With the reporting gadgets and automation add-ons, you can focus on getting the real work done.
The server license for 10 users starts from US$10 with 1 year of annual support. If you wish to save the hassle of setting up your own server, you can also use the Cloud edition which goes for $10 per month for up to 10 users.
Share this post
Have you always feel frustrated at the end of the week that you have accomplished nothing despite being busy for the entire week?
I was inspired by Barking up the Wrong Tree to write how using an issue tracker can improve the way of getting work done by incorporating behavioural science theories.
1. Attention is equal to Time
First, you need to be aware that your smartphones and inbox are huge time suckers to your productivity.
Each new email or a notification is likely to distract you from what you are doing. Mobile notifications is the new evil with a constant flood of notifications from your group chats and apps.
People who do a lot of attention switching, they believe they can focus when they need to, but the reality is they have lost that ability.
When you give them a task that requires focus, they perform worse than people that don’t spend a lot of time fragmenting their attention.
Therefore, you might want to check your mails and mobiles after completion of a task.
2. Maintaining a list
According to research, an average human can only keep track of 7 ± 2 tasks in working memory.
Therefore it is better to use computers to keep track of your tasks. It helps to keep you organised and ensure no tasks get missed.
3. Setting up a routine
Have you ever wondered why people will always remember to log in to check their Facebook or to play their mobile games?
Well, they all send you notifications periodically to remind you to do so.
So you can set up a reminder for yourself to check on the tasks that you need to do at the start of the day/week.
4. Create small wins for yourself
The biggest difference between working and studying is there aren’t regular tests to tell you how good you are performing and to let you move to the next level.
You need to create small wins for yourself to and your team have the feeling of progress.
People’s inner work lives seemed to lift or drag depending on whether or not their projects moved forward, even by small increments.
Small wins often had a surprisingly strong positive effect, and small losses a surprisingly strong negative one.
Start having a report to see how many tasks you have accomplished at the end of the week.
You will not feel nothing is done at the end of every week.
5. Start to reduce shallow work
A mentor once shared with me the concept of “Death by a Thousand Paper Cuts”
Similarly, small insignificant tasks consume your time and distract you from getting the real work done.
Shallow work is little stuff like email, meetings, moving information around. Things that are not really using your talents.
Deep work pushes your current abilities to their limits. It produces high value results and improves your skills.
Instead of spending time to compile reports and filling time sheets, use tools to automate this to free up time to do meaningful work
6. Learn how to say no
Do you know that a common characteristic of successful people is that they know how to say no at the right time.
By asking your co-workers to log a task in the system for you, it makes them think harder whether it is necessary.
This either helps you to filter unnecessary tasks or prepare the information for the task upfront.
It also helps your superior to see your workload and balance the assignment accordingly.
7. What gets measured get done
Usually most of us work together as a group. Sometimes you need someone to complete a piece of work before you can work on it.
If the task is passed over to you late, you will have less time to work on it. The worse scenario is that it interrupts you
Try to set a due date when assigning out a task and send automated reminders to chase them.
8. Use the correct tool
A major limitation of using the Inbox to keep track of your tasks is that emails are sorted with the latest first.
It creates a natural tendency to read and react to newer emails than to follow up on the earlier emails.
Work should be FIFO (First In First Out), not LIFO (Last In First Out).
If you keep on reacting upon those newer incoming tasks, your older tasks will eventually become urgent and get on top of you.
Then you will be pressured to rush finish those late tasks.
You might want to use a To-do list tool or issue tracker to manage your tasks.
You can find more useful tips and related information for the quotes and links referenced in this article below:
Share this post
We have a customer using VertygoSLA plugin to track the SLA for requests in their JIRA, but VertygoSLA was acquired by Atlassian to be embedded with JIRA Service Desk. There were 3 options available:
- To switch to JIRA Service Desk
- To find other suitable SLA plugins
- To build our own SLA plugin
We decided to build our own Days Elapsed Traffic Light plugin due to the following considerations:
- Need to calculate the number of working days. As the business requests can take many days to resolve, displaying 9 days elapsed is less mathematically challenging compared to 72 hours passed
- Ability to flag out issues that is going to exceed the SLA soon. The yellow traffic light is helpful for alerting users
- To be able to retain the SLA information from the old requests
Setting up the Traffic Light custom fields
The setup for the Traffic Light custom fields is pretty simple with a couple of steps
- For every VertygoSLA custom field, we added a corresponding Traffic Light custom field with the same name
- The working calendars have to be added to define the working days and non working days. In order to cater to departments with different calendars, we introduced the concept of country calendars and organisation calendars. This will alleviate the administrators’ tasks of having to update each calendars individually
- The mappings have to be defined to specify the thresholds and conditions for the SLA to be applied
- Post functions are added into the workflows to start and stop the Traffic Light Timers
Migrating the VertygoSLA data
The patching was the most time-consuming part as it was done incrementally over different JIRA projects. We built a patcher module that can select the issues to patch.
- The patching was done during off-peak hours to avoid disruption to the users
- The patcher will read the VertygoSLA information and find out the duration of SLA timer
- Using the number of days elapsed, the traffic light colour is determined
- The information is then populated into the corresponding Traffic Light custom field
- We created dashboards with our Multiple Filters Chart Gadget for the users to verify the results
- After verification, the VertygoSLA custom fields were deleted
Share this post
It is a frequent question – Why should I buy Jira Data Center?
Due to that, we are sharing our experience with Jira Data Center as an Atlassian Solution Partner in this post. Hopefully, we can help to shed some light on it.
What is Jira Data Center
Jira Data Center is a deployment option designed for high availability and performance at scale when hosting Jira Server in your own premise.
This is possible with a cluster of servers to share the workload from incoming requests through the use of a load balancer. To add on, each node is a complete Jira instance with its own index.
What are the benefits of using
- Performance – Faster performance with it distributes the load across the various nodes
- Increased users – A 2-node Jira DC cluster can support double the load of concurrent users with the same response time as compared to a single Jira Server
- High Availability – With active-active clustering, it guarantees uninterrupted access in event of hardware failure. This is because it will redirect requests to an active node automatically
- Instant scalability – It is possible to add more nodes without any scheduling any downtime
- Disaster Recovery – Option to have another set of hardware on standby
When you should start looking
at Jira DC
The Jira Server should be sufficient for most users until you encounter one of the scenarios below:
- your existing Jira issue count is hitting a million
- you are growing at 20,000 issues per month
- there is a need for high availability (HA) or disaster recovery (DR)
- the CPU usage for your Jira Server is peaking constantly
- more and more users are complaining of slowness
Before upgrading to Jira Data Center
- Can you allocate more resources (e.g. CPU and RAM) to the Jira Server?
- Have you explored performance tuning?
- You may want to check whether virus scanning is slowing down the system. Likewise, you can use our Attachment Checker for Jira app to limit virus scanning to file attachments
- Have you upgraded to the latest version of Java and Jira? Do you know Jira 6.4 is 30% faster than Jira 6.3 on average? Check out 5 Things to Know for Scaling Jira Performance
What are the considerations
- Jira Software Data Center is an annual term license. That is to say, you need to renew annually to continue using it
- The pricing is based on user tiers and does not have any limit on the number of servers or CPUs
- There is a discount for upgrading from Jira Software Server to Jira Software Data Center
- If you are only setting up a cold-failover server, you can use a free development license without additional cost
- The apps must be with Data Center compatible
- If you are moving from Jira Cloud to Jira DC, this could be tricky
Atlassian is also launching Jira Enterprise Cloud which you can find out more from the differences between Free/Standard/Premium/Enterprise for Jira Cloud.
For those who do not need HA setup, we recommend the following strategy
- Start with Jira Software Server
- Do performance tuning to stretch the limit of Jira Software Server
- Conduct benchmarking tests to measure the improvement with Jira Software Data Center
- The number of nodes to allocate depends on the number of concurrent users and the usage pattern. The following chart can be a reference on how increasing the nodes increases the number of requests handled without affecting the time taken
Share this post
We have been spent a lot of time explaining to customers the differences between JIRA Core, JIRA Software and JIRA ServiceDesk. Think this infographic summarises them well.
For those who wants to check out the screenshots and links, it is available at http://www.akeles.com/what-are-the-differences-between-jira-software-jira-service-desk-and-jira-core/
Recently, we completed a project for a bank. Their original idea was to build a system for tracking but they decide to leverage on JIRA since they were already using it. The requirements can be met by adding a few new JIRA projects and customised plugins.
However, there was a big challenge to quickly deploy changes on an existing JIRA Production system. The changes had to be replicated across 3 separate environments (DEV, QA and PROD). This meant that the users had to wait a longer time to use the new features. Luckily, we discovered the Configuration Manager Plugin. It is a JIRA add-on that enables automated deployment of configurations across JIRA instances.
With this plugin, we managed to replicate the configuration in 1 environment within 1 day instead of a week. We managed to shave 8 days of effort for QA and PROD environments. It eliminated human errors which could not have been avoided if we took the traditional method. There were just too many steps to replicate with zero errors.
We were very impressed and want to share our experience with fellow JIRA users.
How we did it
Due to confidentiality, the steps are listed using the screenshots taken from the plugin author’s page.
- The initial configuration in DEV had to be done manually. We cheated! Using our in-house Project Creator plugin, we created hundreds of custom fields from a MS Excel file
- After the schemes and workflows were set up, we got ready to create a configuration snapshot for export
- The Configuration Manager can only be accessed by a JIRA Admin under the admin console
- Select the Add Snapshot button (or Create Snapshot for newer version)
- We used System Configuration to capture all the configuration so that we can deploy multiple projects at the same time
- After the snapshot was created, we downloaded the xml file by selecting Download from the gear icon on the right side
- The file was copied to the UAT environment to be deployed
- Similarly, the JIRA Admin had to log into the admin console to access the Configuration Manager page
- To play safe, we did an backup of the UAT environment before applying the changes so that in event of error, we can still restore the UAT environment to the previous setup
- Click on the Deploy link on the left sub-menu to access the Deploy Configuration Snapshot page
- Click on the From Snapshot File button to upload the xml configuration file created from DEV
- The snapshot will be added to the list of snapshots available for deployment
- Click on the Deploy link under the Actions
- The list of configuration changes will be listed. The additions are identified by whereas modifications are identified by
- We spent more time verifying the changes identified with the changes to ensure they do not affect existing configuration.
- When the changes were confirmed, we proceeded with the automated deployment
- Once completed, the changes could be viewed in the Audit logs
Interested users might want to consult the plugin documentation page at https://botronsoft.atlassian.net/wiki/display/CMJ/Configuration+Manager+Documentation for details.
Feedback for Improvement
We were very glad such a plugin is in existence. However, there are some limitations or possible improvements
- The configuration stored using ActiveObjects had to be replicated manually. This is because there is no easy way to differentiate the configuration settings from the issue values
- The selected role for the Issue Alternative Assignee custom field had to be re-configured after it had been added automatically
We recommend Configuration Manager Plugin to JIRA Administrators who need to implement many changes across multiple JIRA environments frequently. It’s a time-saver!
Share this post