It depends on the software development process you use (e. g. Agile, Unified Process, XP...) and to some degree on the size of the project. Typical numbers include about 20-30% preparatory stages such as Req. Analysis and initial architectural design, and 30-40% actual coding (including basic testing). The rest goes to testing, documentation, deployment, etc.. As a rule of thumb, take a look at the requirements and estimate the time to code, then extrapolate from that number (multiply by three) to get a total. Don't forget to add some margin - you do want to make a profit, don't you? ;) Depending on how well you know the customer you may want to add a little more, in anticipation of requirement changes that will come (or make your customer pay extra for every change; but that may not be a good basis to build a good relationship and obtain more contracts in the future) Well, of course that's the theory - you'll find that software projects can easily differ from such estimates by a factor of 2 or more. It takes some experience to get the estimates right. Btw., the above does not include maintenance since most projects list it separately on a per year basis, but I've found that about 5-10% of the total price per year is generally accepted, whether or not that covers your real cost (you might wonder whether it does, but it really depends on the project and the requirements)