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)
I was just thinking about the one skill I am not very good at that I wish I was better at: CSS (styling webpages). I get along just fine without knowing it too well, but if you were to ask me to style a simple website menu, it'd probably take me several hours or days, while it would probably take some of my web designer coworkers an hour or less.
There are tons of skills I want to be better at (pretty much everything, aside from certain skills discussed in the movie Clerks), but given my job of web developer, CSS is the one I'm most lacking in. Yet, I still don't learn it better, as I'm always chasing something else (e.g., Azure development). If I was a master of CSS, though, I'd basically have no limits to the types of websites I could build, as I am already so strong in the other areas of web development. I'm thinking maybe it's time I allocate a little time to develop this long neglected skill.
What is your one skill that you wish you hadn't let get away?
Insufficient patience has caused most of the embarrassments I've experienced in my life in software. When it wasn't impatience with others' code or coding practices (i.e., "I don't understand it, so it must be wrong"), it was with some irritating aspect of security-in-programming (i.e., the insidiously seductive "Oh, that'll never happen" self-trap). And after 45 years doing this crap for valuta, I still fall victim to those things now and then.
Some lessons take a lifetime to learn...if not longer.
(This message is programming you in ways you cannot detect. Be afraid.)
I'm too honest for my own good. I call a spade a Elephanting shovel. Rather than just keeping schtum when asked about something I'll give an honest answer, when sometimes jsut shutting up or nodding in agreement might have been the better course of events.
"So can we just add a new text box to this View to capture that?"
Best answer - "sure, I'll look into it."
My answer - "Well, you'd need to have some validation behind it, and it can't just be a text box or the users will type in rubbish. And we also need a table holding initial values that the user can add to and possibly delete from ... and so on...
Does my bum look big in this?
Best answer - "Heck no! Your bum looks perfect in anything
My answer - "Weeeeeellllll... OUCH!"
And when asked for the minimum amount of money I'd work for, I should probably stop answering with the minimum amount of money I'd work for.
Depends if you want the work or not... if you don't want it, answer with quadruple your usual rate... if you do want it, answer with your usual rate. Never drop your rate for the sake of getting a job - it generally ends in tears!!
Quad skating his way through the world since the early 80's...
I have the answer to that programmed into my psyche. I no longer consciously register the question; my mouth produces the "No!" automatically, so there is no delay at all between the question and the answer. As we all know, any delay over 12.7 picoseconds is grounds for divorce...
The universe is composed of electrons, neutrons, protons and......morons. (ThePhantomUpvoter)