HACKER Q&A
📣 throwawayops123

How do you balance support and sprint tickets?


Our DevOps/SRE team has been trying to do Scrum for over a year but the sprints are always derailed by support work.

They've tried to add support tickets to the sprint as they come in, but that changes the sprint scope and renders the "velocity" metrics useless.

They've tried to exclude support tickets from the sprint and keep the scope very small. Some weeks it works, other weeks they overdeliver by a lot (because there were fewer support tickets and they got a lot of tickets from the backlog).

I'm thinking Scrum is useless for that team but management insists all engineering teams must use scrum.

Do you have any advice for managing tasks in a team that has support/adhoc and project tickets?


  👤 freedomben Accepted Answer ✓
I've been working on and/or managing both dev teams and devops/ops teams, and it is my very strong opinion that Scrum is terrible for devops/ops teams. No managers (besides me) want to hear it, but it's true. It provides the wrong incentives to the team and leads to pain and sadness all around, and eventually production outages and employee turnover. The Scrum game (heavily) incentivizes delaying support work at least until the next sprint, which frustrates the hell out of both teams. If you're doing the whole roadmap thing with goals and stuff, it's even worse because then the incentive is to either #WONTFIX or half-ass it or somethign else to make it go away so you don't attract the eye of Sauron from the spreadsheet overseers by slipping on your "already pretty aggressive" goals.

