Skip to content

Estimation

“It always takes longer than you expect, even when you take into account Hofstadter’s Law”
  - Douglas Hofstadter

Estimation is one of the hardest tasks that development teams are asked to do.  However, it is something we must do.  This page discusses the who’s, what’s and rules-of-thumb for creating the estimate.

When asked to perform and estimate, one of the first tasks is to determine the accuracy required for the estimate.  From there you can determine the timeline for the estimate to be completed.

  • Shoot From The Hip - This is an estimate that can be 250-500% under estimated.  These types of estimates are a SWAG and can be based on conversation.   Don’t spend more than an 1 hour thinking about it.
  • Rough - This is an estimate that can be 100-250% under estimated.  You’ll need some baseline requirements and understand the goal of the project.  Consult with representatives from the big-block technologies (those who have the largest parts of the project).  Spend 2-4 hours on it.
  • Need It Reasonably Accurate - This is an estimate that can be up to 75% under estimated.  A complete requirements document will be needed.  You will want to consult with representatives from each technology (Dev, QA, UI/UX, etc…) and put a meeting together to discuss the requirements.  Spend 1-2 days of total work on it.
  • Accurate - This is an estimate that can be up to 25% under estimated.  These types of estimates require complete and accurate requirements documentation.  A representative from each technology (Dev, QA, UI/UX, etc…) should be included in the estimating process.  A timeline for this type of estimate will have to be… estimated, based on size and complexity of the requirements.

What departments should be included in the final estimate?

Section titled “What departments should be included in the final estimate?”

The following technology/management areas should be included in the estimate.

  • Project Management 
  • UI/UX design
  • Native Android
  • Native iOS
  • Quality Assurance
  • Analytics
  • Product Owner (Jira ticket writing)

Ideally, the people who will work on the project should be included in the estimation.  If that is not possible a representative from the same technology must be used.

What tasks should be included in the estimate?

Section titled “What tasks should be included in the estimate?”

The following blocks of time should be included in the estimate.

  • Technology Analysis
  • Software Design
  • Development and Unit Tests
  • Quality Assurance and Automated Test Writing
  • Jira Ticket Writing
  • Data Center design and implementation
  • Analytics design and implementation

There are some rules-of-thumb around creating an estimates that can be used.

  • Native iOS and Native Android take about the same amount of time
  • Quality Assurance is about 25% of Development
  • Project Management is 10-15% of Development + Quality Assurance
  • Product Owner (ticket writing) is about 5% of Development

The following is a rough spreadsheet that can be used for estimation:  Quote Spreadsheet