JIRA is fully pluginable Task Management Tool used on professional software project as the most important information pool. It brings with the extendability, which can make the tool adapted to the special company, project or small team needs.
I worked with JIRA as a JIRA supervisor and user too, I try to summarize briefly some usable information:
- Custom Issue Types
- Own Workflows
- Version Control
- Own Attributes
- Own Relations – Trackability
- Custom Filters & Portlets & Dashboards
- Lower Frustration
- Wiki Confluence Integration
- Customisable For Small Projects
- Notification Mechanisms
- Development Information Pool And Distributed Teams
- Agile (SCRUM)
- Eclipse Integration
- Transparency and Quality
Audio: Why to use JIRA
Custom Issue Types
Issue types provide categorization of the Issues in the Management tool. Some kind of categorization brings in more light not only in the tool, but in the communication too… The target is not to define over-engineered set of issue categories, but to define, existed and used issue types. From my experience I recommend following issue types:
- bugs – evidence of clear defined bugs
- user stories (new features) – iwill be some kind of bundles of tasks, small tasks and test tasks
- tasks – standard issue for all tasks with >8hr estimation (with verification)
- small tasks – small issue for all tasks with <8hr estimation (with verification)
- test tasks – issue for test evidence, can be related with other issues, to determine, what for implementation was tested
- labels – issues for label evidence – with summary of sublabels, components and some hints about label
- deliveries – evidence of deliveries of the software
- notes – (for ultra-small issues) – much better than email or messenger
Every issue type has a workflow. Workflow means the order of diverse states (Open, Reopen, In Progress, Verified, Closed) and State Transitions with related screens. The workflows can always be easily adapted and be on demand adapted to the needs of the project members or customers.
Component is an abstract piece of the system and can be directly or indirectly related with the physical software implementation. It brings the possibility to filter out issue related with 1 to n components. When the components structure is well organized (granularity), it brings big advantage of structuring issues related with components to trace the history of components development. This is very usable not only for the project management, but also for the developers – because they become a giant tool to find sw development patterns, to trace changes history.
Version is one of main fields of the issue. It takes relation between every issue and version of the software to trace progress and clear overview of deliveries.
JIRA allows you to define own set of diverse types (number, string, predefined lists, etc.) of attributes to extend content of the issue to the needs of Project. This is big advantage.
Trackability Issue types can be related in project-specific way – there is a possibility to create own types of relations, for example, New Feature (User Story) “is realized by” Tasks, or New Feature (User Story) “is tested by” Test Task.
Custom Filters & Portlets & Dashboards
Custom filters are nothing unusual in task management systems; JIRA brings the possibility to use the filters directly in Confluence, to use filters for email notifications (for example high severity issues -> management, delivery issues -> product owners, overdue issues -> product managers).
Filters are defined in very simple and user friendly way and the user can define visibility of the filters to different groups or users.
Many tabs and unused properties – NO! Ergonomics of the tool are up to date and the usability is simplified in very good way. The main focus of JIRA is to minimize steps needed to work with issue evidence.
JIRA is one of the most wide-spread tools in the world, so the knowledge among programmers of the tool is statistically very good. Tool has web-based frontend and it’s very easy to understand and available in more language versions. The acceptance by the developers is very quick without necessity of massive support to them. Acceptance by non-tech users is good too. Tool is easy to understand.
Atlassian offers GreenHopper extension for Agile Support, other vendors offer hundreds of reporting, extending plugins that are usable with JIRA. That’s nice. With the good knowledge of the JIRA Architecture, plugins can be simply integrated in very effective way – not only from other vendors, JIRA offers API for (easy) creation of own plugins.
Customisable For Small Projects
Every project can have own set of properties, settings, issues types, permissions, workflows and users. What does it mean? Diverse projects can work in their own way in order to achieve recommended effectiveness – for example Task issue in one project can have more or less atts like in other project, the workflows needed by Project Manager A have no influence on functionality of Issue Management system for Project Manager B. For such changes and customization you don’t need overeducated Java/JSP programmer – customisations have web based interface and can be done by a non-tech user.
Many Build Management “Broadcastings”, Project Owner “Forwarding” can be easily configured in JIRA, so that the writer doesn’t need to send email to many team members, but JIRA makes it automatically, on other hand, the email communication stays living – if the developers are used to it.
Development Information Pool And Distributed Teams
If the team works distributed, there are some communication impediments that influence know-how sharing among team members.
This can be solved with Wiki, with easily readable code or model or with good documentation. If nothing of this is fulfilled, the next possibility is to have easily searchable and a well-structured Issue Management tool. JIRA supports fulltext searching, which can help developers to find quickly the needed information and trace all related issues. It’s not only about the developers, the project managers can check if the feature or part of it isn’t developed in other team.
JIRA has from Atlassian extension called GreenHopper. But it’s not a must to have extension to work with JIRA agile. Basic JIRA can be used that fully supports Agile Development.
It is easy to install JIRA Eclipse connector, which brings the possibility to filter, view, update and handle JIRA Issues directly in Eclipse.
Transparency and Quality
Evidence makes the development issues flow more readable for all. That means the communication will be in some levels better, mainly between diverse development teams, but the communication inside will have more Issue based handlers to share information and knowledge.
A lot of Task Management integrators tend to cover all detailed requirements of Project Management and the result is an over-configured task management. If the Task Management is properly configured and it smoothly integrated the terminology, issue categorisation and issue properties will be adopted as a source of the company culture. Speeches about the work will be strongly related with Issue IDs instead of email subjects with date definition, workflows used by issues will be the base for communication about the work Progress.