How do we estimate projects

We started to develop software projects in 2010. With more than 8 years of software development experience, we’ve learned how to estimate projects really well. Read how we approach this task!

GATHER REQUIREMENTS

First and foremost, we gather and analyse the client requirements, project scope and budget range. Then we decide if this project is a good fit for our agency. As a general rule – if the project requires skills that we don’t have, we would rather suggest other company to start working on it.

DECOMPOSING THE PROJECT

Before we can estimate any project, we have to break it down into separate pieces. It’s time when we need to understand both business and technical requirements, so ask a lot of questions. The more detailed information we get – the better our estimation will be.   

Based on the knowledge we’ve gained through discovery meetings, we create a project plan document. 

ESTIMATING THE TIME TO COMPLETE A PROJECT

Time is a valuable thing. Neither we nor our clients want to waste it on mindless, non-productive activities, so we try to always get to the point and be very respectful of time. Whenever our client asks how long will it take to carry out a project, we have to address these questions.

  • How many people will work on this project?
  • How much of the work can be parallelized?
  • Is this project going to have a fundamental change in architecture?
  • How many brand new features are to be built?
  • Do we plan to do lots of QA?
  • Have our developers done this kind of work before?

Then, we come up with a rough estimate of the project’s time frame. While, as we’ve said, this estimate is far from being a precise one, we still need to inform a client about a project’s timeline as well as provide a target date that everyone can work towards. It’s important to understand that when we work with software, based on constantly changing code and people, that might be unpredictable and irrational, making predictions could be troublesome.

REVIEWING PREVIOUS PROJECTS

At this point, we try to get the most of our developing experience of similar projects, we’ve already completed. We review what solutions were used, how many hours they took to implement, how the budget turned out, what was complicated and what was easy etc. This technique helps a lot with making a realistic project estimate.

CALCULATING PROJECT COST

Usually, to calculate project’s cost we sum up all programmer hours, that are required to complete all tasks. 

To keep things transparent, we use a time-tracking tool called Toggle that allows us to submit time sheets every day. This way, our client is always aware of our progress.