Verschiedene Endgeräte, auf denen Software verteilt werden kann
Phase der Softwareentwicklung

Deployment

Haben Sie sich schon mal gefragt, was der Unterschied zwischen einer neuen Version, einem Release und dem Launch einer Software ist? Damit Sie für das Thema Deployment gut gewappnet sind, lernen Sie hier, welche Schritte notwendig sind, um Software produktiv zu schalten und zu aktualisieren.

  • HauptartikelSoftware-Entwicklung

  • Lesezeit5 Minuten

Das Wichtigste zusammengefasst

  • Das Deployment zielt darauf ab, die entwickelte Software auf dem Zielsystem zu installieren und lauffähig zu machen.
  • Eine Software-Version ist ein Entwicklungsstand zu einem bestimmten Zeitpunkt. Ein Release ist ein Deployment auf dem Produktivsystem einer bestimmten Version.
  • Ein Software-Release erfolgt durch eine schrittweise Bereitstellung und Prüfung auf das Entwicklungs-, Test- und Produktivsystem.
  • Beim Software-Launch wird die Software offiziell eingeführt und beworben.

Was bedeutet Deployment von Software?

Das Deployment, auch Verteilung oder Bereitstellung der Software genannt, ist ein Schritt der Softwareentwicklung, der darauf abzielt, die entwickelte Software auf dem Zielsystem zu installieren und lauffähig zu machen.

Die Bereitstellung bedeutet nicht, dass das Projekt damit bereits abgeschlossen ist. Denn zum einen kann ein Deployment auch regelmäßig erfolgen und zum anderen kann Software nicht nur auf das Produktivsystem, sondern auch auf dem Entwicklungs- oder Testsystem verteilt werden, auf dem Entwickler ihre Änderungen ausprobieren oder mit dem Kunden testen können.

Dies kann auf den ersten Blick alles sehr verwirrend erscheinen. Um dies besser zu verstehen, müssen Sie zunächst einen Blick darauf werfen, wie Änderungen in Software ablaufen. Dabei stoßen Sie immer wieder auf die Begriffe Version und Release.

Version und Release einer Software

Die Version der Software ist der Entwicklungsstand zu einem bestimmten Zeitpunkt. Mit jeder neuen Funktionalität und auch mit jeder Fehlerbehebung kann eine neue Version entstehen. Es werden die Folgenden drei Versionsarten unterschieden:

  • Bei einer neuen Major-Version kommen mindestens neue signifikante Funktionalitäten hinzu. Dies deutet oft darauf hin, dass die Software wesentliche Änderungen erhalten hat und möglicherweise eine Anpassung für die Benutzer erfordert.
  • Bei einer neuen Minor-Version kommen auch mindestens neue Funktionalitäten hinzu, welche jedoch nicht so signifikant sind, dass Nutzer sich umstellen oder anpassen müssen.
  • Mit einem neuen Patch werden lediglich Fehler behoben oder gar die Stabilität der Software verbessert. Bei einem Patch bleibt der Funktionsumfang somit gleich.

Eine Version wird üblicherweise mit einer dreistelligen Versionsnummer (zum Beispiel 5.0.4) versehen, welche darstellt, um welche Art von Änderung es sich handelt:

  • Ändert sich die erste Ziffer, zum Beispiel von 4.6.9 auf 5.0.0 entspricht das einer neuen Major-Version.
  • Ändert sich die zweite Ziffer, zum Beispiel von 4.5.1 auf 4.6.0 entspricht das einer neuen Minor-Version.
  • Ändert sich die dritte Ziffer, zum Beispiel von 5.0.1 zu 5.0.2 entspricht das einem Patch.

Für eine Versionsänderung kann nun gemeinsam mit Ihnen als Kunden entschieden werden, ob diese veröffentlicht werden. Es besteht auch die Möglichkeit, erst nach einigen Versionsänderungen zu veröffentlichen, falls Sie Funktionalitäten lieber in einem großen Rutsch bereitstellen möchten. Diese Veröffentlichung wird Release genannt. Da sich nur durch ein Release die Software für Ihre Kunden ändert, lässt sich daraus folglich ableiten: Ein Release geht immer mit einem Deployment auf das Produktivsystem einher.

All diese Vorgänge werden in einem Versionsverwaltungssystem wie Git festgehalten. Das hat vor allem den Vorteil, dass Änderungen nachvollziehbar bleiben und auch parallel an einem Projekt gearbeitet werden kann.

Ablauf eines Software-Releases

Ein erfolgreiches Release gemeinsam mit einer Software-Agentur wie uns läuft folgendermaßen ab:

  • Die Software-Agentur stellt die aktuelle Version auf dem Entwicklungssystem bereit und prüft diese funktional und qualitativ.
  • Im Anschluss wird die Version auf dem Testsystem bereitgestellt, sodass Sie diese sehen und prüfen können. Bei großen Änderungen erfolgt oftmals auch eine Präsentation.
  • Als letztes erfolgt das Deployment auf dem Produktivsystem. Die Software kann nun von Ihren Kunden genutzt werden.

Im Grunde genommen funktioniert dieser Prozess sowohl für Web-Apps als auch für mobile Apps. Unterschiede gibt es dabei nur beim Zielsystem der Bereitstellung:

  • Eine mobile App wird in den jeweiligen Stores (App-Store, Play Store) bereitgestellt. Da die App von Apple oder Google geprüft wird, kann dieser Schritt für das Produktivsystem innerhalb weniger Tage fertig sein, aber im schlimmsten Fall auch mal mehreren Wochen andauern. Beim Test- oder Entwicklungssystem treten solche Probleme nicht auf.
  • Eine Web-App wird in der eigenen Infrastruktur bereitgestellt und benötigt keine Prüfung von Dritten. Im Regelfall benötigen Sie eine Domain, wenn Ihre Anwendung im Netz verfügbar sein soll. Diese wird über den Domain Name System (DNS) mit Ihrer Infrastruktur verbunden.

Was ist ein Software-Launch?

Der Launch ist der Zeitpunkt, ab dem die Software dann offiziell eingeführt und beworben wird. Ab diesem Punkt kommunizieren Sie das neue Produkt mit Ihren Kunden. Oftmals wird der Begriff Release mit dem Launch verwechselt. Ein Launch und ein Release sind nicht dasselbe. Jeder Launch benötigt mindestens ein vorangehendes Release.

Für einen initialen Launch müssen auch rechtliche Dinge beachtet werden. Beispielsweise benötigen Sie in vielen Fällen gültige allgemeine Geschäftsbedingungen, eine rechtskonforme Datenschutzerklärung, ein Impressum und einen Auftragsdatenverarbeitungsvertrag mit Ihrer Software-Agentur.

Hey Dakitec’,
könnt Ihr mein App-Projekt entwickeln?
Sehr gerne,
da sind Sie hier richtig!
Mehr erfahren