Your partner in planning
As my project at work grew, I found tickets in the backlog EPIC increasing some even leading to 1.5 years old. Such large time delay also causes context loss and forces the PM/BA to open individual ticket and note priority.
Here comes BacklogAnalyser that analyses the tickets and classifies them into similar categories for effective decision making.
For Presentation slides visit here
- Python
- scikit-learn
- sentence-transformers
- app.py: Main application script orchestrating the workflow.
- preprocess.py: Loads and cleans ticket data.
- embed.py: Generates text embeddings using SentenceTransformer.
- cluster.py: Clusters ticket embeddings using KMeans.
- mock_jira_response.json: Sample JIRA ticket data.
-
Load Data: load_data() in preprocess.py reads tickets from mock_jira_response.json.
-
Preprocess Tickets: preprocess_items() combines title and description, cleans the text, and adds a clean_text field to each ticket.
-
Generate Embeddings: embed_texts() in embed.py converts each ticket’s clean text into a vector embedding using a pre-trained model.
-
Cluster Tickets: cluster_embeddings() in cluster.py applies KMeans clustering to group similar tickets.
-
Output Results: The script prints each ticket’s clean text with its assigned cluster/category.
python app.py- The tool reads JIRA tickets from a JSON file(JIRA API integration as part of future enhancement)
- It cleans and preprocesses the text data.
- Each ticket is embedded into a vector space.
- Tickets are clustered into categories using KMeans.
- The output shows which tickets belong to which category.