Practical Software Project Estimation by Peter Hill