I have written about estimating in the past. That article discussed some of the inherent challenges of software project estimating. This time I want to focus on deliverables that are NOT code.
When creating a project estimate, we tend to concentrate on development time while neglecting common and important tasks that require hours and should be considered when defining an estimate. These are the areas where overages tend to occur precisely because they were overlooked.
These are just guidelines and should be modified for your specific situation.
This includes setting up the development, QA, staging, and production environments, installing 3rd party software, getting access to client servers, VPN, remote desktop, web services etc. – minimum 8 hours.
This number should be provided after the project scope and business requirements have been establish and estimated. Ideally, this number would be provided by a qualified QA specialist.
This is an invaluable step in maintaining code throughout the project - one hour per week of the project.
This includes design meetings, internal and external, client meetings, phone calls, email conversations, etc. - minimum one hour per week of the project per team member working on the project.
You are planning on showing something to the client right? One hour per iteration.
Let’s not forget that we must have user acceptance testing. One hour per iteration.
Post Implementation Meeting
This is another invaluable tool in fine-tuning the process of constant improvement over the lifetime of the project and the developer. Half hour per iteration per team member working on the project.
This includes creating a deployment and rollback plans, database update scripts, deployment to QA and staging environments during development, etc. - minimum 8 hours.
Post Implementation Client Support
This is support supplied to the client after a production release - minimum 2 hours.
If a project requires graphic design, then it requires a graphic designer – minimum 24 hours for design, CSS, html, images, etc.
And those are just the minimum requirements. Check out this more comprehensive list from Steve McConnell’s Software Estimation. Demystifying the Black Art