Jira's Lexorank algorithm for new stories
Data Structures & Algorithms practice on Codemia
Step through 300 algorithm problems with animated visualisers that show the data structure changing as the code runs.
Understanding Jira's Lexorank Algorithm
Jira, a popular project management tool developed by Atlassian, uses a sophisticated ranking system known as Lexorank to order issues and stories efficiently. Understanding Lexorank is essential for teams looking to maximize their workflow efficiency. This article delves into the technical underpinnings of the Lexorank algorithm, exploring its purpose, functionality, and benefits.
What is Lexorank?
Lexorank is a dynamic ordering algorithm designed to efficiently rank and reorder issues within Jira. Its primary use is in Jira’s backlog and other issue lists, where tasks must be dynamically reordered by importance or priority. The algorithm's ingenious design allows for efficient ranking while maintaining performance scalability.
Technical Foundations
Lexorank operates by assigning each issue a lexicographical rank, essentially a unique, sortable identifier. This rank acts as the primary index for ordering issues. The algorithm is designed to be space-efficient and can seamlessly handle ranking operations even as the number of issues grows.
Lexicographical Ordering
Lexicographical ordering is akin to the way words are arranged in a dictionary. When applied in Lexorank, each issue is assigned a string identifier consisting of alphanumeric characters. Ordering is determined character by character, from left to right.
Interpolation of Ranks
One significant feature of Lexorank is its ability to interpolate ranks. When a new issue needs to be placed between two existing issues, Lexorank assigns it a rank that fits between the ranks of the adjacent issues. This operation involves "splitting" the rank space to insert a new rank.
Example:
Imagine a simple backlog with the following ranks:
- A
- C
Inserting a new issue between rank `A` and `C`, Lexorank can allocate rank `B` to maintain order.
Handling Sparse Ranks
Lexorank operates well within sparse rankings, allowing the inclusion of new issues without necessitating a complete re-indexing. This efficiency relies on ample rank space between ranks, which the algorithm maintains through careful interpolation strategies.
Related reading

DSA Fundamentals
Master algorithmic patterns and data structures through hands-on LeetCode-style problems - from arrays and hashing to dynamic programming and advanced graphs.
View the courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
Data Structures & Algorithms practice on Codemia
Step through 300 algorithm problems with animated visualisers that show the data structure changing as the code runs.