How do you guys make sure you get paid?
b.xavier at internet.lu
Fri Feb 18 23:29:36 CST 2005
I've been burned too and it was in fact not from the customer but from the
software vendor that I counted on to make the software work. I bought an
external supposed to read these PC databases and it fell short because it
couldn't past the 36000th record - I had 800000! I never got any support,
moneyback or the darn thing to work.
I ended up making it manually, took months instead of a couple weeks to get
the thing to work just as fast as an external but I did learn I could
program things much faster than with just externals - for some things that
is. I can't tell you the client's pressure on my shoulders! Since then I
dont work on deadlines anymore! Dont promess a price for a project you can't
foresee. Everything that can go wrong will in these cases! Even delivering
the application on a diskette is dangerous, deliver 2 diskettes! :( Only on
a Mac has this happened more than once! What this thaught me, is get a
receipt or written verification of delivery...
The client never paid the extra hours either - 100ths instead of a dozen!
But I made my part of the deal and delivered a program that was professional
and not broken at the 36000th record!
Others pointed out the critical parts too that I've seen happen since:
- demand a detailed feature list or write one up as you make the deal. Have
the customer sign and agree on it
- get paid for the hours you work, not the project - this is more economical
for the client too and he'll appreciate you making a deal for him, but above
all, remember it's your safety to get paid if anything goes wrong - and
believe me anything will go wrong if there's a chance you were sloppy!
- Keep 2 backups in 2 locations - one home, the other at the bank - or
somewhere fire proof! Factor that into your cost to deliver on time!
- Dont upgrade your IDE in the middle of a project. Work on 2 different
IDEs, two versions. Support woes, computer witchcraft, and murphy lurk here!
As Andre wrote (before I was about to send my reply on the subject, his
reply being so much more interesting!), software time expiration or Hardware
locked license keys are the next best thing. Before you deliver the final
application and "wait for the check in the mail", make sure the software is
time expiring and single-computer and user name locked. Expiration of 1
month gives you plenty of user control. If you output, make sure there is a
mention of a unlicensed test version on the output - in the center
preferably. Something like:
"Licensed expired warning: Printed without legal permission", in big red
letters 96 pts or that light blue dot philigram pattern that does photocopy
Incidentally, I have a licensekey sdk kit in my development backlog for
license expirations with different types of license keys, key's length and
encoding strength, schemes for number of computers and validations, type of
hardware locks, network registrations, etc... The project is in post-design
phase - but with no hurry - until i get a product to license later ;) If
there is a renewed interest, I could get back on it, it's not cheap but it
is 1) secure, 2) feature rich, 3) with lifetime free upgrades 4) cheaper
than competing softwares, and definitely customizable to most needs!
Although I dont do deadlines, client need is the kind of motivation that
makes me bring out faster and better software!
MonsieurX.com - Power parts for RunRev too!
More information about the use-livecode