What to use then? Kanban, with little to no deadlines (estimates are ok but be careful as it's very easy for an "estimate" to turn into a "this work is late because we thought it would be done by X.")


👤 codingdave
Don't do Scrum when your work priorities changes more often than your sprint length. If they want to do Agile, do Kanban. Or Scrumban. Something where the process fully supports popping a new ticket to the top of the priority stack.

If there is any one thing teams new to Agile need to learn, it is that Scrum is just one choice among many. And nowhere near as universally useful as people seem to believe.


👤 tecleandor
We designate a support person every week (like a rotating position) and don't count with their dedication (or just a small percentage) for the sprint.

This also helps avoiding constant interruptions or context switching to the whole team that are now handled by the designated person of the week.


👤 madrox
I love the way my team does it.

- All support tickets go into a Kanban board separate from the scrum board

- Whomever is primary oncall works exclusively in this queue and is excluded from the sprint for that week. Depending on volume, you can add a second goalie.

- If the support queue is empty, the oncall works on lower priority debt or other OE.

- Oncall changes weekly for us on Monday

As a manager, I love it because it's predictable for planning. The team loves it because they're not constantly jerked around.


👤 jedberg
Scrum is useless for that team, you are right. You can't do scrum if more than 1/2 your work is ad hoc support tickets.

When I ran SRE at Netflix, our general trick was one person is on support for the week. They were the primary on-call, they handled any emergency support. Everyone else was primarily building, or at least doing longer-term follow up work from support tickets.

In major emergencies of course everyone would drop what they were doing and help, or if a support ticket came through for a tool someone else built, it was fine to ask them for help. But at least the mindset was "jedberg is on call this week, so don't expect him to be building anything this week".

We also had good management support so that when we went to review our quarterly goals, and 75% of them were red, they trusted us to know that it was because we had a lot of support load that month. Everyone who depended on our tools knew that they would be ready when they are ready.


👤 tboyd47
Combining both of these into one team is a terrible idea rotten to its core.

This is because the pathway to excellence of one leads to mediocrity in the other. Sprint tickets require an internal orientation, focused work, and blocked-out time. Support tickets require customer orientation, fast response time, and high availability.

If you require your developers to be responsive to customers' needs, they will never have time to do sprint work. If you require them to have excellence in sprint work, they will not be responsive to customers.

There is no way to "time box" these matters, i.e. devote a certain number of hours for this for a certain number of hours for that, because excellence cannot be time boxed. Excellence requires you to do whatever is necessary to achieve it. And these two types of excellence cancel each other out and nullify each other.


👤 jrochkind1
> Some weeks it works, other weeks they overdeliver by a lot (because there were fewer support tickets and they got a lot of tickets from the backlog).

OK, this is a problem because why? Some weeks it works, and other weeks they accomplish more than expected... and this is a problem why??

Like, what's the actual problem here, if good progress is being made on features and bugfixes?

My guess it's a problem if management is trying to use "scrum" to treat developers like sweatshop workers who they wring the most possible production out of. How can we know what the most possible production is, if they have a different amount of time to work on it every week?!?

We could come up with different arithmetic ways to solve this. Assign "points" to support tickets too (even after the fact, how much time they actually took?) to include them in your "velocity". Or keep track of how much time is being spent on support to, to "normalize" the velocity of the other stuff accordingly (different way of doing the same thing).

But personally I do not really want to help companies become better at treating developers like sweatshop workers to wring maximal productivity out of. I'd rather realign to "agile" it was originally intended, to empower developers to bring value, not to treat them as commodified interchangeable widgets to exploit and burn out.

but, I mean, exploitive companies gonna company I guess.

> I'm thinking Scrum is useless for that team but management insists all engineering teams must use scrum.

Which they also insist means relying on those "velocity" metrics? Can you do "scrum" without "velocity" at all?


👤 OJFord
> I'm thinking Scrum is useless for that team but management insists all engineering teams must use scrum.

All 'support' created tickets go into the backlog then, earliest they can possibly be addressed is next sprint. (Assuming you want the rule to change/it be someone else's problem/proposed solution.)

As a bit of an aside, I'm a bit curious about your role/the org structure that you seem to have oversight over SRE as well as other teams' working processes, but also have 'management' imposing roughly what they look like from above?


👤 swagtricker
Scrum is training wheels. The time boxes are supposed to make you reflect and improve. Ditch Scrum. Go to Kanban, scope your stories smaller and prioritize bug fixes over all new work until you're not writing bugs. Can't ship code without writing bugs? Improve your skills as a team. Start pair or mob programming. Do TDD to improve your design, testability & maintainability of your code. Start moving towards trunk based development and use feature flags to do REAL CI/CD (hint: using a build server doesn't mean you're doing CI). Code deployment != feature deployment! Strive to "roll forward" your code as much as possible and disable/enable features if you run into problems - learn to not "rollback".

Now of course, since this is HN somebody's going to sneer divisively at everything I just said and tell me it's not possible (despite the fact that I've done this, repeatedly in different organizations in a developer and coaching capacity for almost two decades now). Here's my preemptive caveat/STFU for detractors: the above method only works if you, as developers, have full control & ownership over your application code data, and do your own deployments or are partnered strongly with an OPS team that gives you full monitoring & Read Only access. If your team is working in an environment where you don't actually get ownership over your code and data, this won't work. If management, architects, or egotistical prima donna staff/senior developers "won't let you" pair/mob, do TDD, do trunk based development, or do proper CI/CD, this won't work.

P.S. If you're in an environment where "this won't work" - QUIT! Life's too short to put up with being expected to build software with one hand tied behind your back. These things are often easier to do in medium to small sized companies. These things are often easier to do on greenfield (or at least recent) projects.


👤 rado_stankov
Every sprint we have 1 person in rotation for bug duty. It works quite well. Overtime role takes some refactoring and tech depth as part of bug duty.

I have a blog post on the subject a while back: https://blog.rstankov.com/bug-duty-process/


👤 timmahoney
DevOps lead here; technically we have 2 week sprints, but we use kanban and basically add support tickets for each item that the team needs to work on during the sprint. This means that sometimes our "burndown" is more of a level line, but when that happens my manager understands, and we either determine the type of work that would reduce it or discuss adding more capacity. For tracking types of support tickets that come in, we try to determine which ones we can automate or heal completely so that those types of tickets dry up. Those items get roadmapped and worked down... eventually. It works OK, not perfect but I haven't found a better method so far, and everyone's happy with my team's work.

👤 rileymat2
Isn't the classic answer to take urgent tickets and allow that to show up in decreased velocity?

I have never worked anywhere, including using scrum, where I could avoid incoming issues for 2 weeks at a time.

At the end of the day, better systems, better code, less technical debt means less support. Issues with previous work might indicate a false velocity of the past, releasing low quality.

There are long term maintenance exceptions that happen to all code bases, that have nothing to do with quality, like supporting new platforms or unpredictable platform changes, those can go in as backlog tasks.

The real question is what you are using "velocity" for? Is it to help get a feel for work you can complete, or is it a metric to be judged by management to evaluate you?


👤 otikik
The "cover your ass" strategy involves tracking 3 things:

* Estimation time to complete each project task (hopefully estimated by the person who is going to do the job. Then add 20%)

* Status of each project task (from 0% to 100%)

* Time devoted to "support interruptions" each week. Doesn't need to be super detailed - something like "week 4: 5 man-days on support tickets x1, y4 and z6"

That way at the very least you are equipped to answer the inevitable questions "why isn't feature C done?". The answer would be something like "we still need around 2 more weeks of full-time work in order to complete that task, but given the current rate of interruptions we will realistically have it ready in one month".


👤 dboreham
You have discovered a couple of things:

Scrum doesn't survive "reality testing" in the context of actual s/w development projects.

Management (at least in your case) doesn't care about reality.

The usual solution is to participate in "software process theater" where you have the meetings and maintain the project plans for scrum, but actually use an alternative reality-driven management process to run your team.

Not perfect, but it's how software development has been done in at least 1/2 the places I've worked for the past 30 years. Before Scrum there were other crazy things, and there will be more crazy things to come. It's just the nature of humans + the endeavor of developing software.


👤 throwawaysleep
Go through the motions of Scrum and just reduce the amount of stuff in the sprint to compensate for the lack of work. If they are looking for points consistency, fiddle with the estimates to get the right numbers.

Scrum is an accounting tool. Apply all the shenanigans that one might find in financial reports to it.

At my first job, we just edited estimates after the fact to hit the velocity target management wanted.


👤 LambdaComplex
> management insists all engineering teams must use scrum

You could always point out that the Agile Manifesto specifically says "Individuals and interactions over processes and tools," and therefore you aren't doing real capital-A-Agile if teams aren't empowered to use the processes that work best for them. (It probably wouldn't do you any good, but it might feel good to say)

Why does management insist all engineering teams use scrum, though? I hope they're not trying to compare different teams' story points, because that would imply that management has a gross misunderstanding of how story points are supposed to work.


👤 300bps
Most doctor's offices set aside x% of time for scheduled visits and y% of time for acute visits each day.

We do it similarly. We generally reserve 20% of our time for production support and 80% of time for new development. If we have fewer production issues that week, we get more new development done. If we have more production issues that week, get get less new development done.

We have one generic production issue story where we put small things and we'll create a fully fleshed out story for larger production issues.

If we have a trend of having too many production issues then we raise that as an issue itself and get to the bottom of what is causing it.


👤 wintogreen74
I'd strongly suggest you look at Kanban over sprint for your work, if you deal with a lot of emerging priorities. The value of sprint is the shorter-but-fixed work windows. If you need to consistently manage priorities that change work within this timeframe, sprint is a worse approach. You probably have a good idea of how much of your work (over time) is interrupt-driven, so if you need to do some project-oriented work you can split capacity across these streams and then run them differently.

👤 4ndrewl
By value. Don't overthink it, don't arbitrarily call them 'bugs', 'support', 'features' etc.

Just do the most valuable thing first. Ship. Repeat.


👤 jasonlotito
Just do kanban. It's made for this.

> management insists all engineering teams must use scrum.

They aren't doing scrum. At the very least, just "do scrum" externally and internally do kanban. Management is clearly dumb enough to believe it.


👤 LanceH
You triage which will get done and your velocity goes down if you have a lot of support tickets. This will make your velocity a meaningful metric over time, reflecting your rate of production toward new features.

Orrrr.....you assign points to the support work as well, your team hits their 50 points every week or else they get hit over the head by management as to why they weren't on track.


👤 fd111
A couple of times in my career, I've had the extreme pleasure of working as a dedicated support/backstop engineer within a small-ish (~20 person) development group buried deep inside a giant multinational corp. (I'm one of those seemingly rare weirdos who strongly prefers troubleshooting, bug-fixing, etc.)

My priorities were inverted: customer escalations first, and if you have time left over, then go work on bug backlogs that no one else wants to address. Everyone else sprinted while I bumped along at my own pace -- subject to escalation priorities, of course.

Those were dream jobs for me, and the rest of the teams seemed to appreciate having someone -- anyone, just not them! -- dedicated to the support role.

Is it just my imagination that this kind of (I would say "enlightened") management/organization is rare in the industry at large? Or do lots of dev teams do this sort of thing? And where can I find them? :-)


👤 Galxeagle
From an individual perspective, we've really valued Google's SRE whitepapers in interrupts and incident handling. The key message is that setting up your team to enable bundling 'jumping on things' and also 'focus delivery work' makes both people happier and more productive than asking two people to do both. https://sre.google/sre-book/dealing-with-interrupts/

From a PM perspective, that also lets management pre-allocate capacity for the sprint. '2 people on prod support, and 3 people on development/project work' is a decision that can be made and pointed back to. And being allocated to 'jumping on things' means you don't have to justify your productivity/velocity/ticket count beyond responsiveness and issue cycle time.


👤 orev
> management insists all engineering teams must use scrum.

DevOps/SRE are actually System Admins (always have been, always will be), and they are NOT engineers. They are operations. You cannot run Operations using scrum/agile.


👤 jrowdy
First, it's right to expect a mix of new dev with support/maintenance tasks, and you're not alone. Second, if you're overwhelmed by support work, then I'd ask why?

We run scrum with 2 week sprint cadence and mix new dev with support/maintenance. The allocation differs based on season and events. Any support tickets we do don't count towards velocity and are mixed in with story point tasks and other maintenance/debt tasks. We track velocity as points delivered to a client, which helps with estimation for delivery of products / features to clients. This velocity is an average, and that's when the numbers work in your favor as "all estimates are wrong."

In a scenario where velocity is constantly decreased by support/maintenance/bugs, that tells a story, either of quality of work done previously, impatient management, or lack of discipline by the team. If you can't go a sprint without having to put out fires, that's indicative of a system that should be mitigated on a larger scale than continually applying bandaids, otherwise you'll constantly be bit.

In my mind, your choices are: change your cadence/strategy, change your values/philosophy, change management style, change your budget/velocity, invest heavily now to replace troubled systems, invest in man power to put out fires, or simply stay the course with a shift in perspective.

Only you can choose.


👤 grepLeigh
What's an example of a support ticket that might come in? Do you have a priority matrix for support tickets?

I find it helpful to rank support tasks by:

* Likelihood. Does this issue impact 10%, 25%, 50%, or 100% of all users?

* Pain. Where does this issue rank on a scale of 1 (minor nuisance) to 4 (product usage is impossible)

Adding categories about the "type" of work is also helpful. This lets you stay current on "crash" support issues while also giving you the ability to lesser-priority tasks for dedicated "localization sprints."

Check out excellent article for more examples: https://lostgarden.home.blog/2008/05/20/improving-bug-triage...

For some DevOps teams, I've found that "support ticket" is equivalent to "hold someone's hand while doing ____." This happens because DevOps people tend to be jack-of-all-trades and know their way around a wide variety of systems. If you're swamped by these kinds of tasks, start collecting metrics about the types of tasks coming in and build a self-service knowledge-base. Another common way to deal with this situation is dedicate 1 person to "triage" each sprint cycle. This person's workload is expected to be 100% support/routing.


👤 gorjusborg
What works well will probably vary wildly between companies, due to the way that internal-tier support has to interface with the more customer-facing tiers.

That said, you have to be brutal during triage. Have a bucket of time set aside to handle support. That time is used for operational issues that are important but not more important than any product work you are doing. On a healthy system, most of the issues can usually wait to be fixed, due to either low severity or low number of customer impacted (or both).

For very high urgency issues, you drop everything. The sprint doesn't matter anymore, you are keeping the lights on. If your team is constantly dropping everything and blowing out sprints (or whatever duration measure you use), you need to look into why. Most likely, there is a quality problem somewhere that should be your top priority for sprint work. If you can't prioritize fixing that sort of thing, you need find someone who will listen, explain how much money is being lost spinning plates due to something that could be fixed at the root.

If you still can't get it prioritized, find another company. You'll burn out and quit at some point anyway ;)


👤 kodah
You need to use styles of managing work that reflect the nature of the work and the responsibilities of the people doing the work.

"Sprints" work okay for product work. I use them a lot less rigidly than most people do with success. On-call activities should be recorded in a kanban-style project, these things are made for rapid reprioritization. Whoever works that board should be dedicated to only that board; making members of a team work in multiple project management paradigms at the same time usually has bad and confusing outcomes. Lastly, the "support" tickets can be varied. If they're requests that are gated by your team, I'd add them to the on-call kanban board. If they're just question/answer I wouldn't bother tracking them, you'll more or less end up recreating ITIL.

Some additional context would be to dedicate people to these boards for periods of time. Have a rotation that incorporates everyone doing a set amount of on-call on a recurring schedule. Build up a handoff procedure for the kanban board since context will be fresh every week due to the nature of the work.


👤 pdyc
Ideally go for kanban but if that is not possible don't exclude support tasks from sprint. Allocate some percentage of sprint for support tasks. What percentage would depend on actual rate of support tickets that you are getting week over week set some target for it and get buy in from management that if there is a significant variation in this mix metrics will be affected.

Fixating on metrics doesn't work. For managing humans, human touch is required. I am saying this despite creating a tool for managing metrics. My opinion is that metrics should be used as starting point to dig deeper into your process rather than using them as end goal. In this case if you are consistently getting higher than usual support tasks than it may be indicating some other problem like documentation not being clear in which case you need to improve documentation rather than manage the metrics or it could be a new product launch that would invariably lead to more support tickets until it gets stabilized.


👤 roberthahn
I see a few people advocating for putting one person on support each sprint, rotating through the team.

This works fine for small teams but for larger (and with large, older codebases), the ramp-up time for being an effective support dev becomes a drag because it can be months between support stints. We don't all have eidetic memories and forget the tricks we use to diagnose production issues.

To counteract that we've recently put a developer on a 6 month rotation, and support them with a rotating backup. This allows the primary support developer to not only stay productive fixing issues but also surface intelligence around the problem areas in our app (ie: what's always needing support) and construct tools to make resolution easier or better yet convert to a self-serve.

