Unrefined!

The ticket estimation tool for remote teams.

Enter the URL of the ticket to refine and press Start!

Implementation
Code implementations (endpoints, Airflow, models, queries, etc)
no change Add authorization check (one if condition added) Implement GetEntityMetadata (just return statement) and showing it in FE Parse a simple CSV file in airline UpdateAirlineData endpoint and expose it to cargo.drive Add an attribute to shipment model and update 3 airlines and 3 FEs to work with it 6 endpoints deep changes (i.e. link sharing)
Backend
Backend API changes (protos)
no change Small amount of API changes (e.g. 2 new attributes in a message) Considerable amount of API changes (e.g. 5 new messages, including nested ones) Huge amount of API changes (e.g. 2 new airlines at the same time + 2 new airline-specific additional data messages)
Migrations
Migrations
no change Simple schema migration changes to 1 DB, adding one or more fields Simple schema migration changes, adding one or more fields to more than one DB Any change that would require, long running, re-indexing of existing data Multi step schema changes requiring new fields and deprecating old ones. Complex changes to more than one schema in all service DBs
Data migrations
Data migrations
no change Populate all NULL rows with a default value Migration from stations to organizations from HubSpot (third-party system)
Testing
Automated testing
no change Creating or updating few test scenarios (e.g. 2 new integration tests + 1 new unit test) Creating or updating several test scenarios (e.g. 3 new integration tests + slight change to e2e test + update 2 unit tests) Creating or updating a lot of test scenarios (e.g. 5 new integration tests + 2 updated integration tests + 4 new unit tests)
Manual testing
External dependency on manual testing
no change Feature branch on staging for someone to test (if we think there will be challenges with running the test and/or follow-ups and coordination with an engineer are required)
Risk
Risk
no change Slight risk A lot of risk, we are very uncertain
Complexity
Complexity
no change There might be hidden complexities We need a design document
Pets
Pets
No pets around, sadly Gently begging for food or attention Is sitting in front of you, hiding your screen Jumping on your keyboard, writing something on Slack, and its jokes are better than yours Deploys its own branch of offer-service to production while you are away, and everything is so much faster and stable! Your pet rewrites everything in Rust, even the frontend 🤯
Implementation
Code implementations (for ex. core data structures, DB queries, endpoints)
No change Improve an existing functionality, covering one new use case Implement a small new endpoint, for example entity detail or list Implement new entity of the domain model Implement more than one entity of the domain model Simple addictive change to a domain entity that affect other domain entities, requiring updates on multiple parts of the application Multiple addictive changes to different domain entities Domain model refactoring, changing/removing domain entities and their schema
Domain
Domain entities modeling, interfaces
No schema change Schema change, adding properties to an existing model New schema(s) or destructive changes to existing ones Big schema refactoring, (de)normalization of existing schema
Migrations
Migrations
No schema migration Single DB, non destructive DB schema change, for ex. new table, new field, change field type Single DB, multiple changes, requiring creation of indexes or constraints, affecting many tables Multiple DBs, non destructive DB schema change, for ex. new table, new field, change field type Multiple DBs, multiple changes, requiring creation of indexes or constraints, affecting many tables All of the above plus risk of unforeseen performance issues
Data migrations
Data migrations
No data migrations Populate all NULL rows with a default value Update multiple tables, no constraint affected Update multiple tables, multi step needed to satisfy constraint(s) Generate and apply seed data for a new service or feature Move entities to a new domain/service, maintaining both systems up until finally migrated
Testing
Automated testing
No change Creating or updating few test scenarios (e.g. 2 new integration tests + 1 new unit test) Creating or updating several test scenarios (e.g. 3 new integration tests + slight change to e2e test + update 2 unit tests) Creating or updating a lot of test scenarios (e.g. 5 new integration tests + 2 updated integration tests + 4 new unit tests)
Manual testing
External dependency on manual testing
No manual testing Feature branch on staging for someone to test (if we think there will be challenges with running the test and/or follow-ups and coordination with an engineer are required)
Risk
Risk
No risk Slight risk A lot of risk, we are very uncertain
Complexity
Complexity
There might be hidden complexities Some initial investigation needed, but confidentat that it should not take too much time We need a design document

Refinement session flow

Start a new session

Paste the link to the ticket and click start. It automatically detects Jira, Gitlab, Github and Trello URLs (more to come!). Free text works too.

Start now!

Share the link with your team

After starting a session, share the link with your team to either estimate the ticket or whats the results.

Start now!

Get the final estimation

Once everyone have finished voting, the final result can be revealed with the option to re estimate the ticket if there is no clear agreement.
If needed you can refine a new ticket from the result page.

Start now!