Project Management – How to Calculate Human Resources/Effort for a Programming Project

project-management

as a project manager or CTO how would I calculate the "time" it takes to develop a software system? For Example I would be responsible for developing a large web application in Java, MySQL, HTML, JSF. How do I correctly calculate how much time this takes?

Prerequisites:
I do not know the team that will do this job (so I can not ask them how long they might need). I did not do any calculations like this before. I am completely new in this role. But I have some very basic/slight programming background…

Also any good resources (=links) or answers are very much appreciated.

Best Answer

There are two general approaches, but most require a lot more information than you have right now. Without knowing more about the project and team, neither method can apply. Once you know more, you can either apply parametric estimation models, such as COCOMO II, size estimation methods such as function point analysis, proxy-based estimation, or team-based estimation techniques such as the Planning Game or wideband delphi.

Typically, before you begin estimating, you need at least a rough idea of the scope of the software project. This is usually done by starting to capture requirements in the form of a Software Requirements Specification, user stories, or some other technique. Establishing an overarching vision and scope for the project would also help as well.

Once you've established sufficient information about the project, you can begin the estimation process, depending on the methods that you choose. It might be advisable to even use multiple estimation methods. For example, using wideband delphi as a check for the output of COCOMO.

If you want to know more about software estimation, I would highly suggest reading Software Estimation: Demystifying the Black Art by Steve McConnell. He talks about many estimation topics and techniques and explains a number of best practices regardless of the size of the project. Also, for general project management topics, I would also suggest McConnell's Rapid Development: Taming Wild Software Schedules, where he talks about topics such as staffing, process management, and silver bullets.

Related Topic