@ cmendla, most of what I install these days can be boxed. For example both software and web applications already exist in some form either as an online demo or on a client's site. So I can use that as the "requirement" and then add custom features which are then easily itemised.
Getting part payment up front only works if the site remains on your server until final payment, and it really needs to be your server and not a hosted deal because once I had a client backdoor me by going to the host and impressing them with their importance. As it turned out everyone working on that project was fleeced for what must have totalled a couple of million. No one was paid a cent. The list includes press and radio publicists, accountants, advertising agencies, the largest ISP in Australia and investors worldwide. The project turned out to be a scam and the culprits disappeared from Australia, returned to the US where they were eventually caught up with by victims there, prosecuted for all sorts of things, escaped jail sentences and seemingly in Mexico to continue their shonky dealings. I was burned for 80k most of which was paid out in wages/contracts.
Yes, anything can go wrong and all sorts of events can change the client's direction. But no change should exempt them from their obligation, so prevention is better than cure. The one that tries to argue their way out of pre-payment will always be the one to watch. Trust them with nothings and you won't get burned.
good analysis technique as taught on all good training courses
Yep, all signed off and almost completed until you hear that the client's wife all of a sudden prefers another colour.
Re "analysis technique"... of late I have given out a few different projects though online outsourcing agencies to "team leaders" representing larger teams of coders and developers. But in most cases these projects had to be cancelled because the team leader did not properly understood the requirements and long after the agreed delivery time still had no clue whatsoever.
They call themselves "middle management" and in large groups of coders they apparently are necessary. They are well versed in communication methods such as Skype and online conferencing. Yet they don't seem to be able comprehend what they read or to be able to convey that onto others. I mean how easy is it to understand this requirement?
I have been caught like this 4 times this year already. If they cannot read and cannot follow the pics, then what hope do we have of specifying our projects. It seems that the more people use computers, the less they comprehend of what they read. For example, who reads every email 3 times before replying?