Live data from Hacker News

Ask HN: Could you share your general purpose development contracts?

news.ycombinator.com

31–40 of 54 posts

Re: Ask HN: Could you share your general purpose development contracts?

#31
post #28

Earlier quoted context omitted.

This is a good idea right up until something goes wrong. The client decides not to pay you -- what do you do? The client asks for revision after revision on a flat-rate job. The client refuses to buy stock photos, or refuses to provide some essential software component. The client insists, years later, that because they changed their requirements, something you did is now a bug, and they insist you fix it for free. Y…

A contract can limited the damage from working with a bad client, but not as much as screening out bad clients in the first place. I'm not saying that having a contract isn't better than every alternative, but it doesn't substitute for selecting good clients in the first place.

If you can see them coming, yes. There are some people that even if everything goes well it's not worth working for them. But the contract is often the difference between a disagreement that gets worked out, and a posting on Clients from Hell.

Re: Ask HN: Could you share your general purpose development contracts?

#32
post #31

Earlier quoted context omitted.

A contract can limited the damage from working with a bad client, but not as much as screening out bad clients in the first place. I'm not saying that having a contract isn't better than every alternative, but it doesn't substitute for selecting good clients in the first place.

If you can see them coming, yes. There are some people that even if everything goes well it's not worth working for them. But the contract is often the difference between a disagreement that gets worked out, and a posting on Clients from Hell.

But the contract is often the difference between a disagreement that gets worked out, and a posting on Clients from Hell.

I can't think of a single case where that's been true, in either my experience or anyone else's.

The contract language comes into play when everything has already gone to hell. Yes, there needs to be a contract. But you should never assume it will give you any particular leverage over a larger, well-represented client who has elected to take an adversarial position.

Re: Ask HN: Could you share your general purpose development contracts?

#33
post #31

Earlier quoted context omitted.

A contract can limited the damage from working with a bad client, but not as much as screening out bad clients in the first place. I'm not saying that having a contract isn't better than every alternative, but it doesn't substitute for selecting good clients in the first place.

If you can see them coming, yes. There are some people that even if everything goes well it's not worth working for them. But the contract is often the difference between a disagreement that gets worked out, and a posting on Clients from Hell.

Seeing them coming comes with experience. One heuristic I use is does the person try to see things from my point of view when discussing the contract. If it's a finite pie at the beginning, that's the way it will be down the road.

One of the things I've learned from Patrick Patio11 is that negotiations should be on scope not price. The implementation is that clients who expect me to deliver something they cannot afford aren't worth taking on.

Re: Ask HN: Could you share your general purpose development contracts?

#34
post #26

[IANAL] I come from a field, AEC, which in the US uses a lot of standard contracts. The AIA contracts, though not the only option, are very common and have been developed over the course of 100 years. The architecture series start with B. These are, in my opinion, a good model for a software consulting project because: + Neither party really knows the full scope of the work when the contract is let. As my mentor Ronn…

> + One person is the technical expert. The other party hires them for their judgement. The contract acknowledges that. I love this one. Anyone have ideas on how to apply this to software development? I really hate it when clients say "I want X" and I have to take an inordinate amount of time telling them why X is a very bad idea both in terms of effort and value. Generally this is during scoping so I have no way of…

Be professional. Part of that means knowing how to produce reasonable estimates. That requires having a plausible roadmap at the start.

In some ways, software will always be harder because the artifact in a construction project is the building not "the blueprints". If the design is dragged out, the building doesn't get built.

On the other hand, the way an architect handles "I want X" is by showing them that it is a bad idea. Showing means providing a design that incorporates "X" and one without. The assumption that everything will be done multiple times before it is right, and indeed that doing it multiple times makes it better, is what separates architecture from engineering in AEC.

Understanding that doing things multiple times is just part of the job and that falling in love with one's own ideas is a bad habit can be learned. It ain't easy. But in the end, the architect walks away and the client lives in the building. Software is similar in that way.

Re: Ask HN: Could you share your general purpose development contracts?

#35

I work on small projects (from $5k to $50k) and have no formal contracts. My thinking is that: - the client can afford more expensive lawyers than I can, so regardless of the truth they would be able to wipe me out - if the client has to read the detail of the contract, it's probably too late to save the relationship anyway - maintaining the relationship is everything, being honest and open and striving to maintain a…

Say you have the best client in the world (perhaps your own brother) and you do $5K worth of work. A few years later the company is acquired, gets all new management, and now your $5K software is supporting a $500M/year business. Some noob in IT blindly updates all the servers without testing compatibility and your software breaks.

A week later you get back from your totally offline trek through Nepal to find angry voicemails and emails from the organization now depending on your software, and you're now facing a $10M lawsuit from the new management for losses incurred due to your software breaking.

Long story short, your liability isn't limited to the relatively small amount you were paid for the work. And because you didn't have a contract, you could be held personally liable and risk losing your house, retirement savings, etc.

Re: Ask HN: Could you share your general purpose development contracts?

#36
post #31

Earlier quoted context omitted.

If you can see them coming, yes. There are some people that even if everything goes well it's not worth working for them. But the contract is often the difference between a disagreement that gets worked out, and a posting on Clients from Hell.

