Scenario
Design a recommendation system for Jira that helps users work more efficiently.
Assume Jira contains:
-
Issues/tickets (type, priority, status, components, labels, assignee, watchers, comments, description)
-
Users (team/org, role, skills, historical activity)
-
Projects/boards (workflows, components)
Product requirements (choose and justify)
Design recommendations for one or more of the following:
-
Assignee recommendation
: suggest the best assignee for a new issue.
-
Similar/duplicate issue recommendation
: show similar tickets to reduce duplicates.
-
Next-best issue
: recommend what a user should work on next.
-
Watcher/mention suggestions
: suggest relevant stakeholders.
Constraints & expectations
-
Near real-time suggestions when creating or viewing an issue (e.g., p95 < 200 ms).
-
Handle cold-start for new projects/users.
-
Must support permissions: users should never see tickets they can’t access.
-
Provide an MVP plan and a path to iteration.
Deliverables
Explain:
-
Goals and success metrics
-
Data and labeling strategy
-
Model approach (candidate generation + ranking, or other)
-
Online serving architecture and storage
-
Offline training pipeline and evaluation
-
Monitoring, feedback loops, and common failure modes