I infer from your comment that you're a smaller team so perhaps you won't need to put someone on a long stint, but you might want to consider doing so anyway in order to have a resource pave the proverbial cow-paths and make it easier for the team in the future.


👤 detaro
I've never seen the velocity metrics be not useless, so I'd sacrifice those. Or people need to realize that yes, a team that also does support will have widely varying progress towards project goals depending on support work load, that's not a problem. Who really cares if a team "overdelivers" because they got less interruptions than expected?

👤 nradov
Split the team and have a few members dedicated to support tickets on a rotating basis. Or just abandon Scrum sprint planning cycles and run Kanban. You may have to escalate the issue with management. In most organizations if you go up high enough you'll eventually find someone willing to make an exception based on proper justification.

👤 pengo
In our environment support trumps sprint every time, regardless of whether the support task is legitimate or not. By legitimate, I mean that many of the "support tasks" are things clients can do for themselves, but rather than point the client to the (excellent) documentation, the development team ends up carrying the baby.

👤 tjpnz
I'm a dev on an MLOps team, we also do Scrum like you. We keep support tickets out of the sprint and also have a weekly rotation for support work. It's far from perfect, some weeks are just plain rotten and someone has to go off their ticket work to help. But it has worked well enough for us in the year since we introduced it.

👤 theptip
I agree with sibling comments saying Scrum isn’t optimal for interrupt-dominated work like SRE. Kanban or Scrumban are good candidates.

