About the Pitfalls Of Software Development Effort Estimation

Home » Blog » Business » About the Pitfalls Of Software Development Effort Estimation

Software development effort estimation probably is one of the most disliked, even feared tasks in software development and computer science in general. However crucial, even the most experienced engineers succumb to common pitfalls from time to time or their estimates are off, too every now and then.

This is an especially striking phenomenon because software development effort estimation actually is a wellresearched subject that a plethora has been written about. Starting in the 1950s IBM did a tremendous amount of research on the topic of software development management (one of whose key findings was that the optimal team size in software development is 5.4, a fact that still holds to this day and even more so with modern management methods).

So, it’s kind of a surprise that effort estimation still isn’t a more transparent and reproducible undertaking, even more so when considering that software development to a certain extent is an engineering discipline and engineering is all about creating reproducible results.

There are quite a few factors contributing to this, not the least of which is social pressure that comes into play when pitching for a new project and the prospective client is looking for the lowest price offer. This creates an incentive for unrealistically low estimations. This is a double bind that IT consultants and agencies can relate to particularly well. That said, even with realistic estimates there’s a variance of 30% in estimates by even the most experienced developers, which a is why fixed-price offers often are priced at the time estimate times 1.3.

Magne Jørgensen, researcher at Simula Research Laboratory, wrote a highly informative article on What We Do and Don’t Know about Software Development Effort Estimation, the conclusion of which is: Software development effort estimation is a complex task that depends on many factors such as historical data (with a potential for overfitted statistical models), software complexity and team productivity. To get such an effort right simply is very hard but there are some guidelines that can help with more accurately estimating your next software project:

  • Develop and use simple estimation models tailored to local contexts in combination with expert estimation.
  • Use historical estimation error to set minimum – maximum effort intervals.
  • Avoid exposure to misleading and irrelevant estimation information.
  • Use checklists tailored to own organization.
  • Use structured, group – based estimation processes where independence of estimates are assured.
  • Avoid early estimates based on highly incomplete information.

Anyway, if you’re dealing with software development estimates on a regular basis you should read this article since it contains do’s and don’ts of software development estimation and several hints for best practices.

2 Comments
  1. Pingback: EstiMate – Accurate Crowdsourced Software Development Estimates | Björn Wilmsmann

Leave a Comment

* Checkbox GDPR is required

*

I agree

By continuing to browse the site you agree to our use of cookies. Privacy Policy

Privacy Preference Center

Strictly necessary

These cookies are necessary for the site to function.

PHPSESSID: Preserves user session state across page requests.

__cfduid: Used by the content network, Cloudflare, to identify trusted web traffic.

PHPSESSID
__cfduid

Preferences

Remembers the user's submitted data when a comment is submitted in a blog post. The purpose is to aut o-populate form fields for subsequent comments, in order to save time for the user.

wfvt_#

Statistics

Statistic cookies help us to understand how visitors interact with our websites by collecting and reporting information anonymously.

_ga: Registers a unique ID that is used to generate statistical data on how the visitor uses the website.

_gat: Used by Google Analytics to throttle request rate.

_gid: Registers a unique ID that is used to generate statistical data on how the visitor uses the website.

collect: Used to send data to Google Analytics about the visitor's device and behaviour. Tracks the visitor across d evices and marketing channels.

_ga,_gat,_gid
collect

Security

We use Wordfence to secure our website against hacking attempts: https://www.wordfence.com/

wordfence_verifiedHuman

Close your account?

Your account will be closed and all data will be permanently deleted and cannot be recovered. Are you sure?