Jira has it all that it takes to be a versatile project management tool. It is easy to learn, keeps up to date with the latest Agile trends and certainly, much less-expensive as a bug tracking and project management tool. By adopting Jira for business projects, enterprises can get an opportunity to become agile, if they are not so already.
SQL Database Design For Developers at php[tek] 2024
Jira for DevOps - Loves Cloud
1. Jira for DevOps- Loves Cloud
Still in their fledgling state, DevOps and cloud computing have already seen a lot of
growth in the recent times. The main points of consideration when it comes to their
application are ‘how’ and ‘in which computing environment they perform. Jira offers
fluid workflow by identifying development issues at the earliest stage. This makes it
easier for the enterprises to make informed decisions leading to faster shipping and
higher quality of release. Tracking bugs and troubleshooting also get a lot easier for
various software solutions and mobile apps.
Schematic of workflow using DevOps
To get a sense of what all Jira can be used for, here is a brief overview:
Project Management
Bugs/Change Requests Tracking
Tasks Tracking
Workflow & Process Management
Help-Desk/Support Management
Jira Cloud and Enterprise version
Enterprise-level Jira benefits
Jira is well-acknowledged for its high configurability and flexibility. It allows for
usage in a wide range of processes and environment. The workflows, types of issues,
and screens in Jira enable customization for any scenario and can be easily altered via
the administration GUI. Following are the most important enterprise-level benefits of
Jira:
Create issue via web application or through pre-configured email address
Delivers real time, relevant information to multiple stakeholders
Enables you to know outstanding, scheduled and resolved tasks
Configurable email alerts on pending, overdue tasks
Periodic reports, configurable, automatically delivered to multiple stakeholders
Search for issues you look often, save them as filters
Jira supports the use of both Scrum and Kanban methodologies with each having its
specific requirements and benefits. With Scrum, you get better results for timelines. It
goes through the priority list in certain sprint. With Kanban, on the other hand, you
get a better outcome for service and support teams. It goes through a priority list as
fast as possible with no plan modes and no sprints.
2. How we enhanced user experience using Jira and DevOps: A short case study
At Loves Cloud, we constantly aim to provide top-notch problem-solving services to
our customers using DevOps, cloud and related technologies. We optimize, automate
and scale our customers’ workloads using open source software solutions. Our
services include planning, executing, maintaining and optimizing everything related to
cloud and DevOps along with converting our customers’ infrastructure to code.
DevOps Toolchain used in Case study
Following set of tools were used in the case study:
1. Jira -Used for Project Management and getting statuses from various tools.
2. GitHub-Served as Code Repository Tool
3. Jenkins-Used for creating CICD pipeline
4. Sonarqube-Used for code analysis and generated Analysis Report
5. Docker-used for Containering the application
6. Nexus Repository Manager-Published the Docker Images to
7. Kubernetes-deployed application on its cluster
While using Jira, we took a note of certain practices and worked on them to enhance
the overall user experience. The best practices include:
Recording all the tasks in Jira
Assigning story points for effort estimation
Timeline setting for a single task: Between 1 hour to 3 days
Breaking tasks that take more than 3 days into smaller pieces. For e.g.
Complete task
Review task
Rework task
Team assignment during the workshop
The workshop started with the entire project management team getting divided into
three sub-teams. A team assignment was created to be carried out in Jira. Three people
from the team were assigned with three key roles of that of the Developer, Tech Lead,
and Project Manager. An account on GitHub (www.github.com) was created for the
Developer and each of the Tech Leads
Phase I: Setting up Jira
3. We created 2 epics for our respective projects and 15 different user stories. We made
2 sprints of one-week duration each and added 5 user stories to each sprint. This
allowed the product backlog to have 5 left over user stories. The Project Manager and
Tech Lead added all the information to Jira. There was a list of key metrics we had to
keep an eye on including the overdue tasks. The key factors to be checked regularly
included:
Team velocity
Overdue tasks
Sprint burndown
Epic or release burndown
Task distribution
Time spent on features
Time spent on bugs
The first phase of the project ended with the Jira setup being completed along with the
software ready to use. A few important lessons learned in the process include:
Each task must be broken into smaller tasks by following agile
Every task and work must have a record in Jira
Each task must use either Scrum or Kanban methodology to manage the
projects
Phase II: Running the projects using DevOps pipeline
The second phase II of the workshop involved running the projects using DevOps
pipeline. The set of activities performed in it included:
Assigning stories in Jira to developers
Commitment of code in GitHub by the developers
Tech Lead merging code in Master branch in GitHub
Triggering Jenkins Job by GitHub
Running the Pipeline with all DevOps tools
Deployment of application on Kubernetes cluster
Repeating the same with multiple scenarios
Reviewing data from tools in each story in Jira
This is the Architecture Diagram of the DevOps Pipeline: –
Multiple DevOps tools are used to create a CI/CD pipeline. We automated the entire
process and architect the pipeline as shown in below architecture diagram:-
4. The following flow diagram will help in understanding the above architecture
diagram: –
From the following schematic, it is evident that the process starts with the creation of
feature branches through Jira and then committing code in those branches in GitHub.
After viewing the commit status in Jira, a Pull request is created from jira and
Branches are merged from GitHub. As soon as branches are merged, Jenkins Job is
triggered. As a result of Jenkins Pipeline, SonarQube is updated, Docker image is
created, Docker image is published to Nexus repository and the application is
deployed on K8 Cluster. Finally, the Jenkins Job status is updated in Jira.
Jira has it all that it takes to be a versatile project management tool. It is easy to learn,
keeps up to date with the latest Agile trends and certainly, much less-expensive as a
bug tracking and project management tool. By adopting Jira for business projects,
enterprises can get an opportunity to become agile, if they are not so already. We at
LoveClouds run comprehensive training courses for our clients to get them started
with Jira. You can accelerate your learning curve by attending these in-depth demo
sessions and benefit from it in the long run.
We at Love Clouds aim to provide top notch services to solve our customer’s
problems using DevOps, cloud and related technologies. Our services include
planning, executing, maintaining and optimizing everything related to cloud and
DevOps. What set us apart is our cost optimization, agility, continuous improvement
and certified professionals.