Even for normal dev teams with customer-facing products (and therefore no zero support load) I have found a need to carve out some time for support work from the Scrum team velocity.

As others have suggested, having a dedicated engineer as primary support contact works well. You can figure out what the 95th %ile support burden is and remove that from the velocity. If you have a quiet week of support, the expectation is you spend the support budget on tools and docs, maybe improve automation on some existing scripts, knock out lower-priority incident remediation WIBNIs, etc.

If you have a >95%ile bad week, then the support engineer does less sprint work or the rest of the team pitches in as needed. But most of the time support doesn’t impact your velocity with this approach.


👤 bashhacker
My advice: have a maturity standard for services. Ensure they meet a certain standard before they are handed off to the SRE team. Until the service meets maturity standards to qualify for full SRE support, the team that engineered the service is frontline support. If the service maturity regresses, primary support reverts.

Here is our yardstick: https://gitlab.com/dreamer-labs/tsc/service-maturity-model

This shares the burden of the interrupt work. It's still interrupt work, and it still slows down someone's velocity, but because it punishes the service designers for their poor design decisions, those get better over time and the overall quantity of bugs goes down, not up.


👤 sandreas
My advice is to first define the importance of support and how many tickets have to be solved within a specific time period in % (with your manager). Then define a part of the team that works on tickets for one sprint (alternating). This worked pretty well for me.

