The Atlassian product suite is most commonly used by IT companies to define requirements and track issues in their Agile projects. However, teams often have questions around what are the best practices of managing requirements using JIRA and Confluence.
In this article, I will be discussing how to add different types of requirements on JIRA and discuss a few best practices for managing the same.
Creating requirements on JIRA
The ‘Create’ option on JIRA opens up a pop-up window that allows the team member to create an issue as indicated in the image below.
The starting point for adding any set of requirements is to first add business requirements as Epics. The user can also add requirements as features or user stories. Changes to requirements can be added as improvements, incidents, ideas or even as a bug. JIRA also provides the possibility to add test cases and test scenarios also as issues that helps better manage projects heavy on assurance of solutions.
Epics added will appear on the left side of the screen as indicated above. The user can expand on each epic and view issues added as user stories, tasks etc. under that epic. The user may also directly create a story under a particular epic by selecting the Create Issue in Epic option.
Epics in traceability wth atlassina JIRA will be colour coded and a tag will appear against each issue allowing the user to easily identify to which epic a particular issue belongs. This helps teams group related issues together to better manage the progress of feature groups identified as epics.
When adding issues in JIRA the team members can add a lot of information about a particular issue. Below is a small discussion about these aspects and on how JIRA supports the same.
Every issue will need to have a summary explaining the issue, type of issue, priority of the issue, due date, a person to whom the issue is assigned, who created the issue etc. Similarly, the team members can mention which environment the issue appears in or needs to be fixed on and the acceptance criteria for the issue added as a description.
The team members may also specify the complexity or size of an issue in story points or specify the effort required to complete the issue. The team may tag epics to which a particular issue belongs and in addition to that add any supporting materials as attachments.
Issues may also be tagged to a sprint or just be kept on the backlog for future development. Labels added to issues can be used as tags to assist with searching issues in the future.
Tasks and subtasks can be added under issues/stories created in JIRA. This is possible by selecting the Create subtask option from within an issue in JIRA as shown on the image below.
One of the common problems teams face in terms of requirements on JIRA is with regards to the following. There are lots of instances where issues go beyond the duration specified for a particular sprint. Similarly, multiple subtasks need to be completed in order for a story to be marked as a sprint. It is fine if all subtasks added under a story can be completed during the said sprint. However, more often than not it is not the case and tasks get overrun. Similarly, there are stories or issues which may run for months together where multiple long-running subtasks need to be completed for a story to be marked as done. How do we handle this in JIRA? Is it reasonable to keep on creating the same user story over and over again whenever a related subtask needs to be created? Is it a good practice to keep on forwarding a story to subsequent sprints marking them as not done and let your velocity suffer?
JIRA provides a solution to overcome the above dilemma, allowing teams to link tasks to stories.
This allows teams to specify tasks or issues as belonging to, blocked by, cloned by, duplicated by, relates to or as to be tested by another issue in JIRA.
Issues or tasks added using the above approach will allow teams to complete and mark these tasks as done without affecting the whole user story which is the parent of it. The parent issue or user story can thus be forwarded to a future sprint without any issue.
Discussed above are some of the best practices in managing issues in JIRA. If used intelligently, JIRA can be a very powerful tool to manage Agile projects.