Jump to content

Unsolved problems in software engineering

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 129.93.190.27 (talk) at 09:18, 11 April 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

There is not a canonical list of unsolved problems in software engineering; however, there is

  • a list of antipatterns, which might be thought of as statements of poor practice, in contradistinction to the list of design patterns
  • the poorly predictable relationship of project duration to program functionality
  • the systematic detection of software defects
  • the statistical tendency of project to run behind schedule and over-budget
  • the current complexity of most programming languages, in general
  • the current complexity of most applications, to the extent that when programmers leave, companies fail, if those companies have no one else who understands what the programmers have done.
  • the arbitrariness of most software concepts, which is related to historical hardware and software implementation, lack of common standards worldwide, and economic pressures.
  • adding additional manpower to a lagging software project (especially in later parts of the project) may actually cause further schedule slippage due to overhead experienced the integration of new employees. See The Mythical Man-Month.
  • non-standard implementation of standards or specifications by multiple organizations result in a requirement for implementation specific code and special case exceptions as a necessity for cross-platform interoperability. Notable modern examples include web browser compatibility and web-services interoperability.