jmut wrote:I know this is not something you can learn on a forum as lot of experience is needed.
I wonder how you guys estimate a project requirement. Usually customer doesn't really know exactly what they want...one simple solution is just stay away fro such customers...ubt still
Clients that pay are worth your time.
That being said, here is what I now say: When they mention "simple script" I mention that whatever I write has no warranty. If bugs crop up after I sign off, I charge by the hour - make it high (70+/hour). I also explain that any other problems, security, integration, migration, etc and their on their own.
This will satify most cheapskates cause they software development is "easy".
Those that frown upon the idea of zero warranty will often ask why, at which point, I explain. There are several ways to develop software:
1) The wrong way. In which case the project never gets finished at all and still costs money.
2) The not so right way. A application gets finished but it's a hack and constantly needs more time invested to just keep it running. These projects typically consume up to 50% of your time just fixing bugs and eventually higher if the project grows.
3) The right way. In which you take the time to develop and application with an extensible, secure and solid architecture.
The first result is what happens when an over eager developer jumps the gun without experience. The second way is what happened when an experienced software developer with nerves of steel begins developing adhoc software and never bothers to learn about refactoring or architecture. This is arguably worse than complete software project failures.
The last requires both patience, time, money and experience on behalf of the software development team. Your paying for quality upfront but you get long term advantages.
Basically, if you cannot sell the client on the idea that software is a perpetual project constantly changing and evolving you will never sell them on the latter, so instead you write code as quick and as copy-paste as you can and remove yourself from any support agreements, etc...
You can win them all, but turning down a project is just less money in your pocket...if you don't do it somebody else will.
As for quoting...only previous experience can tell you that...even then it's incredibly inaccurate. Break everything down into atomic operations and estimate the time that way, then muliply by three.
