I would advise reading "The Mythical Man Month" by Frederick P. Brooks. It is considered "The Bible" of the human elements of Software Engineering by many. By "human elements" I mean to include your request for information on estimating project time.
Here is a quote from page 20 of the book based on one portion of a software engineering project:
"In examining conventionally scheduled projects, I have found that few allowed one-half of the projected schedule for testing, but that most did indeed spend half of the actual schedule for that purpose. Many of these were on schedule until and except in system testing." (Brooks, 1995)
Citation:
Brooks, Frederick P. (1995) The Mythical Man-Month: Essays on Software Engineering: Addison-Wesley Professional, p. 20