ABSE Logo
Atom-Based Software Engineering

The “Software Crisis”

Consecutive revolutions are being achieved in many domains thanks to computer software. However, software engineering is not witnessing the same evolution rate as in the domains it addresses.

Current software problems


“The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem.”

Edsger Dijkstra, 1972

The above was written almost four decades ago, but looks as it could have been written today.

 

Problem : Slow tool evolution

In the seventies, people developed software line-by-line, file-by-file.

Four decades later, most people still develop software line-by-line, file-by-file. While there has been some evolution in development methods and tools, most are essentially based on flat source files.

 

Problem : Feature Traceability

The traceability problem occurs when the solution features that implement a problem feature cannot be easily identified. This makes it hard to identify all of the things that need to change in the implementation, and to ensure that all of the changes are made consistently, when the requirements change.

Failing to trace all elements that belong to a given feature leads to bugs, inconsistencies, and excess time. It's a (too) common scenario.

Feature traceability

 

 

Learn the Basics
Technical Details
For the Individual
In the Enterprise

Product Site

Twitter
ABSE & AtomWeaver Community
Development At Heart Blog

Isomeris Site
Technology Portfolio

Isomeris Logo