Are There Limits to Software Estimation?

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

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
Regional Articles
- Are There Limits to Software Estimation? Alabama
- Are There Limits to Software Estimation? Alaska
- Are There Limits to Software Estimation? Arizona
- Are There Limits to Software Estimation? Arkansas
- Are There Limits to Software Estimation? California
- Are There Limits to Software Estimation? Colorado
- Are There Limits to Software Estimation? Connecticut
- Are There Limits to Software Estimation? DC
- Are There Limits to Software Estimation? Delaware
- Are There Limits to Software Estimation? Florida
- Are There Limits to Software Estimation? Georgia
- Are There Limits to Software Estimation? Hawaii
- Are There Limits to Software Estimation? Idaho
- Are There Limits to Software Estimation? Illinois
- Are There Limits to Software Estimation? Indiana
- Are There Limits to Software Estimation? Iowa
- Are There Limits to Software Estimation? Kansas
- Are There Limits to Software Estimation? Kentucky
- Are There Limits to Software Estimation? Louisiana
- Are There Limits to Software Estimation? Maine
- Are There Limits to Software Estimation? Maryland
- Are There Limits to Software Estimation? Massachusetts
- Are There Limits to Software Estimation? Michigan
- Are There Limits to Software Estimation? Minnesota
- Are There Limits to Software Estimation? Mississippi
- Are There Limits to Software Estimation? Missouri
- Are There Limits to Software Estimation? Montana
- Are There Limits to Software Estimation? Nebraska
- Are There Limits to Software Estimation? Nevada
- Are There Limits to Software Estimation? New Hampshire
- Are There Limits to Software Estimation? New Jersey
- Are There Limits to Software Estimation? New Mexico
- Are There Limits to Software Estimation? New York
- Are There Limits to Software Estimation? North Carolina
- Are There Limits to Software Estimation? North Dakota
- Are There Limits to Software Estimation? Ohio
- Are There Limits to Software Estimation? Oklahoma
- Are There Limits to Software Estimation? Oregon
- Are There Limits to Software Estimation? Pennsylvania
- Are There Limits to Software Estimation? Rhode Island
- Are There Limits to Software Estimation? South Carolina
- Are There Limits to Software Estimation? South Dakota
- Are There Limits to Software Estimation? Tennessee
- Are There Limits to Software Estimation? Texas
- Are There Limits to Software Estimation? Utah
- Are There Limits to Software Estimation? Vermont
- Are There Limits to Software Estimation? Virginia
- Are There Limits to Software Estimation? Washington
- Are There Limits to Software Estimation? West Virginia
- Are There Limits to Software Estimation? Wisconsin
- Are There Limits to Software Estimation? Wyoming

Rss   Delicious   Digg   Add To My Yahoo   Add To My Google   Bookmark   Search Plugin

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