Before you give an estimate of time and cost, there are two items you should be careful about – Detailed requirements and warranty.
Clear and Detailed Requirements
Many clients think, "Programmers are magicians” and understands exactly what they have in mind. They will send you a piece of paper or bunch of points in an email and will ask you, how much it would cost to get it done. Don’t get fooled with this. First, ask the client to send a detailed requirement of the work explaining every little detail.
Let’s say, a project is a Windows Forms, requires SQL Server as a backend database. Here are some of the questions to ask.
a. How many screens the application will have and details of screens.
b. How many users will be using the application?
c. Where will be the database server residing?
d. Does application needs logging and error handling features?
e. Does application needs notifications capability?
f. Who will be responsible for installation and deployment on production server?
g. Does client has capability to understand the functionality and test the application in production environment?
Make sure all of the answers are written on a requirements document. Don’t take words or emails for granted.
After the requirements are completed, get a signed copy of the contract from the client clearly explaining that this is the work you will be responsible for. If there are any changes or additions, the cost and time will be recalculated and contract will be renegotiated.
Warranty of Code
Don’t give a lifetime warranty. Give 30 days (more time depending on the size of the project) for testing and ask client to come back with any bugs and problems within the specified period. Clearly mention in the contact, after that you are not responsible for any thing happens unless he is ready to pay you extra for your time.
Did you have any bad software development experience? Feel free to share with us.

Mahesh ChandPosted Dec 17, 2009, 8:39 PM
It depends where you live, what you do, and most importantly what is your time worth. If you're a student living in Africa, $30 might be worth for you spend couple of weeks. Personally, my rate is $90 per hours. So If I get some work that will take me 10 hours to do, I will cost project $900.
Sheela SolomanPosted Dec 17, 2009, 2:59 PM
I have got a new conntract. I asked for 40$ is it too much? Hw much does a moderate company pay?
Mike GoldPosted Jul 26, 2007, 2:44 PM
It's always best to go into a project prepared. When it comes to business, a requirements document is your best friend. Your next best friend is a project schedule. And I couldn't agree more, a contract stating the scope of what you agree to do in detail should be in place. Implementation should be the last thought. In my early days, when I was a bit greener, I entered a contract that was planned to take only 2 weeks. It took the whole summer. The project wasn't clearly defined with requirements, there was no detailed feature scope and there was no project schedule. After that, I learned my lesson. So my advice is, if you enter the business world in consulting out of school, learn to write a requirements doc, a project plan, and a consulting contract before you even begin to think of taking on a project. Remember that this protects you and the client. Often the client knows nothing about software, so it's up to you to define the project in written terms of what you plan to do, how long it will take, and legally what the client can expect.
Jason ShortPosted Jul 24, 2007, 2:17 PM
I have done consulting work for over 10 years and can tell you that the things you agree to up front will save you thousands of dollars. You will end up getting dragged into the "But I thought you knew I wanted that" feature game forever. And the constant rounds of - It is a simple change, just add it. Document, document, document. Every project I have worked on that has failed (either commercially or technically) has been due to poor documentation of the requirements. Take the time up front to think through the gotchas of the project and talk about what happens if you run into any of them or you will regret it later.