Bei Programmen und Software, aber auch bei Computern und Computersystemen werden immer wieder verbesserte Versionen entwickelt, die in der Regel verbesserte und zusätzliche Funktionen und Eigenschaften besitzen.
Man spricht dann von Aufwärtskompatibilität, wenn die neue Version alle Eigenschaften der Vorversion besitzt und Programme verarbeiten kann, die für die Vorversion entwickelt wurden. Mit einer aufwärtskompatiblen Version eines Programms können beispielsweise Daten der Vorversion gelesen werden.