Skip to content
SE eBook
Menu

Software Myths

Public section
Preferences are saved on this device.

Software Myths and Realities

In the early days of software development (and even today), many misconceptions – often called software myths – have affected how managers, customers and developers think about software projects. These myths lead to unrealistic expectations and poor decisions if they are not challenged.

The following are some common myths and the realities behind them.

Myth 1: “Software is easy to change.”

Reality: changing software is rarely “easy”. A small change in one module can:

  • Introduce new bugs.
  • Break existing functionality in other parts of the system.
  • Affect performance, reliability or security in unexpected ways.

Even seemingly minor changes should go through proper impact analysis, regression testing and documentation updates.

Myth 2: “Once software is implemented, the work is done.”

Reality: software development does not end with the first release. In practice, most of the effort over the lifetime of a system goes into maintenance and evolution, such as:

  • Fixing defects discovered after deployment.
  • Adapting the software to new hardware, platforms or regulations.
  • Adding new features and improving performance or usability.

For many long-lived systems, maintenance effort far exceeds the initial development effort.

Myth 3: “Quality cannot be assessed before testing.”

Reality: software quality can and should be assessed throughout the development process, not only during final testing. Examples of early quality assurance activities include:

  • Code reviews and walkthroughs.
  • Static analysis tools (for style, security and complexity).
  • Adherence to coding standards and design principles.
  • Prototyping and design reviews with stakeholders.

Testing is essential, but it is only one part of a broader quality assurance strategy.

Exam tip: remember that software myths typically underestimate the cost and complexity of change, maintenance and quality. A key role of software engineering is to replace these myths with realistic, evidence-based practices.

Login to add personal notes and bookmarks.