JIRA is the software or a tool, which is used for bug tracking in software testing. JIRA is generally used as an issue-tracking, and it also performs many things like Managing, Planning, and Tracking.
JIRA Table of Content
- Installation of JIRA
- JIRA Waterfall model
- JIRA Agile
- Values of JIRA Agile
- JIRA Agile Principles
- Uses of Scrum
- Three Artifacts of Scrum
- Scrum Role
- Scrum Ceremonies
- Working of Sprint
- Kanban Board
- Kanban v/s Scrum
- JIRA Issues
- JIRA Issues Types
- JIRA Workflow
- Bug Lifecycle
JIRA is a tool used to detect bugs in software testing. The ‘JIRA’ word came from the Japanese name, GOJIRA, which means GODZILLA. The current version of JIRA is 6, and it based on agile methodology.
Installation of JIRA
Below are some essential steps to install JIRA software:
1) Firstly, open your favorite browser and search for ‘download JIRA software.’
2) Click on the first link, as given in below image:
3) After clicking on this link, the below page will open.
4) Through this, you can take a free trial of the JIRA tool. After clicking on the above Download option, a .exe file will download.
5) After downloading the .exe file, this popup menu will open, which is given below.
6) Click on the Next button.
7) Choose the option accordingly and click on the Next button.
8) After clicking on the Next button, this kind of popup window will open, which is given below. You have to click on the install button to install the JIRA tool.
9) After clicking on the Finish button, it will extract the files and wait for that.
10) After completion of the installation, it will show the popup window that ‘installation of JIRA software 8.4.2 is complete’. Click on the Next button.
11) After clicking on the Next button, ‘launching JIRA’ gets started.
12) After that, click on the finish button to complete the installation of JIRA in the system.
To understand JIRA tools, we must know the Waterfall model, which is given below:
The Waterfall model works as the water cycle. In the water cycle, when droplets release from the cloud, then it would not be able to reverse at that moment.
Same with the waterfall model, once it completed its phase then it would not be able to go on the previous stage.
As same to the water cycle, the waterfall model does their work, after completing all phases, it will do changes from the starting phase.
Requirement gathering and requirement analysis
If the client wants to develop software from the company, then the company’s priority is to gather the related data or information.
After gathering the requirements or data/information, the company analyses the data to separate the usage data and useless data.
- GUI Design
- Data Flow Design
GUI (Graphical User Interface): Graphical User Interface is the layout or template design of any application or software.
Data Flow design: In the Data Flow Design, the company makes the diagrams related to the data flow.
DFD (data flow diagram)
In the Development phase, the company does the coding part of the software.
- Front-end code
- Backend code
Frontend Code: The frontend coding is used for UI design. For UI design, HTML, CSS, Bootstrap, etc. like languages used.
Backend Code: Backend code is logical coding.
Database connectivity, Classes.
Testing is a must for software to find bugs and errors.
Testing the software is having an advantage, that’s reducing the loopholes of any software.
When our software testing to be completed, then that software to be ready to deliver in the market.
The maintenance phase occurs when the client faces any problem after delivering the product.
To know the problem which occurs after delivering the product, the company takes feedback to the customer.
If there is an online website, and their users can give their feedback accordingly.
JIRA Agile works on the Iterative Model. Agile is a philosophy.
A set of values and principles to decide on developing software.
Values of JIRA Agile
- Individuals and interaction, Over processes and tools.
- Working software, Over comprehensive document.
- Customer collaboration, Over contract negotiation.
- Responding to change, Over following a plan
Individuals and interaction, Over processes and tools:
Individuals and interaction, over processes and tools, is the first value of JIRA Agile manifesto. It means that better to interact with the client, manager, or team for resolving the problem.
Working software, Over comprehensive documentation:
Sometimes we feel that our software development team takes much more time to make a document for the project, and the project will not keen to start until the report will not ready. In that case, our second value of JIRA Agile works on that. In this, you have to create a document through working software over comprehensive documentation.
Customer collaboration, Over contract negotiation:
Agile management extends to your relationship with the customer. JIRA Agile third value emphasizes customer collaboration.
Responding to change, Over following a plan:
The JIRA Agile fourth value used to address the response to improve. In JIRA, Agile change is a valuable tool to create great products.
JIRA Agile Principles
- The highest priority of JIRA Agile is to satisfy the customer.
- It’s essential to business people, and developers should work together so that they can collaborate easily, after all, they work for the same goal.
- Face-to-face interaction is the most efficient to share information with the client and the development team.
- It accepts the changing requirement, even delay in development.
- Working software is delivered frequently from a couple of weeks to a couple of months.
- Working software is the first measurement of progress. According to the agile principle, whatever the software has developed through report/documentation or whatever your project manager is saying, how much software developed or working is called a measure of project.
- Create projects around the motivational person, give them the needed environment and support.
- The functional architectures, designs, and requirements emerge from the self-organizing teams.
- Continuous commitment to technical excellence and good design improves agility. That means the team member should be sound technically, so they can make good design if changes occur.
Scrum is one of the agile processes, and it is the most popular framework in agile.
History of scrum
Scrum first introduced by professors Hirotaka Takeuchi and Ikujiro Nonaka in their 1986 Harvard business review article.
Scrum is lightweight, simple to understand, challenging to master.
Few key points of scrum
- The product developed in sprints.
- People work as a single team.
- Continually deliver functioning products.
- Continuous customer feedback.
Uses of scrum
- Research and identify markets, technologies, and product potentials.
- Develop products & enhancements.
- Releases product enhancement very frequently.
- Developing & sustain cloud environments for use.
- Sustain and renew products.
Three Artifacts of Scrum
Product backlog: Product backlog is a collection of activities that need to be done within the project.
When we develop any software, then we need to perform an ‘n’ number of tasks.
For example: If we develop a web site, then we have to make the login page, home page, and do link in those pages.
Sprint backlog: In scrum, we break scrum into the different sprints, and the objective of the sprint is to bring the small functionality of the software and ship it to the client for demo.
In product backlog, we need to do all the activities which are required to develop software while in the sprint backlog, a small set of product backlog activities performed within the sprint.
Burndown chart: The burndown chart is the result of the sprint, which shows the progress in a sprint. After each sprint, we need to check the development of each sprint.
The burndown chart shows that how you are working on the sprint.
In the burndown chart, the graph or chart starts from some time.
Product owner: As we know that in any software development, there is a client, and he approaches the company who develop his software. What company do? The company assigns the roles, i.e., product owner. The leading role is product owners who communicate with the clients to understand their requirements.
Scrum master: During the sprint, agile says that the team will meet once a day. When the team is working on scrum means that they are conducting meetings daily at 10-20 minutes, this meeting is called scrum meeting, and scrum master is the person who leads the scrums meeting.
Team: The team comprises persons who work on the project. And they can be developers, tester or designers. When we discuss agile, then we talk about the team, and we do not discuss individual roles like tester, developer, or designer.
As we know that scrum contained the number of sprints, that is having a different set of modules used to deliver the software. There is a meeting before starting the sprint planning, and in sprint planning, we discuss what we are going to do in a sprint. In sprint planning, the product owner explains everything about the product.
Scrum meetings are conducted daily for at least 15 minutes by scrum master where scrum master is the person who leads the team’s meeting conduct between developer, tester, designer, product owner, the client.
After each sprint has been completed, a meeting will be held with the client, where the product will be shown to the client for the presentation, and the team will discuss the improvements they have introduced to the venture.
Working of Sprint
Let’s take an example, there is a client, and he wants to develop their software, so that’s why the client will approach the service-based company to get their software to be developed.
The company is assigning the role to a person is the product owner. The client directly interacts with the product owner. And the product owner is to collect all the requirements from the client, which is called the product backlog.
As we know that product backlog is a set of activities that is used to develop the software.
If you are the product owner, before the sprint planning meeting, you will detect all the backlogs items. Once you identify all the backlogs items that you want your team to build in sprint, you would go to the sprint planning meeting and explain each of the backlogs of the item to the team.
The backlog is a set of activities that need to perform within the sprint.
From the product backlogs, a set of activities can be captured in a sprint backlog.
After working on sprint backlogs, the team starts working on sprints, and it can take a few weeks to complete the sprint, and the completion of a sprint varies from product to product. After starting the sprint, a daily meeting conducted is called daily scrum.
After the completion of the Sprint, then the Sprint is delivered to the client. It means that a minimum set of backlogs, which is called as sprint backlog is completed.
Sprint review and retrospective:
After delivering the sprint, there are two types of meetings. And that is sprint review and retrospective. In the sprint review, they give the demo to the client about the product.
Retrospective held between team members only, and they discuss the problems of sprints. Such as issues hampering their work.
Product backlog: Product backlog is a collection of activities which need to be done to develop the software.
Sprint backlog: To sprint backlog, we can say that it is a subset of the product backlog which needs to be completed within the sprint.
Scrum board: It shows the status of all the activities that need to be done within the sprint.
Scrum board has four status:
Open The task available in an open state means that the task did not start yet.
In progress If your task is in ‘In progress,’ that means your task completed.
Testing It means that your task is in the testing phase.
Closed It means that your task is completed.
What is Kanban
Kanban is also a popular framework like scrum, which is used to implement Agile software development. In the Kanban board, tasks which are available allow the team members to see every task at any time.
- Flexibility: In Kanban, the team focused on that work, which is ‘In progress.’ Once the team completed their task, then it pulls the next first task of the product backlog.
- Minimize time cycle: The cycle time is the amount of time taken by the work to travel from the moment it gets started to the moment it gets shipped to the customers.
- Visual metrics: Visual metrics are the way to improve team efficiency and team effectiveness. And it represents through the chart, and all the team members can view the data in the graph.
There are two kinds of chart used by the Kanban team
Control chart: It represents the cycle time taken by each issue.
Cumulative flow diagram: This diagram shows the number of issues which is present in each state.
- Continuous delivery: The main objective of continuous delivery is to deliver the product with a low-risk factor. The transition from the agile methods to continuous delivery moves the two-three weeks sprint to the Kanban methodology.
Kanban board is a tool in Kanban, used to visualize work and limit work-in-progress. In scrum, we are taking few activities from a product backlog and adding that into the sprint backlog.
There are three types of status in Kanban:
- To Do In this, you can create the issues.
- In Progress It means that your work is in progress area.
- Done This means that your work is complete.
Scrum v/s Kanban
|Planning||Scrum has a fixed plan. And it focussed on planning and scheduled meetings. Scrum starts with the sprint planning and ends with the sprint review retrospective. There is a meeting held daily so that the team should know about the next step, priority, and learned from the previous step.||Kanban has no fixed planning, and no daily meeting conducted in this. In Kanban, framework, changes can occur at any time. i.e., frequent changes occur.|
|Timeline||As we know that we work on the sprint that is having a fixed time duration that means after some time, we are going to deliver something to the client.||The concept of a sprint is not in Kanban; that’s why it has no timeline for delivering the software or product to the client.|
|Task estimates||During sprint planning, it is decided how several activities should be taken out of the backlog of the product and added to the backlog of the sprint. For example, if the sprint is for two weeks, then the number of activities is selected in such a way that they can complete within the sprint in two weeks accordingly.||It does not estimate the task.|
|Scrum master||As we know that in scrum methodology, we have a scrum master, who handles the team and conduct meeting daily.||But in Kanban methodology, we do not have any scrum master. In this, the responsibility of the individual person to deliver a valuable product.|
|Suitability||The scrum methodology product is suitable for a large-sized project, where the sizeable sized project can be divided into two parts.||But Kanban is mostly suitable for small size projects.|
|Constant changes||In scrum, continuous changes can be accepted quickly in a shorter sprint.||But Kanban is not able to accept significant changes, and it gets failed.|
|Cost||In scrum, there are benefits of task estimation because, with the help of task estimation, we get the minimum cost in a project.||As we know that in Kanban, there is no task estimation’s, so we do not get the accurate total cost.|
|Roles and responsibilities||In scrum, all the team members assigned a specific role by scrum master while the product owner gives the brief about the objective of the project on which team member has to work.||As we all know, Kanban is not assigning any role to the team member in Kanban’s responsibility of a team that they should work in collaboration to deliver the valuable product.|
|Measurement of productivity||With the help of cycle time, productivity measured, or the time taken to complete the whole project from start to end.||In this, using velocity through sprint, productivity gets measured.|
|Release methodology||Small release after the completion of each sprint.||Kanban is providing continuous delivery.|
What is Issue
JIRA Issue is used to trace the individual pieces of work that has been completed or not. It can be a bug, error, or any other issue.
Issues divide into some categories:
- Sub-Task: In sub-task, there is an option of a logged issue, there can be different tasks to resolve it, which can be said as sub-tasks.
- Bug: Bug is a problem that occurs in the functions of the product.
- Epic: The epic is a massive story of the user that is to break into smaller stories. The whole Epic can take an entire month. And epic represents a set of activities that are not converted into user stories yet.
- Task: The task is that work, which is to be done to achieve the team’s goal.
- Story: The story is a list of all the tasks which needs to be completed within the project. We can say the story as a simple description of the whole project. The product owner handles it, but anyone of a team member can write the story of the project. The story language is written plainly so that the user can understand easily knowing all about the project.
- Improvement: Improvement or enhancement to an existing feature or task.
- New Feature: It means the new feature of the product, which is yet to be developed.
Workflow is used to trace the status and the transition of an issue during the lifecycle of a problem.
The transition represents some work in the form of a link between the two status when the problem shifts from one status to another.
Three phases occur in the workflow by JIRA Tools:
ToDo can divide into two parts that are:
- Issue creation: When the tester finds their defect, then the tester can log the error in the Jira tool. Once the defect logged in the Jira tool/software, then the unique identification number is generated by the Jira tool/software. That’s why it called Issue creation.
- Summary and additional details: As we expect, the issue creation required a few other information that is to add or update to an issue such as severity, issue description, priority, subtasks, components impacted, upload screenshots, email history, etc. After adding all the information to an issue, the Jira tool assigns the status as a TODO state.
‘In progress’ state is divided into three activities:
- Assignee: When the issue created, then that issue is assigned to a person or a team. After assigning the issue to a person/team, then the status can change to In Progress state.
- Work review: In the issue, work is the first reviewed and monitored by the issue reporter, assignee, and other project’s management community.
- Quality analysis: After completion of the work review activity, changes are verified by the quality analysis team, which includes regression testing.
There is one activity in Done state
- Release to production: After completion of the development and testing part of product/software, then the product is released in the market. After releasing the product in the market, the status of ‘done’ is changed.
Bug life cycle
The Bug life cycle also named as a defect life cycle. The bug life cycle contains a set of states that a bug goes through. The number of states in which the bug goes through varies project to project.
There are states in the bug life cycle:
- New: When our bug logged into the bug life cycle, it called a new bug, and it goes to the NEW state.
- Assigned: The new status bug is assigned to a software developer to check whether the bug is valid or not. If our bug is invalid, then change the status invalid, but if our bug is valid, then status gets to turn into the assigned, and then the software developer starts working on fixing the bug.
- Open: When the bug assigned to the software developer
starts working on fixing the error. The bug can open at three stages.
- Duplicate: If the bug repeated or the bug relates to the same concept of the previous bug, then it changes the status to duplicate.
- Rejected: When the developer feels that the bug does not need to fix, then it changes the status to the Rejected.
- Deferred: If the bug is not necessary to fix at that time and it can set at the next release, then the status changes to Deferred, or we can say that the bug is postponing.
- Fixed: If the developer fixed the bug and do verification on that, it means the status of the bug changed to fixed.
- Retest: Once the software developer fixes the bug, then the bug is back to the testing to check whether the bug is fixed or not.
- Reopen: When fixed bug again arises, then tester changes status to reopen, and it goes back to the developer to fix that error.
- Verified: The tester always retests the error after the fixing bug by the developer, if there is no bug found, then status change to verified.
- Closed: If the bug does not exist for longer, then status change to closed.
We must be aware of these critical points in the bug life cycle:
- Bug Reporter: The person who is identifying the bug is called a bug reporter. The bug reporter did validate the bug and entered all details related to bug into the bug tracking tool like bug priority, test environment, application component, correct subject, etc.
- Bug Tracking tool: To fix any bug, bug needs to be logged into the bug tracking tool, and bug tracking tools are JIRA, Assembla, Bugzilla, etc.
- Bug group: The group of people who can see the bug details is called the bug group. The bug group people can be developer, tester, end-user, manager.