
Ask HN: What do you do when clients want SLAs? - porker
I work mostly as a developer&#x2F;consultant, either alongside development teams or developing web apps directly for companies. I enjoy it, and like the variety of the work.<p>Recently, a number of larger companies have been approaching me for work - either direct or I&#x27;ve been invited to take part as part of a tender process. One thing they all want is SLAs. Providing that for hosting is easy - I refer them to a 3rd party hosting company who can manage everything. Providing that for the app that I develop - that if it stops working I will respond within 2 hours and have it fixed in 4, as they specified in the last case - is not so easy.<p>There is only one of me, and if I am working on-site for another client, I cannot respond. If I&#x27;m on holiday with my partner, I&#x27;ll be castrated if I have to get up at 11pm and go and do emergency work.<p>With existing clients I have a &#x27;best efforts&#x27; agreement, and I have fixed a few issues while on holiday - but to me a SLA is in a different league.<p>What would you do? Is there an alternative to expanding to become a team of 3+ programmers?<p>Obviously the client doesn&#x27;t want to pay $$$s to retain me&#x2F;enough to hire a 24&#x2F;7 support team - they expect it for free as it&#x27;s what larger development agencies provide as part of the package (and not expensive for them to give the junior developers pagers...)
======
davismwfl
SLA's are never free from anyone, and if an agency is doing it for free
without an ongoing contract they are leaving a ton of money on the table. For
an enterprise SLA like the one you are discussing, 2hr response, 4 hr fix,
that would require a good sized retained services agreement from me and most
agencies I know of. And that is how I would do it, make them pay you monthly
for the RSA or quarterly etc.

As for how you manage it so you can keep your manhood in tact, which I can
totally relate to... Find another freelancer that you can trust, train them on
the system as well and use him/her to back you up. Pay them for the time you
would be away. E.g. if you are gone for 2 weeks of time, and a monthly fee is
$2k then pay them $1k for being on call and ready.

Also for the 4 hr fix, you need to make sure that it is not a guaranteed fix
within 4 hrs as not all problems can be addressed in 4 hours. There is
standard wording to address this in contracts and make them comfortable. What
they are looking for is that for security issues and simple things that are
emergent that pop up they get squashed quickly. But unless they are totally
unreasonable they will understand that you can't guarantee in software that
any issue they bring can be solved in 4 hours.

~~~
akbar501
> SLA's are never free from anyone

This 1000x. SLAs are not free. Your time is not free. Nothing is free.

No agency is doing ongoing support for free.

Either a.) the potential customer is negotiating hard, or b.) the other
companies have included this expense already in the main bid and have bounded
the max hours they will provide support.

~~~
porker
davismwfl and akbar501: thanks for your responses. I worded that part of my
post badly: I meant to say that it's (pretty much) free for the agency to
offer, though I'm sure they charge the clients a 'high market rate'.

For the agency I was commenting on, by the time they've got 4-5 developers to
carry the pager in turn, and offer them $100/week extra when on duty (and you
can find alternative employment if you don't want to do it), it's very little
overhead for them. Sure, not every developer knows the application code well
enough to pin-point an issue quickly, but they've provided peace of mind to
the client.

~~~
davismwfl
Just to point out, you can do the same thing those larger groups do to, just
being a little more creative. Take the deal, get the monthly recurring revenue
for yourself and find a freelancer, intern or other person capable of backing
you up when needed. If you offer a reasonable rate to do it and there are a
lot of people that will work with you.

If you are interested in taking/bidding for the gig, but want some backup/help
let me know, maybe we can help back you up. Contact details are in my profile.

------
sjs382
"Obviously the client doesn't want to pay $$$s to retain me/enough to hire a
24/7 support team"

Then they can't afford what they want. It's as simple as that.

Even if they can afford it though, define the terms as strictly as possible,
and set a cap on all liability.

------
MalcolmDiggs
I was in the same boat for years, and just avoided offering any kind of
hosting or SLA services.

Eventually I just bit the bullet. And yes, it was exactly what you'd expect
(waking up at 3am to fix problems, being available 24 hours, etc). That's the
bad news. The good news is: These problems only exist for the first client who
signs up for the SLA. Once you've got 2,3,4 clients retaining you, you can
afford to farm the work out to others.

But also, it just forces you to rethink how the systems are designed. Write
more test coverage, build better failover mechanisms etc.

Also, don't go for that "respond in 2 hours, fixed in 4 hours" crap. Most SLAs
I've seen just state a guaranteed uptime % (99% or whatever) and you start
prorating your retainer fee if the uptime slips below that. That way, if you
really dont want to wake up (or if you're really unavailable to fix something)
you don't have to, you'll just have to refund some of your retainer at the end
of the month.

~~~
porker
Very interesting, thank you. I agree about rethinking how systems are designed
- I can see the need to build much more error-tolerant configurations.

How did it work for you farming out the work? Getting up to speed on any
codebase (such that you can fix issues under pressure) takes time, and to get
people up-to-speed on 3-4 codebases sounds a big investment in them.

~~~
MalcolmDiggs
Yeah, I never ended up letting 3rd parties loose in the code. I saved the
actual problem-fixing for myself. I just hired some guys on Odesk to standby
with a set of instructions on how to get the servers back up. Their only job
is to keep the sites alive, and this is pretty easy because 99% of the crashes
I experience can be band-aid'ed with simple restarts and such.

So their instructions would say something like:

    
    
       Reboot the server
       If problem still exists: Do ABC
       If problem still exists Do XYZ
       ...stop when site comes back online.
       ...write up a crash report, send to me with the server logs
    

When I get back on the clock I look over the logs and the report and take my
time addressing whatever the underlying issue is.

------
sarciszewski
Why not set up like this?

Critical bugs: (Security, Data Loss) - Fix within 7 days. For free if they
take less than 2 hours to fix. A day's wages otherwise.

Major bugs: (Usability, Stability) - Fix within 14 days. Fore free if they
take less than 1 hour to fix. A day's wages otherwise.

Minor bugs: (Aesthetic, etc.) - Fix within 30 days. For free if they take less
than 30 minutes to fix. A day's wages otherwise.

