Many a software development team use Agile as their project management methodology. Atlassian JIRA is a great project and requirements management tool which allows agile based projects using Scrum, Kanban or Lean methodologies to manage their requirements.
Today, I’m going to discuss about a very important practical usage of Atlassian JIRA. We all hear about the importance of being able to trace business requirements right down to the software release which satisfies that need. Atlassian JIRA supports this requirement very well.
Let’s see how..
The highest level of requirements is business requirements. The business goals and objectives such as ‘A manufacturing organization looking to increase its market share by 20%’ or ‘A restaurant trying to expand its operations into a new region in order to increase its top most line by 15%’ are some examples for business requirements. Stakeholders of organizations develop stakeholder requirements based on the business requirements in order to deliver the business goals and objectives of the company owners / shareholders. As such ‘The sales head of the restaurant may have a requirement for a new CRM application to manage leads to customers’. These stakeholder requirements can be broken down into high level stakeholder requirements such as ‘Being able to manage leads’, ‘Being able to convert leads to customers’, ‘Being able to run campaigns’, ‘Being able to manage customer details’ and so on. These are actually your Epics and can be added as Epics in JIRA. You just need to select Create Issue in your JIRA board and select the issue type Epic as shown in the image below.
Then we can add user stories using the create story option and thereby define the functional requirements of the solution. The user stories created can be grouped together under epics and would be visible as depicted below. If you select Epics option from the menu on the left of the JIRA board, you can view the related user stories. Similarly the epic name would be visible against the story on the backlog.
So, unconsciously we’ve now traced business requirements to stakeholder requirements right down to solution requirements.
Now, against each user story, we can select to add subtasks using the sub-task option inside each user story.
These tasks define all the activities that are required to implement the functionality described as the acceptance criteria for the user story. The acceptance criteria may be written in the Description section of the user story. The list of sub-tasks may include all the UI / UX tasks, front-end development tasks, back-end development tasks, QA tasks etc. all which are required to complete the functionality listed in the user story.
During the course of the sprint, the sub-tasks will go through the different states defined in the JIRA board. The user story and associated sub-tasks will be clearly visible on the JIRA board as depicted below.The development team will develop the code as required to complete the each task. They will report progress against the sub-task.
The Atlassian suite has several plugins that facilitate traceability of the code, test case and software release to the JIRA ID. Confluence allows users to create Wiki pages to maintain detailed information as required. The business analyst may create additional wiki pages in Confluence to detail out some of the user stories which will be directly linked with the JIRA ID. Similarly the QA engineer may maintain relevant test cases, test scripts and test results in Confluence. The architect or the developers may create wiki pages in Confluence for the software design. Similarly, the UI engineer may create UI mockups and designs as Confluence pages and link them to the JIRA task ID.So now, we have created the capability to trace business requirements right down to the design and test case level using the absolute reference number that is the JIRA ID. Atlassian that is one single suite of tools is perfect for this purpose.
All this time we’ve been talking about vertical traceability. JIRA is suitable for horizontal traceability as well, which is tracing dependencies between requirements. The user may select to link related issues by searching and tagging the JIRA ID of the related user story to the user story being added in JIRA. The image below indicates the same.
I’m no developer to write much about the following. But I know that github which is the repository to which developers commit their code can be integrated in JIRA using the github plugin for Atlassian. This allows developers to first of all link code pieces to JIRA task IDs.Finally, when creating the release and adding the release notes the developer will indicate which JIRA IDs will be going out as features implemented and tested in that particular version of the solution.
Thus we can see that the Atlassian suite is a very powerful tool with many a capability to enable traceability from requirements right down to the code level. So, make sure to use the tool wisely. You will not go wrong!!