views:

244

answers:

6

With webapps being more and more common in business, it has not gone unnoticed by customers that you can roll out fixes and upgrades fast.

I think there is increasing pressure to answer "will be done ASAP" to every request, especially to bug reports. For programmers, ASAP work sucks. It takes self-control out of the work. In the long run, putting out fires chronically is unefficient and unprofessional, but in the short term, the client is more happy with your answer.

How do you deal with ASAP requests? I mean, do you have SLAs to define accepted response times or do you negotiate case-by-case? If you have SLAs are they adhered to?

In our case, we have SLAs with some customers but they don't matter much. SLA is more like an excuse if you can't do things immediately. Usually the severity of the issue matters, but some customers are better negotiators and override nicer customers who otherwise would have more urgent needs.

Of course, avoiding ASAP work with quality control would be the ideal approach. But the truth is, many SaaS offerings are practically tested with customers, in production.

+2  A: 

Raise your price. If they expect you to give instant response, it's worth more, and they should pay.

Charlie Martin
+5  A: 

My production lead tells me what I should focus my time on, if someone comes and says "you need to do this ASAP" (it happens atleast once or twice a day) I tell them they need to talk to my production lead if they want me to spend time on something.

I might seem as if I lose control over my own time with this approach, but that isn't it at all - I have a back and forth discussion with my production lead on what I and he thinks I should spend my time on, he always has the final word if needed but I almost always get to decide.

If anyone is giving me trouble about things that need to get done ASAP I just direct them to him and he handles it, if he thinks it's important enough to get done ASAP, he will tell me to drop my current work and do that instead.

thr
Yes, I think the key is to involve your bosses in the decision. I find that if I try to handle this myself and set the priorities it can spiral out of control and then my superiors who already assigned work to me get frustrated because I'm not getting the things they want done.
sjbotha
sjobtha: Exactly, programmers should not have to talk to customers ;)
thr
Awesome if you have the team structure, but the key to the Production Lead successfully managing the client is through managing expectations.
Toby Hede
+1  A: 

Control expectations before the work comes in.

Many people don't communicate why something takes as long as it does, which then leads to people believing it isn't a big deal to complete. Whenever this happens to me I make sure they understand that these requests shouldn't be the norm.

My responses vary but they usually fall into a few categories

  • No: This is the case when it's simply not possible in the time frame or it might be possible but something else would get sacrificed. Most programming issues aren't actually mission critical, people just think they are.
  • Alright but I can't promise anything: Short notice often times means that it's rushed and therefore not fully thought out. In these cases I try to not commit a guarantee since there could be unknowns.
  • Yes: Sometimes stuff is ASAP work and just needs to get done. You are getting paid to do it so bite your lip and get it done.
Paulo
I think this really is the only way to deal with the situation
Toby Hede
A: 

One mechanism is to define a number of issue severity levels, and have different response times based on those. For example a level 1 issue might promise a 4-work-hours response whereas a level 4 issue might just promise a 10-day response. If the deadlines aren't met, then the SLA penalty kicks in.

If a client insists on a higher level than the agreement warrants, then it would be normal to charge a higher rate for that.

Denis Hennessy
+1  A: 

Warning - here be dragons

Although ASAP is an acronym for "As Soon As Possible" it has 2 meanings.

  1. drop everything, ignore company policy, ignore bugs, no testing do it now.

  2. When the next available slot comes along (including current slot if possible), then do it.

These viewpoints are held by people as the only definition, they cannot conceive of the other possibility existing. Same as the definition of "quality" having 2 camps.

Which means that you must find out the view being perpetrated up front and document it in the source code/ticket system.

The effect is similar to queuing with view 2 being like normal prioritization and view 2 as what happens with priority inversion.

+2  A: 

I had a supervisor once who had a sign outside his office that read

Warning: ASAP means low priority.

The idea being, if you can't define a time and process, then 'As soon as possible' means just that, as soon as I get a chance to do it outside of my actual defined work schedule.

johnc