At Atlassian, we take great pride in the software we ship, and even greater pride in the success our customers achieve when they use our products. #JiraHeroes is our new monthly spotlight series where we ask customers to share their success stories with Jira Software. We hope that customers will find inspiration on how to overcome their own challenges by hearing how our #JiraHeroes overcame theirs.
This month, we’re featuring @Alexander Bondarev, a Jira Software administrator at OTP Bank, who discusses how he reimagined the release management process for 100+ teams.
Hello Community! My name is Alexander Bondarev, and I’m a Jira Software and Confluence Administrator at OTP Bank. OTP Bank is a universal credit institution that offers a wide range of banking services and products for corporate and private clients.
I am a member of the IT Process Development, Management, and Measurements team (IT4IT Tribe), and we are responsible for creating IT processes, extending the functionality of tools, optimizing SDLC processes, and more. Specifically, I am responsible for the development and implementation of IT processes and tools such as Jira Software and Confluence.
I am also an Atlassian Certified Expert with six Atlassian Certified Professional-level credentials.
At OTP bank, there are 8 product tribes (70 development teams) that are responsible for making improvements to existing tools and supporting 25 business departments (41 teams). I work in an independent tribe that builds processes that span the entire organization. We wanted to update our Jira Software instance and streamline the software development process so that the product tribes can better support the business departments.
At the time, our software development process was chaotic. Some teams used Jira, other teams didn’t. We had no understanding of the volume of work, and it was impossible to carry out high-quality grooming of tasks. Some of the main issues with the pre-existing process are as follows:
The workflow was over-complicated -- There were a large number of statuses, different conditions, validators, and post-functions that did not reflect true business needs.
There was no standardized workflow -- Each product tribe had their own workflow, which meant there weren’t any common quality controls. This often resulted in miscommunications between the product teams and business departments.
There was excessive automation -- Changes were being made automatically. Since no one understood why these changes occurred, end users simply stopped following the process in Jira.
There was no process for prioritization -- Tasks were being served on a first-come, first-serve basis, but this didn’t always reap the greatest return and resources could’ve been better allocated.
Before making any major changes to the release management process, we conducted an extensive audit of existing processes and our Jira instance. We studied teams to understand who’s responsible for what, evaluated various tasks to understand the dependencies across different teams, and interviewed employees across the organization to understand their pain points and expectations.
Ultimately, we decided to move all business customers and product teams to Jira Software. We believed this would allow us to establish a single, standardized business workflow, provide end users with a flexible and convenient tool for planning IT improvements, and develop and implement a unified model for prioritizing customer tasks.
We made a strong-willed decision to go back to basics. Our previous instance was too complex and incomprehensible, alienating users from using Jira Software altogether. A simplified instance would greatly increase usage of and user confidence in the tool, thereby allowing all end users to speak the same language. Now, each product and business team has their own Jira project. All projects use a single-role model with only 5 main roles defined in the permission schemes: administrators, developers, sers, creators, sprint managers, and controllers. All projects contain 5 issue types: epic, user story, task, bug, sub-task.
We established links between the tasks added by business teams and the tasks selected to be completed by the development teams. Business teams create their tasks with the "User Story" type, while the product teams create their issues with the “Task” type. A link helps us align on the work we’re doing and reduces miscommunication.
We created standardized workflows for the business and product teams (see below).
We created a method for prioritizing tasks. When a business customer submits a task request, we determine the «Priority» (High, Medium, Low) based on when the task is needed by. Then, we assess «Severity» (Block, Critical, Major, Minor, Trivial) based on profitability, risks, and scale. Given the inputs, the «Order of the execution» field (values from 1 to 10) calculates and prioritizes tasks.
Business Teams’ Workflow Most business teams only want high-level visibility into where their task is in the process, so we created a simple workflow with clearly defined statuses to allow them to track their tasks through completion. Backlog - Tasks that are added to the backlog are assumed to be at the “idea” stage. They are not yet in production, but will be reviewed prior to moving forward. Business teams are encouraged to populate the backlog! Analysis - Task is being reviewed by the product teams for possible dependencies, build requirements, etc. Refine - Task requires clarification. The product team will collaborate with the business teams in the comments of the issue to resolve any questions. To Do - Task is now ready to be implemented. In Progress - Task is currently being worked on. Review - Task is awaiting review by the business team who requested it or is awaiting delivery to the production environment. Done - Task is resolved/implemented. |
Product Teams' Workflow We recognized that product teams have different ways of taking a task through to completion, so there is no single workflow for them. However, all The statuses shared amongst all product teams also align to some of the statuses in the business teams workflow: Backlog, Refine, To Do, Done |
Spend time analyzing the current processes and communicating with the main participants in the process. Your users know a lot -- they know the pains and problems, and most importantly, they will be users of your new process! Try to act iteratively, getting timely feedback on the work you've done.
Spend time creating a prioritization scale that works for you and your company. There are many needs across a company, and there should be alignment on overarching goals. This will make it easier to groom tasks and plan releases. It is also important that there’s transparency around this prioritization scale so teammates understand where their tasks stand and can plan accordingly.
Document your processes regularly. Yes, it is a difficult and endless process, but it is mandatory. The list of teams and their compositions are constantly changing - you should always have an updated "single source of truth" at your fingertips.
Take time to process requests before moving forward. Always try to understand the needs of users as much as possible, and then look for a solution.
Avoid unnecessary, non-obvious automation. Too much automation can cause confusion for your users, leading to lower engagement and usage. It can also be difficult for admins to manage. Simplicity is key!
Continuously educate your users on the correct use of the tools – how to search issues, how to create filters, boards, and dashboards, etc. We at our company do this through documentation and blog posts in Confluence, weekly demos, and meetups. Sharing knowledge is cool!
Do not stop learning by yourself. Use all the existing Atlassian Community opportunities: ask questions, answer questions, participate in discussions, read various articles, take part in challenges. Also, do not forget about the existence of Atlassian University, where you can always find useful and properly structured information. The more you know, the easier it will be for you to help your end users!
Continue to monitor the correctness of the processes and collect process metrics. This can help you address problems or deviations in the process in a timely manner!
Use process visualizations -- boards, dashboards, reports. It can be challenging to keep tabs on everything. Visualizations are an easy way to stay up to date.
Thank you for taking the time to read my story! Let me know in the comments below if you did something similar at your company or if you have tips and tricks of your own to share!
Connect with me on Linkedin.
Thank you so much for sharing your incredibly insightful story, Alexander! 🎊
#JiraHeroes have extensive knowledge of Jira, and share their thoughtful and tactical content with the Community! Are you inspired by Alexander’s story, or have a story of your own to share? Check out our call for submissions, and let us know you’re interested in the comments below to be featured and also receive our coveted Jira Hero Community badge! 🙌🏻
Do you want to become an Atlassian Certified Expert like Alexander? Learn how to get started here!
Rachel Tang
10 comments