getsentry / sentry

Developer-first error tracking and performance monitoring
https://sentry.io
Other
39.1k stars 4.2k forks source link

Configuring spend allocation for future periods so we can allocate the entire quota and not just available quota #51721

Open fsmaia opened 1 year ago

fsmaia commented 1 year ago

Problem Statement

Spend allocations are renewed monthly, so a new plan can be set and configured every month, or an existing configuration can last several months.

Currently, it is only possible to allocate the available quota instead of the entire quota, so the users can only configure the remaining amount of a month, instead of planning the upcoming months.

Imagine the following scenario: a project joins Sentry misconfigured, spending the whole company quota. By that time, the team discovers the spend allocation feature and wants to configure it for preventing this scenario to happen in the following months.

The team won't be able to configure it since there will be zero errors available, and it will have to wait until the turn of the next month to apply the configurations.

The experience could be even worse if the spend allocation is an automated process that runs on random day.

Solution Brainstorm

Users should be able to configure spend allocation for the upcoming months.

This could be as simple as allowing a single configuration that will be valid for every following month, taking place on the current month only if there is an available quota; or it could be more complex, with two or more configurations based on range periods.

Product Area

Other

┆Issue is synchronized with this Jira Improvement by Unito

getsantry[bot] commented 1 year ago

Assigning to @getsentry/support for routing ⏲️

getsantry[bot] commented 1 year ago

Routing to @getsentry/product-owners-settings for triage ⏲️

Dhrumil-Sentry commented 1 year ago

Hi @fsmaia Thanks a lot for the feedback.

When we started building spend allocation- We actually did have a way for users to add allocations for future periods.... and it got complex fast.

We saw users getting confused and dozens of edge cases crept up:

If a user adds allocations for a project for a future period then do they still expect allocations for other projects to get copied over?

If yes, what do we do if the older allocations don't add up with the allocation for the future period?

If no, then will you add allocations for several projects for the future period manually again?

That said, we 100% agree there needs to be a better way for users to add spend allocations so that you can take mitigation steps early on and I've added this to our backlog

fsmaia commented 1 year ago

Hi!

Definitely handling recurrence is tricky, and if we dive in too deep on the corner cases it's easy to get way too complex, and potentially confused too.

As Sentry quota are non-cumulative, maybe we should consider that allocating for the current month is the corner case, because the users mindset will be in recurrence (just like in monthly expenses/savings planning, which is a great analogy for this in my opinion).

Maybe we could have two inputs, one for the following months, and one for the current month that is pre-filled (as a default value) with the following months' value, and then the user is forced to override it if the current month doesn't have enough available quota.

Or in an even shorter way: only one input, and if the value is higher than the available quota, another input is shown with a warning like: "the planned value is not available immediately, do you want to choose a different value for this month?"

In terms of implementation, regarding the database, we should have a start date and an optional end date for each allocation, so it would be possible to edit the current month allocation (it is the one with an end date).

Then, if users get interested in more complex use cases, having start and end dates is an enabler for allowing user interface enhancements (like a table).

What do you think?

Dhrumil-Sentry commented 1 year ago

@fsmaia This is great feedback that I'll share with my eng and design teams. I'll keep this issue updated as I have more information to share

ellierider commented 5 months ago

Another wrinkle to add. Sentry provided us some credits to apply to our account but we were unable to take advantage of them because of this issue.

getsantry[bot] commented 5 months ago

Routing to @getsentry/product-owners-settings-spend-allocation for triage ⏲️

anthonynavarre commented 5 months ago

Can confirm this has directly impacted our traceability on several teams every month for the past 3 months.

anthonynavarre commented 1 month ago

And again this month.