Al in de vorige eeuw hielden informatici zich bezig met de vraag hoe je betrouwbare software moet maken. In 1968 werd er zelfs een grote conferentie aan gewijd. De conferentie kreeg de titel “Software Engineering”. Een tot die tijd weinig gebruikte term. Deelnemers van de conferentie maakten zich vooral zorgen over wat destijds ook wel de software crisis werd genoemd. De kwaliteit van de ontwikkelde software was veelal onder de maat en projecten kostten vaak meer geld en tijd dan van tevoren was gepland. Na de conferentie werd er een rapport gepubliceerd met richtlijnen voor het ontwikkelen van software.
“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. In this sense the electronic industry has not solved a single problem, it has only created them, it has created the problem of using its products.” - Edsger Dijkstra |
Er is inmiddels veel veranderd. Software Engineering heeft zich tot een heel eigen vakgebied ontwikkeld. Het is een deelgebied van informatica dat zich bezighoudt met alle aspecten van het bouwen van complexe maar betrouwbare software tot informatiesystemen.
Op Software Engineering zijn een aantal kenmerken van toepassing: