Bob On Development

Musings on the craft and business of software development









April 23, 2007

Fun With Software Development Contracts

Filed under: — bob @ 8:57 pm

I generally try to keep my relationships with clients simple. Most of my day to day work is done through verbal discussions confirmed with a follow-up email. In my experience, if the relationship between myself and a client is good, a contract doesn’t help it, and if it’s bad, a contract won’t make it good. In this day and age anyone can sue anyone anytime for any reason, good or not; so a contract that spells “everything” out mostly provides a false sense of security for everyone.

In addition, if a customer cares about their reputation, they will pay a fair rate on reasonable terms. If they don’t care, they won’t keep their promises. It’s that simple. In my experience it doesn’t matter a whit what they agree to do up front; only execution matters. It’s the same from their perspective; they don’t care about my sales blather, they simply want me to deliver.

So, most paper contracts I have are short and sweet.

Once in awhile I deal with larger corporations, usually at arms length as a sub-contractor. But I made an exception today and signed a four-page opus, plus scope of work, for a firm large enough to have a corporate counsel. This guy has to justify his existence, so he initially produced the Contract from Hell.

Among its provisions:

  • I’m obliged to deliver defect-free software and warranty it for six months after delivery; in other words, all bug fixes (or work perceived or claimed to be bug fixes) are done for free.
  • I’m obliged to provide employment insurance even though I have no employees, and public liability insurance even though I will work 100% from home and customers never visit my home office.
  • I’m to bill monthly, and I’ll be paid on net 60 terms, timed not from the invoice date, but from the date they get around to approving it. So in the best-case scenario I will carry an average of 75 days of accounts receivable on any given day of work I do. How utterly motivating!
  • Although it’s a six month contract, for which I’ll turn down other work, and there is no way for me to unilaterally get out of it in advance, the customer can cancel on two day’s notice “for convenience”.

There’s more, but as you can guess, this work is extremely attractive to me or I would have indulged the deeply satisfying practice technically known as “telling the prospect to bugger off”. However, I managed with some effort (and the calming influence of my long-suffering wife) to produce a purely factual, non-satirical response calmly listing the seven or so things that would need to change if I were to sign the contract.

To my surprise, they caved on almost all of it, and gave me satisfactory explanations and assurances for what was left. I now have 30 day terms (from the date of an “undisputed” invoice), no requirements for needless insurance, no indulging fantasies of zero shared responsibility for quality assurance, and 30 day’s notice of any sudden whim to say “never mind”, rather than two days. It turned out that the person hiring me had never even looked at the contract, and admitted they wouldn’t have signed it themselves, if they were in my shoes. They metaphorically slapped the lawyer upside the head and said the “crap” had to go.

Fortunately I know the code base I’ll be working with intimately, because I wrote it five years ago myself, two mergers / acquisitions ago. I also know and trust a couple of the people involved with the project, and have visibility into what working with them is really like, because I know my predecessor on this gig well. But even so, this gig came close to not happening, or at the very least, to getting started on entirely the wrong foot.

I can almost hear some consumer of software development services out there bristling, “what’s so bad about a contract? It’s just the way things are done ™”. Well … maybe so, but a contract constitutes a policy rather than a guideline. To understand the difference, go here and consider Bob Lewis’ take on the matter. It’s excellent. Go ahead, I’ll be here when you get back.

Welcome back. Now you can see why any contract for work for hire should mostly consist of innocuous boilerplate that any honest contractor would sign without hesitation: we agree not to steal each other’s trade secrets or technology, or to use unlicensed technology in the work; we agree to pay a fair rate on reasonable terms; it’s understood that the work is to be done in a workmanlike fashion according to accepted industry standards; it’s work for hire and the customer owns the work product and the contractor lays no claims of ownership or intellectual property; the contract ends on such and such a day, yadda-yadda.

It’s when one side or the other attempts to shift all the risk to the other party, creating an adversarial relationship up-front, that things start out ugly and get worse from there. Or when the contract starts to spell out specific procedures about time sheets and reports and billing cycles and tools to be used and procedures to follow, and penalties and consequences of every conceivable breach — placing everyone in an anti-productive straight jacket.

The sad thing is, by all accounts this company is full of good and pleasant people to work with. It’s only the blasted lawyer that’s making them all look like … lawyers. It’s a problem that’s all too common.

1 Comment »

  1. We had to sign one of those god awful contracts with a large corporate client. There were a million little details in there that could be used to screw us one day if we ever were taken to court.

    But in all reality, that contract is just for the corporate ease of mind and the people we are actually working with at the company don’t really care about those stupid details.

    We even give them a statement of work at the beginning of each billing cycle, but everyone agrees that it’s “just a prop”. The work that is really done is driven by the day to day changing requirements.

    Comment by Ryan Smith — April 24, 2007 @ 10:25 am

RSS feed for comments on this post. TrackBack URI

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(required)

(required)


Powered by WordPress

Augmentin Avandamet Rhinocort Elavil Gasex Glucotrol XL Zelnorm Vermox Penis Growth Oil Nymphomax Adalat Prograf Geriforte Medithin Avalide Lariam Viagra Erexor Sarafem Confido Himplasia Arimidex Fosamax ActoPlus Met Mentat Cardizem Hytrin Cafergot Lasuna Mycelex G Hyzaar Buy Pro Erex Buy Lincocin Buy Viramune Buy Micardis Buy Nymphomax Buy Omnicef Buy Effexor Buy Accutane Buy Levothroid Buy Cialis Jelly Buy Femcare Buy Amoxil Buy Aleve Buy Cephalexin Buy Lotrisone Buy Acticin Buy Touch Up Kit Buy Metabo UltraMax Buy Orgasm Enhancer Buy Penis Growth Pack Buy Levlen Buy Styplon Buy Aceon Cheap Loxitane Cheap Differin Cheap Geriforte Cheap Dramamine Cheap Sinequan Cheap Hoodia Cheap Nolvadex Cheap Womens Intimacy Enhancer Cheap Medithin Cheap Female Sexual Tonic Cheap Purinethol Cheap Inderal Cheap Flomax Cheap Orgasm Enhancer Cheap Zimulti Cheap Erexor Cheap Avandamet Cheap Ceftin Cheap Buspar Cheap ZMA Power Cheap Wellbutrin SR Cheap Hoodia Gordonii HG p57 Cheap Singulair Cheap Avandia Cheap Soma Credit reporting system For low credit scores Commercial credit report Understanding credit score Credit report and Florida free credit report Chase credit card status 3 credit reporting agencies Beacon credit score Federal credit reporting act To credit reporting agencies Fix your credit report On line credit card applications Credit card offers Card credit reward travel Credit score formula Credit reports from all Credit free instant report Annual report credit Order credit reports Instant personal credit report Credit beacon score Juniper credit card application Free instant credit reports Airline credit card miles National credit card debt Vue prepaid credit card Credit card debt calculator Chase credit card complaints Is credit score Elan credit card services Balance transfer credit cards Fix my credit score Credit card machines uk Check credit report fix Credit scores of Credit report uk Balance transfers credit cards Average credit score Increasing credit scores Is my credit score Business credit report Redit card pros cons Acceptable credit score Credit card business industrial Credit reports for Fast credit score increase Credit card debt facts On line credit report Free credit reporting Order credit report Chase credit card application Credit reporting act litigation Credit report consumer Clean up credit report Affect your credit score Credit report annual Credit report online Chase redit card Getting a credit score Credit card debt history Credit score after bankruptcy Credit scores meaning Stop credit card offer Ranked credit card offers Mobile credit card processing Linkpoint credit card machine Credit card applications in Credit report disputes Student credit card debt Credit reporting columbia house Credit report service Cheap credit card uk 0 credit card offer Credit report agencies Credit report score understanding Credit cards 0 apr Anual credit report Application aspen card credit Credit score higher Credit card debt management Citibank credit card offers Great credit card offer Free business credit reports Introductory offer credit card Money bank credit card Interpreting credit scores Get credit reports Free credit report Credit card apply online Credit score services Interest credit card offers Credit card debt eliminate Equifax credit reporting Instant credit card offer Credit card consolidation loans Bad credit score Credit card application uk Credit rating score scale Free credit score Experian credit report Credit report.com Article credit card debt Consolidation credit card debt Credit card consolidation uk Stopping credit card offer Read my credit report Obtain a credit report Mint credit card deal Raise my credit score Experian credit report uk Reports credit cards Hurt my credit score Discover credit card offer Good credit rating score Of my credit report Repairing credit score Credit reporting codes Credit reports on Hsbc credit card Credit card application online Repair my credit report Apr credit card offers Credit card debt advice Credit scores by Compare credit card offers Prepaid credit card companies Credit card debt laws Unlimited credit reports Annual credit report request Get my credit report Aarp chase credit card Card consolidation credit debt Credit report companies About credit scores Card credit debt free Transunion credit score Free credit card report Application card citi credit Corporate credit card application Credit scores work Consumer credit reports Credit scores mortgage Freecredit report Credit reporting service Credit card application with Credit scores and Personal credit report canada Credit report identity theft Free anual credit report Improving credit score Credit score uk My annual credit report Landlord credit report Credit score rates With a credit score Credit report government The credit reporting Up credit reports Instant credit reports Fre credit report Visa card bad credit Fair credit reporting act Freecreditreports Credit report repair service Free online credit report To increase credit score Bank one credit card American credit card debt Credit fix repair report Stop credit card debt Instant credit reports uk Low credit scores Colorado free credit report Free transunion credit report Of credit score Company credit report Credit reports with Personal credit score repair Credit scores only Obtain free credit score Cic credit report Eliminate credit card debt Free yearly credit reports The best credit score Credit report canada Wamu secured credit card Uk credit card debt Hsbc rs credit card Check credit report equifax Providian credit card company Secured credit or card Canada credit report Online Femcare Lipitor Muscle Pain Hydrocodone No Prescription Online Furosemide Online Inderal Online Maximum Lipotropics Online Viagra Soft Tabs Online Rythmol SR Levitra Actress Online Avalide Online Lynoral Online Neurontin Online Cardura Online Valtrex Online Fosamax Online Ditropan Online Diamox Online MetaboSafe Online Anafranil Online Viramune Online Advair Diskus Online Pro Erex Online Medrol Online Levaquin Online Echinacea Online Betnovate Online Prevacid Online Male Enhancement Oil Online Vasodilan Online Glucotrol XL Lorazepam Online Cymbalta Online Endep Online Confido Online Keftab Online Depakote Lortab Online Prozac Online Methox 400 Online Anabol AMP Online Tribulus Lipitor Side Affects Online Bentyl Online Dramamine Online Geodon Xanax Addiction Vicodine Online Indocin Online Trimox Online Shoot Carisoprodol 350 Mg Vicodin Hp Online Colostrum 800 Tramadol Cod Zoloft Withdrawal Online Cardizem Online Hangover Helper Online Isoptin Online Nolvadex Online Amaryl Online Penisole Cialis Dosage Phentermine No Prescription Vicodin Lorazepam Overdose Online Liponexol Online Sumycin Online Evecare Online Differin Online Urispas Online Biaxin Online Antabuse Online Ventolin Online Styplon Carisoprodol Soma Online Sustiva Online Prinivil Online Casodex Online Vermox Diazepam Online Cafergot Online Detrol Online Melatonin Zoloft Side Effects Online Trandate Online Reglan Xanax Dosage Lorazepam Addiction Online Avapro Adipex P Didrex Diet Pills Cialis.Com Ultram Online Calcium Carbonate Online Zyloprim Online Desyrel Online Ponstel Viagra Side Effects Xanax Withdrawal Viagra Alternatives Online GABA (HGH Booster) Online Probalan Viagra Dosage Online Orgasm Enhancer Hydrocodone Apap Online Flexisyn Adipex No Prescription Xanax Abuse Viagra Online Tofranil Propecia Generic Phentermine Online Online Mentat Online Zanaflex Online Noxide Online Loxitane Online Lukol Levitra Drug Online Extendaquin Alprazolam No Prescription Online Hyzaar Online Pletal Online Zovirax Online Cialis Soft Tabs Online Relafen Online Quibron T Online Paxil Online Rocaltrol Online Coreg Online Mevacor Carisoprodol Online Maxaquin Online Tenormin Online Remeron Online Evegen Online Claritin Ativan Drug Online QuickBust Diazepam Dosage Tramadol Hcl Online Cystone Online Nymphomax