But the contract is often the difference between a disagreement that gets worked out, and a posting on Clients from Hell. I can't think of a single case where that's been true, in either my experience or anyone else's. The contract language comes into play when everything has already gone to hell. Yes, there needs to be a contract. But you should never assume it will give you any particular leverage over a larger, we…

Contracts work really well for resolving problems when the parties operate at the institutional level. The people at the school board are constrained by the institution. The corporation managing the construction is bigger than the just another project manager running the job. Individuals are limited in how badly they can get away with behaving.

There were already lawyers working for both parties before they signed the contract. Nobody has to find one just because there was disagreement.

Re: Ask HN: Could you share your general purpose development contracts?

#37

I work on small projects (from $5k to $50k) and have no formal contracts. My thinking is that: - the client can afford more expensive lawyers than I can, so regardless of the truth they would be able to wipe me out - if the client has to read the detail of the contract, it's probably too late to save the relationship anyway - maintaining the relationship is everything, being honest and open and striving to maintain a…

While it's honorable to want to keep things on a handshake-and-honor level, when things go wrong, none of that matters. In my experience, clients are impressed and more comfortable with proceeding when a written agreement is in place. The only time I've had trouble negotiating an agreement is when dealing with large mega-corporations, where I'm still able to add in notable definitions and exceptions to the work that I'm performing.

> "the client can afford more expensive lawyers than I can, so regardless of the truth they would be able to wipe me out"

Just like lines of code are not a measure of quality of software, hourly rates of attorneys are not a measure of the quality or effectiveness of their legal representation. The only time that you are on equal legal footing with a large corporation is when you're both entering the relationship. If you and a client sign an agreement defining and limiting the work and your liability, a more expensive attorney isn't magically able to rip that contract up.

> "if the client has to read the detail of the contract, it's probably too late to save the relationship anyway"

I couldn't possibly disagree more. If a client isn't willing to work with me on defining the scope of the work to be done for both of our benefits, then I have no faith that they're going to work well with me at all, on anything. For a software developer, a scope of work is also just another piece of documentation: here's what I'm building, and what it does and does not do. A client should be as eager to define that as you.

Case in point: a bank recently suffered a data breach and had to spend more than $150k to comply with its notification obligations, and the bank's insurance company sued the bank's web design firm for, as they allege, failing to do proper servicing, security updates, etc[1].

Web design firms doing ongoing security, monitoring, and maintenance is totally not the norm. Usually the design firm designs the site, either has a couple developers in-house or contracted to another company to build out the front-end and do any integration with the bank's back-end, and when it launches, all is over. But here, this small midwestern design firm with a few employees is on the hook for damages and their reputation will be destroyed.

There are many details lacking in the civil complaint in terms of what their actual responsibility was, or if there even was an agreement in place. But if the design firm had a master services agreement that (a) disclaimed responsibility for doing security monitoring, updates, malware fixes, backups, contingency planning, and any costs or lost business as a result; and (b) limited liability to the amount of money the bank paid the design firm (a common business practice); and (c) indemnified the design agency against any claims by third-parties; the complaint probably would have never been filed.

None of this is legal advice, but don't risk having your reputation destroyed and being personally bankrupted simply because you're desperate for work, lazy, or unrealistically optimistic about people having good faith in all situations.

[1] Article with linked PDF civil complaint: http://www.scmagazine.com/travelers-accuses-web-firm-of-shod...

Re: Ask HN: Could you share your general purpose development contracts?

#38
post #31

Earlier quoted context omitted.

If you can see them coming, yes. There are some people that even if everything goes well it's not worth working for them. But the contract is often the difference between a disagreement that gets worked out, and a posting on Clients from Hell.

But the contract is often the difference between a disagreement that gets worked out, and a posting on Clients from Hell. I can't think of a single case where that's been true, in either my experience or anyone else's. The contract language comes into play when everything has already gone to hell. Yes, there needs to be a contract. But you should never assume it will give you any particular leverage over a larger, we…

Argument from lack of imagination. But I don't think the the large, well-represented adversarial client is as common as the clients who are simply stupid. Either way it's not something I have a lot of personal experience with, but Clients from Hell is pretty full up with stupid, greedy clients and equally stupid designers with bad contracts. As an example: http://clientsfromhell.net/post/107004953453/me-your-invoice...

The above is clearly a situation where contract verbiage for transfer of rights would make any subsequent conversation on the topic very short. However, as to your general point, what do you suggest? Is that risk something that can be mitigated, or priced into your rates?

Re: Ask HN: Could you share your general purpose development contracts?

#39
post #26

[IANAL] I come from a field, AEC, which in the US uses a lot of standard contracts. The AIA contracts, though not the only option, are very common and have been developed over the course of 100 years. The architecture series start with B. These are, in my opinion, a good model for a software consulting project because: + Neither party really knows the full scope of the work when the contract is let. As my mentor Ronn…

> + One person is the technical expert. The other party hires them for their judgement. The contract acknowledges that. I love this one. Anyone have ideas on how to apply this to software development? I really hate it when clients say "I want X" and I have to take an inordinate amount of time telling them why X is a very bad idea both in terms of effort and value. Generally this is during scoping so I have no way of…

what you call "scoping", beyond high-level goals (Your ability to tease out what really needs to be done from a customer's hand-waving wishlist of vague features is a key component of what you are being hired for. That skill is worth more in general than straight coding, and should be compensated accordingly.
Post reply on HN