Example:

  Your team has 6 members
  Your management would like to put 15% of the workload for support
  Every sprint 1 alternating team member is doing just support tickets
  You keep track of the support days of every member to equalize the workload (support is no fun)
  Because working alone is not the best situation you could work with 2 members every two sprints, but keep in mind that this means NO support ticket is solved for 1 sprint
This is the best solution I could find being forced to practise SCRUM - even if it does not match the rules exactly.

👤 code_runner
TLDR: support should absolutely tank velocity, make the org feel your pain. If they want better velocity they need to invest in shoring up issues.

One thing to consider… support tanking your velocity is a feature, not a bug.

Sounds like you need investment in support tooling etc that can lessen that burden. Velocity will improve when support is less burdensome.

This is obviously not one-size-fits-all advice but worked well for a previous org I was at. If the sprint work will have a side effect of fixing support or support is so intense it requires a majority of the team you HAVE to fix that first regardless if sprint/scrum/kanban, etc. if velocity was super high for a few sprints but regressions/bugs were introduced they could impact future velocity, so those high velocity sprints weren’t as productive as you thought. It’s never just one number.

The org I worked at with the absolute worst support/sprint structure also had the only code base I considered “unsalvageable”. They refused to do anything to improve existing processes and spent half of every team’s time on the same support issues on an endless loop. They never had the measurements needed to actually figure out where to improve clients experiences.


