

Ask HN: Impossible to Write Good Software As a Service? - SamRichardson

I currently work at a digital agency, we offer our services to build websites for clients.<p>Now to write good software you need to iterate over it. I think we can all agree that it's also impossible to write a perfect spec of a product before it's built. Too many unknowns, interactions and hearsay.<p>The problem that we have is when working with clients you either:<p>a. Have a super detailed plan that the client signs off on before you build. You then run into all sorts of unforeseen problems. The client either pays for changes to the spec or you build a bad product. Either way the client is unhappy.<p>b. Have an informal plan of what you're planning where the client will continue to gouge additional work from you wherever they can. The clients happy but your business is earning an average of $30 an hour and your going home at 3am every night.<p>So,<p>B is realistic if you're going to be working to an hourly rate but no client wants that, they want to know an upfront final cost before they start. A is also not good, if the client is not happy, they're not going to come back.<p>How do you solve this paradox and offer software writing services that don't suck?
======
redguava
One solution for the upfront cost vs time and materials dilemma is to have an
in between model. Have a time and materials contract with a bonus for coming
in under a certain budget (or negatively a penalty for going over budget if
you must).

As for writing good code, unless your client is educated enough on the topic,
the won't want to pay for good code no matter what your contract. Sometimes
they might be justified too if there isn't going to be any maintenance, but
most often that's probably not the case.

I think your only option is to quote enough to cover doing it properly, and
sadly probably not get the job because you are more expensive than others.

I remember reading somewhere that when a client puts out a "tender" formal or
not, they typically choose one of the cheaper options, and therefore they
choose one of the vendors that least understands their requirements.

~~~
SamRichardson
I'm quite sure this is the same dilemma (or at least part of the problem)
which causes government projects to come in massively over budget and not
delivering on their promised feature set.

A recent project was delivered in Melbourne, Australia called Myki which I'm
assuming was delivered under scenario A from my original post (you can read
about it here: <http://en.wikipedia.org/wiki/Myki#Criticism>)

I like the idea of the mixed model though, that has some potential to it.

