Are There Limits to Software Estimation? DC

Our "Perspectives on Software Engineering" columnist tackles the subject of accurately estimating software development time - joining a complex computer science debate.

Local Companies

Capital Management Consulting,
(202) 527-2022
5411 13th St., NW
Washington, DC
Sophisticated Technologies, Inc.
(301) 731-1015
3311 Grayvine Lane
Washington, DC
Peyton McCall, Inc.
(202) 327-4902
7504 Alaska Ave
Washington, DC
Dantech Corporation Inc.
(888) 868-9015
1700 Verbena St., NW
Washington, DC
The Myta Corporation
(301) 468-7740
6901 Barrett Lane
Bethesda, DC
Symbiont, Inc.
(202) 887-6800
1320 Fenwick Lane
Silver Spring, DC
Enlightened, Inc.
(202) 783-4655
666 11th St., NW
Washington, DC
Evergreen Computer Services, Inc
(301) 758-2986
12421 Alamanco Way
Washington, DC
The Carrington Group, Inc
(202) 726-4441
1818 New York Ave., NE Suite 115
Washington, DC
NGEN, LLC
(301) 531-9700
1101 Mercantile Lane
Washington, DC

provided by: 
Originally published at Internet.com


In the July 2001 issue of ACM Software Engineering Notes, J. P. Lewis published an article that claimed there are hard limits on our ability to estimate software development time. The article has generated a fair amount of discussion within the software engineering community, because its conclusion is so disturbing. Lewis claims there simply cannot be any objective method for arriving at a good estimate of the complexity of a software development task prior to completing the task. He uses objective to mean a formal, mechanical method that does not rely on human intuition. He backs up this assertion by providing a mathematical proof for it. (Here is the article, Large Limits to Software Estimation, and here is a companion paper Lewis wrote in response to the discussion.)

Charles Connell

Lewis's argument is based on the notion of algorithmic complexity, which is a measure of the shortest program that will produce a given string. Algorithmic complexity, also known as Kolmogorov complexity, is a well-established and accepted area of information theory and computer science. Lewis observes that any software program can be thought of as a table that maps program inputs to their corresponding correct outputs. This characterization of programming assumes a finite number of finite inputs, which is fair for practical purposes. Lewis then notes that a table can be represented as a string consisting of its rows. Thus any programming task has an associated algorithmic complexity - the length of the shortest program that will produce the table that maps the project's data inputs to their outputs. (For more information see An Introduction to Kolmogorov Complexity and Its Applications.) ...

Read article at Internet.com site

Featured Local Company

Symbiont, Inc.

(202) 887-6800
1320 Fenwick Lane
Silver Spring, DC

Related Local Events
DC Chamber Technology Series: Session 4
Dates: 12/10/2009 - 12/10/2009
Location: Robert H. Smith School at the Ronald Reagan Building and International Trade Center
Washington, DC
View Details

ACIs 3rd Annual Carbon Capture and Sequestration Summit
Dates: 9/14/2009 - 9/15/2009
Location: Omni Shoreham Hotel
Washington, DC
View Details

3rd Carbon Capture and Sequestration Summit
Dates: 9/14/2009 - 9/15/2009
Location: Omni Shoreham Hotel
Washington, DC
View Details

Topics: 
Architecture & Design Languages & Tools Project Management Web Services
Database Microsoft & .NET Security Wireless
Java Open Source Techniques XML