Cost Estimation In IT Project Management: Our Techniques and Tips
IT project cost estimation process is one of the most important stages of the project management. Its accuracy influences the team's workflow, and, as a result, the quality and duration of the project.
Different companies have their own сost estimation techniques. In this article we want to share our method of project planning that includes project estimation, division into milestones, team building, and tasks distribution.
Step-by-step process of IT project estimation
At Apiko we use the three-point estimation technique. This method involves determination of three estimates (optimistic, most likely, pessimistic) instead of one. Such approach helps to reduce risks and complete the activities in time.
Here is the template we use each time when estimating the projects. It consists of four worksheets: the estimate itself, additional costs, work planning, and PERT calculations.
Now let's go step by step through the estimation process at Apiko
- Before the estimation, we need to get or make a detailed list of all activities (features) and decide on the technology stack. Only after a two-way agreement, the estimation process should begin. The list of activities looks like this
MC means "Mobile Client". We also use WA, which stands for "Web Admin", and S - for "Server."
- After we have the list of features, it`s time to make an estimation.
Weighted average is a value that is calculated based on optimistic, likely and pessimistic estimates.
Weighted average formula:
(O + 4L + P)/6
O - Optimistic estimate; L - Likely estimate; P - Pessimistic estimate.
Std. Dev. (Standard deviation) is the measure of the difference between the values in the distribution on either end and the value in the middle (the average). The bigger the standard deviation, the wider the spread of the values and the bigger uncertainty.
Var. (Variance) is the squared standard deviation.
Variance is used if you are trying to get the estimate for the whole project. What you do is get the total of the estimates for all activities A to Z along the critical path. Then you take the variance for each activity, sum them up across the whole project, and take the square root to get the standard deviation for the project estimate.
We also add a separate column for comments both by a company and customer.
- Now let`s proceed to the second sheet called “Additional costs”
It includes time for bug fixing, code review, manual testing, and management.
Bug fixing usually takes 10-30% of the development time.
Code review - 10%;
Manual testing - 10%;
Automated tests - 50%-100%.
- After that we take a look at activities with the highest Std. Dev. value. They have to be clarified because of a big level of uncertainty. We agree on them with the customer and correct values.
- After all activities, additional costs and estimates are clarified and approved by the client, we start working on the work planning.
- We put all the activities in the logical order. The total value of hours for each milestone is calculated automatically.
- Each milestone should contain the same number of tasks
- We plan the team to distribute the tasks evenly
- Based on this screen, we create backlogs for each sprint later on.
- After this we move to the PERT calculations screen.
We can edit the development team size if needed. These calculations indicate how much time it will take for the selected team to finish off the project based on the 68–95–99.7 rule.
- Then we calculate the target dates for each milestone and include them in the proposal document.
What you should know before requesting a project estimation
- Know who your project is for
The most significant thing is to know who your user is. Even if you still decide on the main features of the product, if you know who will use it, it will help us to suggest you the right set of functions that will satisfy your user.
- Determine the main problem it solves
Roughly speaking, the main problem your project solves turns into the main workflow of your application. Depending on this, our team will recommend you what features will solve this problem in the best way.
- Have strict requirements
Without a doubt, the best scenario is when the customer comes with the list of requirements and main features. Such approach saves time and ensures understanding between both parties.
- Provide a list of similar projects and your competitors
If you are not sure about the features, you can show the projects that have a similar idea. You can also provide us with your main competitors and we will together decide how to make your product stand out.
If you have any questions regarding our process of project estimation, feel free to drop us a letter!