Upskill/Reskill
Sep 8, 2023

How to estimate a software development project

Vinod Pal
5 minutes

At Andela, we're inspired by the thought leadership present within our talent network, and wider community, and it's our mission to share these brilliant minds with the world. We invite Andela Community members to regularly showcase their knowledge and expertise in our Writer's Room blog series.

In this article, Andela Community member Vinod Pal shares his expertise on how software developers can accurately estimate their projects - to successfully deliver their work and beat the deadline!

Recently I was given a new software development project by a client, and they asked me to provide an estimate of the total time it would take to complete this project. I was clueless, as throughout my entire career, I have never been expected to estimate a work project before.

While it’s fairly easy to estimate your coding time, an entire software development project is far more than just coding. If you commit the development time as total estimation then you will end up with a very tight deadline, because this does not include the various other aspects of a project.

What's the best tool to play around with numbers, that’s corporation friendly? Microsoft Excel!

Here’s how you can estimate a software project through an Excel spreadsheet:

Step 1: List all the tasks that to be completed in the project

Step 2: Estimate how much coding time you will need to complete each feature.

While estimating you have to consider 3 factors:

  • Realistic amount of time needed to complete this feature
  • Maximum amount of time needed to complete this feature
  • Minimum amount of time needed to complete this feature

So, for example, if you think you can complete this feature in 8 hours, then the realistic amount would be 8 hours, maximum amount would be 12 hours and minimum could be 6 hours.

Step 3: Put all these values into your Excel spreadsheet, and now Excel will update with your estimated value.

Use this GitHub link to download the Excel spreadsheet I’ve created and play around with it.

https://github.com/VNDPAL/projectestimation/raw/main/Project%20Estimation.xlsx

After downloading this Excel spreadsheet, select sheet2 and start adding your estimations - fields will then auto-populate for you.

The Excel consists of two sheets:

Dashboard

Breakdown

The dashboard will update automatically (through Excel formulas) as you start adding your data into the breakdown sheet.

So… let's get into details of the breakdown sheet.

In the breakdown sheet, refer to Row2, Column HIJ. Here you actually have to enter your estimated coding hours.

Why only enter the coding hours?

Because as a developer you need to be aware of your total coding efforts that it will require to complete the particular task.

Now, the rest of the Excel spreadsheet will automatically update based on the rule mentioned on the Row3 in terms of percentage.

Your total efforts, of course, should always amount to 100%! Here’s my own breakdown, which is standard for all the software projects:

  1. Coding : 40% (efforts you put in for coding)
  2. Requirements: 5% (efforts spent to gather the requirements)
  3. Design: 3% (system design)
  4. Unit testing: 3% (Unit testing efforts)
  5. Testing: 40% (It includes both manual as well as automation testing)
  6. Documentation: 3% (technical as well as user manual)
  7. Process: 3% (scrum, meeting, stories and general tasks)
  8. Rework: 3% (bug fixing and general reworking)

Allocation of efforts as per above is standard, and may differ from project to project, so feel free to change them as per your requirements. This can be done from the dashboard sheet column B-F.

For example, some developers consider unit testing to be part of their coding efforts. In that case, you can go ahead and delete this column.

There are few additional columns where you will have to enter the efforts manually, as they can differ a lot from the development efforts.

  • UI/UX efforts
  • Performance improvement
  • Security issues

With breakdown now complete, you can refer to the dashboard sheet with updated values.

I hope you found this article useful - happy coding!

Interested in 
Learning More?

Subscribe today to stay informed and get regular updates from Andela.

You might also be interested in

Ready to get started?

Contact Us