t2informatik » Wissen kompakt » Betaversion

Betaversion

Ein früher Entwicklungsstand einer Software

Eine Betaversion bezeichnet einen Entwicklungsstand einer Software, in dem ein Teil neuer Funktionen bereits implementiert wurde, die Entwicklung eines Releases jedoch noch nicht abgeschlossen ist. Die Kennzeichen einer Betaversion sind u.a.

  • das Fehlen von Funktionen,
  • die nicht vollumfängliche Implementierung einzelner Funktionen,
  • das mögliche Vorhandensein von Hilfsrmittel wie bspw. Stubs oder Mock-Objekten,
  • die noch ausstehenden Tests einzelner Funktionen bzw. der Gesamtheit der Funktionen.

Es ist üblich, dass in der Phase der Betaversion einer Software auch die Dokumentation der Neuerungen (im Handbuch, im Changelog etc.) noch nicht abgeschlossen ist.

Klassischerweise gibt es 5 unterschiedliche Entwicklungsstadien einer Software:

  • Die Pre-Alphaversion, in der die Freigabe zur Entwicklung neuer Funktionen erfolgt. Im agilen Kontext entspricht dies in etwa dem Übergang vom Sprint Planning zum Sprint. Manche Publikationen definieren auch Prototypen als Elemente einer Pre-Alphaversion.
  • Die Alphaversion, in der erste Funktionen des geplanten Releases realisiert werden, die u.U. von firmeninternen Testern mittels White-Box-Tests bewertet werden. Am Ende einer Alphaphase können auch Gray- oder Black-Box-Tests zum Einsatz kommen.
  • Die Betaversion, die sich in zwei Arten gliedern lässt: in eine Closed Beta – also eine geschlossene Betaversion – und eine Open Beta – eine (zumindest teilweise) öffentliche Betaversion. Während die Closed Beta lediglich internen Anwendern und Testern zur Verfügung gestellt wird, kann die Open Beta ausgewählten Kunden bzw. externen Anwendern zu Testzwecken zur Verfügung gestellt werden. Dies setzt natürlich eine vertrauensvolle Zusammenarbeit zwischen Hersteller und Kunden sowie eine entsprechende Kommunikation voraus. Sowohl Closed Beta als auch Open Beta können mehrere Zyklen durchlaufen, die entsprechend im Versionsmanagement durchnummeriert werden können (Beta 1, Beta 2 etc.).
  • Der Release Candidate bzw. Release Kandidat – auch als Gamma Delta bekannt – bezeichnet die fast schon finale Version einer Software. Auch dieser Release Candidate kann – bei entsprechender Kommunikation – ausgewählten Kunden zur Verfügung gestellt werden. Oftmals gehen Hersteller davon aus, dass im Release Candidate durch die Tester bestenfalls kleinere, im Idealfall keine Fehler gefunden werden. Auch Gamma Delta kann mehrere Zyklen durchlaufen. Zum Ende der Phase sollte auch die Dokumentation der neuen Funktionen abgeschlossen sein.
  • Das Release als finale Version einer Entwicklung bzw. als Stand, der allen Kunden angeboten bzw. zur Verfügung gestellt wird. Hier wird auch von Golden Master gesprochen. Die Gesamtheit der zu implementierenden Funktionen wird im Releasemanagement definiert.
Betaversion als Softwareentwicklungsstadium

Auch wenn Unternehmen mit teilweise öffentlichen Betaversionen versuchen, bereits wesentliche Teile eines definierten Gesamtfunktionsumfangs Anwendern bzw. Testern als Vorabversion zur Verfügung zu stellen, sind schwerwiegende Fehler nicht ungewöhnlich. Daher ist es auch naheliegend, dass sich Betaversionen – möglicherweise im Gegensatz zu Release Kandidaten – nicht für den produktiven Einsatz eignen. 

In der Praxis lässt sich beobachten, dass eine Version des Herstellers A bereits deutlich stabiler und besser funktionieren kann als eine Version des Herstellers B.  Dies liegt auch daran, dass es keine allgemeingültige Klassifizierung von Betaversionen gibt.

Hinweise:

Mit den Web 2.0 Konzept wurde der Begriff Perpetual Beta bekannt. Er beschreibt die kontinuierliche Weiterentwicklung und Optimierung von Webseiten, die an sich nie einen fertigen Zustand erreichen können. Manchmal wird auch ein Bezug zum Bananenprinzip hergestellt, doch dies ist eher irreführend.

Auch fernab der Softwareentwicklung gibt es Betaversionen, die ggf. unter anderen Begrifflichkeiten wie bspw. Erlkönig in Automobilindustrie firmieren.

 

“Das Fachwissen zu Softwarearchitekturen, die Expertise in der Softwareentwicklung und die sehr flexible Arbeitsweise waren ideal für uns.“

„Ihren Blog lese ich schon lange und mit großer Freude. Systematisch, auf den Punkt und ansprechend.“