As an organisation progresses through their agile journey, one question that generally gets asked along the way is whether there are tools available to help teams manage the agile planning and development process.
While a simple card wall and/or master story list may suffice for some situations, this question becomes even more relevant when faced with an environment where there are many interdependent projects or distributed teams located in different geographical locations or time zones.
Atlassian has been around the software development scene since 2002, and has a wide array of software offerings ranging from its Confluence wiki application to its Bamboo continuous integration solution.
Within the agile toolset space, Atlassian offers Jira (http://www.atlassian.com/software/jira/), which began its life as an issue and bug-tracking tool and has been in the market since 2004.
When coupled with the GreenHopper plug-in, the existing Jira functionality is extended to include agile management components and provide organisations with a software package to help them manage their teams agile planning and development.
Sounds good doesn’t it? However, how good is it really? This review takes a look at Jira and what it offers to organisations looking for an agile management tool.
Is the Jira dashboard easy to navigate?
Jira Usability & Interface
Like many agile management tools in the market, Jira is a web-based tool that can be accessed by using any web browser (Chrome, Firefox, IE and Safari). This review focuses on the web-hosted version of Jira, which was accessed using Mozilla Firefox (version 7). However the user experience between the hosted version and the standalone installation are much the same from prior experience.
Jira’s user interface is clean and no fuss, with the view changing depending on the logged in user. Standard users have access to the standard Jira dashboard and management screens, whereas Administrators get the option of toggling between standard mode and “Administrator” mode.
The addition of the GreenHopper plug-in adds a number of agile flavoured pages to the standard Jira interface, like the planning, task and chart board views. There are also a number of agile-specific fields like story estimates that have been added to the standard issues interface for agile projects.
The Jira user interface uses a combination of text entry fields and drag and drop sections that allows the user to easily create or manage stories from within various locations in Jira. However, drag and drop functionality in certain areas like the planning board and the task board can be slow to update, which can be a little annoying.
Another disappointing omission from Jira is rich-text editor functionality within the text box entry fields. Users can format values entered into these fields by using Atlassian’s shorthand notation (eg. bold, italics, bullet points, etc.), however it would’ve been nice to see this available within Jira to help cater for new or less technically savvy users.
There is nothing controversial about the user experience within Jira. Information is readily available, with the screens and fields easily configurable to best suit user needs.
While the Atlassian shorthand notation for applying text formatting gets the job done, it does require a little bit of practice to get used to and it would have been great to see a simplified text entry field that was not dependent on applying syntax commands.
Is it easy to compose a user story in Jira?
Jira provides a straightforward story/issue entry screen that can be tailored to meet the needs of the project. Stories can either be created using the global story/issue creation menu, or alternatively from the Agile, Issues or Project sections within Jira.
Jira Create Story/Issue Entry Page
The story/issue entry screen allows the user to specify a brief description, assign a priority, development effort estimate as well as allocate a planned release. Users can also leave comments for a story, which can be seen by either all or a subset of users. Jira also offers users the ability to “watch” a story, which will notify subscribed users of any updates made to the story and is a great way of keeping interested parties in the loop regarding updates or changes.
Users can attach supporting documents to a story by using the attachment functionality, which supports all major file types. A size restriction is applied to all attachments, however this can be modified from within the Jira configuration page. In addition to attachments, Jira also integrates with diagram and mock-up tools such as Balsamiq to allow for low-fi mock ups to be added to stories.
It is worth mentioning that Jira provides integration with a range of source control applications like Clearcase, CVS, Git or Subversion. This helps provide greater integration between the issue/story being worked on by the team and the actual code being written. Some configuration to enable this is required however, and this was not explored as part of this review.
Attach Files Dialog
It is fairly easy to create different issue types from within Jira (stories, tasks, improvements, bugs, etc), which can be managed in the same manner as a story. Jira supports the linking of stories to help track story dependencies or the cause of an issue, which helps with dependency management. However, links are only reflected within the issue itself and not within the story cards reflected on the planning or task boards.
Something that is worth noting about Jira is the creation of Epics. Users are able to easily create user stories, however the ability to link or create sub-stories below the epic level is somewhat limited and dependent on how stories are configured for a particular project.
While linking stories to an epic is the easiest approach, it does not properly reflect the relationship a story has with an epic on the planning and task boards. While a workaround for this scenario can be applied via project configuration, it is nonetheless annoying that basic story hierarchies can’t be set up by default.
Jira Bulk Operations Page
Jira also supports a range of bulk operations (such as bulk edit or move) to help manage stories. When used in conjunction with the filtering capabilities offered within Jira, it’s a quick and easy way of make changes to a large number of stories with minimal fuss.
Jira provides users with a good set of features to enter, edit and manage stories/issues. Overall, Jira is functional and users have the ability to attach supporting documentation and information, as well as integrate with drawing and source control tools, which is a plus for teams in helping them manage their agile projects.
Is it easy to plan using Jira?
With the GreenHopper plug-in installed, Jira provides users with the ability to plan and manage iterations for an agile team. Jira can be used to manage an agile team without the GreenHopper plugin, however teams will not have access to the agile related tools such as the planning and task walls, as well as the agile specific charts. However, they retain their ability to specify their development workflow and enter stories within the system.
Jira Task Board Page
The task board is the primary tool used to track the progress of the team within iterations. It can be tailored to reflect how stories progress from being in the iteration backlog, through to development complete. Charts are also available to help show the project progress for the iteration.
In terms of backlog management and prioritisation, Jira provides users with the ability to prioritise and rank stories. Story priorities can be customized to suit the needs of the project and used for story filtering or reporting.
Jira also supports ranking through the use of a ranking field, which can be used to filter stories based on an assigned user rank. Backlog management is handled through the entry of all stories or issues into Jira and allocating them to a version or iteration. Stories can be easily swapped in and out of each version by either using the planning board or by editing stories/issues directly.
Given its origins as an issue management tool, Jira is quite good at tracking the progress of the team within development iterations.
Planning is currently limited to assigning stories to an iteration in order to meet a pre-defined story target – there is currently no functionality to provide forecast team velocity, or previous iteration trend analysis. To allow for forecasting within
Jira, all backlog stories will need to be entered, which for some agile teams, is not practical or available.
In short, if a team is looking for a tool to manage the day-to-day running of an agile project team then Jira can perform this task quite well. However, it lacks more advanced forecasting and scope planning features.
Does Jira reporting provide the information you need?
Agile Report Example
One of the key facets of a successful agile team is having measures and reports available to help gauge the progress and health of the team as it progresses through iterations. In this respect, Jira provides a standard set of reports that are more geared towards issue tracking rather than agile team management.
With the addition of the GreenHopper plug-in, Jira is able to create burn-up and burn-down reports, however this is only limited to the “Agile” tab of Jira. Besides these charts, it is a shame that no additional agile reports were added to the GreenHopper package, like a story vs defects chart, which could be used to help monitor the rate in which new functionality is developed versus the number of issues or defects resolved within an iteration.
Jira’s filter capability allows users to retrieve data from the story backlog based on pre-defined criteria, which can be exported and used to create tailored reports. Users are presented with a simple or advanced filter view, which utilises a simplified query language to construct filter requests.
The advanced filter capability closely resembles SQL, with a few minor differences. Complex filters to extract information can be created using the filter views, which can be used by individuals or shared amongst the team.
Jira Advanced Filter Page
As a whole, Jira does provide users with a good set of reports that shows how the team is tracking in terms of issue resolution, as well as basic iteration progress. However if you are looking for detailed agile management reporting, its just not there. Users will have to utilise the filter capabilities offered by Jira to extract the information and manually create reports that meets the team’s needs.
How easy is to to install and configure Jira?
Jira provides organisations with two set-up options, a downloadable copy of Jira that can be installed and configured on a local server or a web-hosted option. The web-hosted version was used for this review, however, the features offered within the hosted version of Jira are also available in the downloadable version.
Users and projects can be set up easily in Jira by using the application default settings, meaning that teams can be up and running in just a short period of time. Like other tools available in the market, Jira is able to integrate with external user management systems like LDAP to help manage users.
Jira Administration Page
The strength of Jira lies in its configurability, with nearly all aspects of the system able to be configured. A by-product of this however is a large and sometimes daunting configuration overhead, braved only by experienced Jira administrators. Jira users can relate to stories where cross project configuration changes have wreaked havoc on project teams.
On the plus side, configuration templates can be created to help inexperienced teams get on their way, and as experience grows, progressively jump into making configuration changes. Jira does require some level of technical competency, especially experience in application server configuration – it is not for the faint hearted, especially in environments where there are multiple teams/projects using the system.
Jira isn’t without its limitations. Teams will need to create components and releases for each project that uses the components or releases as there is no functionality to import/export components to other projects. Also, Jira currently does not support projects being associated to a platform or portfolio. While Jira does provide project categories, this is primarily used for reporting purposes and is not reflected outside the project summary screen.
In short, teams can be content with using Jira’s default out of the box functionality to get up and running. Beyond this, however, the daunting nature of making configuration changes outside of application defaults, the need for users to manually recreate components and releases for each project, as well as the lack of portfolio/platform association capability for projects all detract from Jira’s strength of allowing teams to configure the application to best meet their needs.
How much is Jira?
Atlassian offers a user-based license model where organisations and teams purchase a license based on how many people will use Jira. Pricing is divided into two streams: the standalone and the web-hosted solution.
The standalone version requires the customer to have a server or computer readily available to download, install and configure Jira for use.
On the other hand, the web-hosted version is physically hosted by Atlassian, meaning that no physical infrastructure is required on the customers part to host Jira, which can be easily accessed via the Internet through a custom supplied URL.
Pricing for the standard web-hosted version of Jira starts from $50 per month for 11-25 users, through to $1000 per month for 501-2000 users. Jira with the GreenHopper plug-in incurs an additional charge, with subscription pricing starting from $75 per month for 11-25 users, through to $1500 for 501-2000 users.
It is also worth noting that choosing to use additional plug-ins like Balsamiq (mock-up tool) or Bamboo (continuous integration solution) incurs additional costs on top of the base Jira subscription.
Does Jira provide support?
In terms of customer support, Jira provides users with multiple channels to get help with Jira. Users can utilise the online help that is available within Jira, the Atlassian community and discussion forums, or alternatively, raising a support ticket with Atlassian to help resolve any Jira issues. Atlassian support has a policy of contacting a user to help resolve an issue within 24 hours of the issue being raised, depending on the severity.
As a side note, one interesting feature regarding the support Atlassian provides with Jira is its use of its various products to provide users with the support they need. From the use of Confluence to store online help and knowledge base information, through to Jira itself to log support tickets, Atlassian’s own use of its products to provide support gives an overview of how its products can be used as well as confidence about the company’s passion regarding its products. The knowledge base and forum pages were a wealth of knowledge regarding Jira use, and overall Atlassian responds in a timely manner to all requests.
In summary
Jira has proven to be a versatile tool to help teams manage their development process, whether it be managing issues or, through the use of the GreenHopper plug-in to manage agile development. It offers a great deal of customisation options that allows users to tailor Jira to best suit how a team or organisation works towards completing their goal.
Its simple user interface and ability to integrate with tools such as CVS, mock-up/drawing applications and integration servers are real assets for Jira, as it provides a tight package that allows a team to see progress from start to finish.
As an agile management tool, Jira is a great tool for managing project team iterations, especially with the addition of the GreenHopper plug-in. Having said this, Jira as an agile management tool is limited in providing teams, especially those involved in planning, with forecasting or “bigger picture” tools that is required by the team to manage the direction of the project.
Overall, Jira is a great tool to help teams manage the day-to-day running of agile teams, bearing in mind that Jira does have some limitations that will leave you performing a workaround, or searching for additional systems to fill the void.
Not to mention the daunting task of configuring Jira when wanting to customise the application outside the default options. Nevertheless, for those looking for a tool to help them manage the day-to-day running of a team, Jira is worth a look.