👤 djbusby
Support Tickets are like fires. Typically, there are folk waiting around in case of fire to render aid.

Rotate who the "fireman" is on the team, they are out of Sprint and just fix. Spreads internal knowledge around too.


👤 mike503
I've found it to be a square peg and a round hole. In every organization I've worked with. I'm always in a "support" team, which is more of a horizontal capability. Something akin to legal, accounting, etc. We exist to support vertical teams that can align with SAFe/scrum stuff.

We should only have scrum tickets tied to us that require sprint-specific work from a timing perspective. Otherwise, it's retroactive "tracking" points later on or preallocating points ahead of time for "support work" which is absolutely pointless.


👤 brightball
Do you do any type of Root Cause Analysis tracking?

If that many tickets are coming in and disrupting everything, I’d be using that to prioritize addressing the causes so the disruptions stop.

If you’ve ever read The Phoenix Project, this is well illustrated when they talk about prioritizing preventative measures for “unplanned work” and they map out in detail why it’s such a huge problem.


👤 raldi
Step one is to have Product/Sales define an SLO for support ticket resolution (and for all your key services, if you haven't already). Give more sprint time to whatever's falling behind.

If both are falling behind, you need to slow down the velocity of which you're demanding features be shipped, or loosen the SLOs, or hire more programmers.


👤 tartieret
We leave on person on "support duty" outside of the sprint. One of my friend working at Amazon in a team of 8 did the same with 2 persons out of the sprint (one being "on call" and dealing with support & operational issues, the other one working on "improvements" voted by the dev team, like better tooling, better monitoring...)

On my side, working in a small team of 5, we just leave one person out of the sprint to work on support requests, bug fixes and if time allow improvements. Large handling of technical debt (ex: transitioning from VueJS 2 to 3, good luck expressing this as a "product increment" in a sprint goal and good luck if you don't tackle it ... ) are part of sprint work.

Overtime, I realized that Scrum is a framework, not a fixed set of rules, and as per Agile, the goal is to maximize business value. So if we are swamped by support requests and our systems are not operating properly, it's the role of the person on "support duty" to warn the rest of the team and ask for help. Sure it may impact some velocity metrics and we may not hit our sprint goal that week, but why would that matter? There is no point writing more code and building more features if what we have is not working properly and not satisfying to users.

The main issue i have seen with this system is that the developer on support duty may not have the right skills to perform all the work that is needed. Scrum relies on the assumption that anyone can do anything, and that's definitely a flaw when working on a larger codebase with a mixed of frontend, backend and devops with more junior developers. It does force us to train everybody and learn to delegate so that everybody can be exposed to all parts of the system but this takes many months / years.

We also learnt to define smaller Scrum goals. It's better to achieve a small goal and then decide what to do next than to always feel like we are running behind. The sequence of "two weeks" sprints is often seen as a "fixed" schedule with deadline to hold at all costs, but that's stupid. The core idea of Agile is to follow an incremental approach following the path of max business value delivery, and periodically reflect about how things are going. If the amount of support requests and operational issues is such that there is no more resources available for new feature development, then it's time to prioritize tackling some technical debt and improve monitoring and automation to prevent the most common issues


👤 raptorraver
We have designated support person which changes weekly. He is the first line of contact in our team and reacts to support tickets. Of course he can't resolve them all by himself but he delegates them further if help is needed. He doesn't even try to do any sprint tickets. This arrangement has so far worked quite well.

👤 mancerayder
By finding a new job! Sprint is completely inappropriate for infrastructure teams. It's impossible to predict support work, and there's a ton of unpredictable engineering effort even for scheduled projects.

If it is implemented, then it'll be heavily gamed, or you have people working ridiculous hours.

Kanban makes more sense.


👤 AtlasBarfed
Usually situations like this involve support added to the workload of a dev team.

... Without adding additional staff of course.

Sometimes the"scrum" is imposed to try to order and manage things as the support burden adds more and more disruption. In a vain search for a magic bullet.


👤 comprev
I've worked on a team which rotated the "daily support" tasks, which included on-call duty during those 7 days.

They were in effect excluded from the sprint during that week.

It was also a company who was trying to shoehorn everything into SCRUM because a consultant told them.


👤 maayank
I'm in a similar boat. Furthermore, people tend to overlook that many new issues -> lots of routing effort (e.g. reading the ticket to see what team it best fits and then which person) which further cripples mid- to low-level management.

👤 SkyPuncher
Velocity metrics are mostly useless.

We rotated support engineer among our team members. When they're on support duty, we just assign them half as many sprint points. If they have a light support week, they take on extra work. A nice bonus for our team.


👤 agrimonyhal
This might sound crazy but if you’re being forced to use scrum, you could try daily sprints. Obviously, you can’t do every ritual every day. But you can prioritise and commit to a plan based on what matters most each day.

👤 mbostleman
Like many others here, rather than answering how to make it work, I would say the premise is not valid - scrum isn't the right tool for devops. Probably something more akin to Kanban should be looked at.

👤 aik
To deal with this we have multiple devsupport devs that sit with support and handle urgent issues, anything larger/multi-day goes into the sprint queue/backlog to be triaged for the next sprint.

👤 CuriousSkeptic
If you do 1-day sprints and merge the daily stand-up meeting with the demo and sprint-planning and retro you may get away with calling it Scrum and still have something that works

👤 ernest0r
In my previous team we used a single kanban board for dev and support. That worked well, and did not require much of effort to communicate possible delays.

👤 ineptech
Just stop making sprint commitments. If your priorities change from day to day, what use is a list of priorities from two weeks ago?

👤 ddalex
I allocate 30% of the working time to support, 60% to development time, and 10% slack as in reserved for unexpected contingencies.

👤 gardenhedge
I've seen scrum failing to work too many times. It can work of course, but generally doesn't.

👤 steve1977
We don’t. If you do support (or ad hoc work in general), you‘re not doing Scrum. Use Kanban.

👤 markus_zhang
We have an oncall rotate in which whoever is oncall is not expected to work on anything else.

👤 Strongbad536
Do Kanban if you're a team that is relied on by other teams for support

👤 taubek
Is it an option not to introduce support tickets into sprints?

👤 t312227
why scrum for such a team?

just use a kanban-board with a backlog ...

just my 0.02€