Jump to content

Unsolved problems in software engineering

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Akamad (talk | contribs) at 12:30, 13 April 2006 (Revert to revision 47610058 using popups). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Science
Science
Unsolved problems in : Note: Use the unsolved tag: {{unsolved|F|X}}, where "F" is any field in the sciences: and "X" is a concise "explanation" with or without links. The appropriate category tag will automatically be added.

There is not a canonical list of unsolved problems in software engineering; however, there are the following issues:

  • List of antipatterns, which might be thought of as statements of poor practice, in contradistinction to the list of design patterns
  • Poorly predictable relationship of project duration to program functionality
  • Systematic detection of software defects
  • Statistical tendency of project to run behind schedule and over-budget
  • 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 during the integration of new employees. See The Mythical Man-Month.
  • Current complexity of most programming languages, in general
  • Current complexity of most applications, to the extent that companies fail when programmers leave, if those companies have no one else who understands what the programmers have done.
  • 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.
  • Arbitrariness of most software concepts, which is related to historical hardware and software implementation, lack of common standards worldwide, and economic pressures.