Startseite » Softwareentwicklung – die verschiedenen Stadien im Überblick

Softwareentwicklung – die verschiedenen Stadien im Überblick

by Daniel Rottländer
Published: Last Updated on
Softwareentwicklungsstadien

Softwareentwicklung – von der Pre-Alpha-Version bis zum Release

Nicht nur bei Computerspielen sind Ihnen wahrscheinlich schon Begriffe wie Alpha-Version oder Beta-Phase begegnet. Vielleicht verwenden Sie sogar Microsoft Visual Studio, um Ihre eigene Software zu entwickeln, und haben sich gefragt, wie Sie das Entwicklungsstadium korrekt bezeichnen. In diesem Blogbeitrag werden wir die verschiedenen Phasen des Software-Engineerings etwas genauer betrachten, damit Sie den Status einer Software besser einschätzen können.

Was beschreibt das Entwicklungsstadium?

In der Softwaretechnik bezeichnet ein Entwicklungsstadium den aktuellen Fertigungsstand einer Software zu einem bestimmten Zeitpunkt oder den angestrebten Zustand, den diese erreichen soll. Dies wird durch das Projektmanagement definiert, wobei sowohl der Zeitpunkt als auch der Inhalt präzise bestimmt werden. Speziell meint der Begriff die Phase, in der die Software ausführbar ist, also Programme, die für Tests oder zur Nutzung durch Endanwender im Rahmen des Releasemanagements eines Projekts freigegeben werden. In bestimmten Projektkontexten, vor allem bei kleineren Wartungsarbeiten, kann es vorkommen, dass einige Stadien übersprungen, zusammengefasst werden oder die Software direkt in ihrer endgültigen Version veröffentlicht wird.

Die Anzahl und Bezeichnung der Entwicklungsstadien sowie die Kriterien für ihre Erreichung können stark variieren. Bei Standardsoftware, einschließlich Systemsoftware, definieren Hersteller oft spezifische Entwicklungsphasen, Zielgruppen und Verwendungszwecke für ihre Softwareversionen sowie die Benennung dieser Phasen. Bei der Entwicklung von spezifisch auf ein Unternehmen zugeschnittener Software sind die Phasen und Releases meist individuell angepasst und richten sich nach den einzigartigen Anforderungen des Projekts.

Nachdem die Software ihren finalen Zustand erreicht hat, beginnt der Entwicklungsprozess in der Regel von neuem, um die Anwendung zu erweitern und eine neue Version zu erstellen. Dieser Zyklus zielt darauf ab, die Software kontinuierlich zu verbessern und an die sich ändernden Bedürfnisse der Benutzer anzupassen.

Pre-Alpha- und Alpha-Version

Jeder Entwicklungsstand vor der ersten Alpha-Version kann als Pre-Alpha-Version bezeichnet werden, wobei “Pre-Alpha” aus dem Lateinischen “prae” für “vor” und dem griechischen Buchstaben Alpha abgeleitet ist, der auch als Symbol für den Anfang steht. Diese Bezeichnung wird oft für Softwareversionen verwendet, die ein bestimmtes, weitgehend fertiggestelltes Modul präsentieren sollen. Alternativ wird hierfür auch der Begriff “Entwicklervorschau” (englisch “Developer Preview”, kurz DP) verwendet.

Die Alpha-Version ist die erste Ausgabe eines Computerprogramms, die für Tests durch externe Nutzer – also Personen außerhalb des Entwicklerteams – vorgesehen ist. Obwohl es keine allgemeingültige Definition für eine Alpha-Version gibt, umfasst sie typischerweise die Kernfunktionen des Produkts. Es ist jedoch üblich und notwendig, dass der Funktionsumfang in nachfolgenden Versionen erweitert wird. Alpha-Versionen enthalten oft zahlreiche Bugs oder Programmfehler, was ihren Einsatz in einer Produktivumgebung in der Regel ausschließt.

Alpha-Versionen können auch speziell als Entwicklervorschauen oder “Developer Previews” bzw. “Developer Releases” bezeichnet und in einem begrenzten Rahmen, vornehmlich an Entwickler von Drittanbieter-Software, zur Verfügung gestellt werden. Dies dient dazu, Feedback zu sammeln und die Software vor der Veröffentlichung weiterer Versionen zu verbessern.

Beta-Version – die fortgeschrittene Testversion

Die Beta-Version eines Computerprogramms markiert die Phase, in der ein Produkt erstmals für Testzwecke öffentlich gemacht wird. Diese Version beinhaltet im Wesentlichen alle Hauptfunktionen, die jedoch noch nicht umfassend getestet wurden. Es ist typisch für eine Beta-Version, dass sie noch viele Fehler aufweisen kann, einschließlich solcher, die den produktiven Einsatz beeinträchtigen könnten.

Der Hauptzweck eines Betatests liegt darin, Probleme aufzudecken, die möglicherweise erst unter realen Bedingungen sichtbar werden, wie beispielsweise Konflikte mit anderen Anwendungen, Schwierigkeiten mit bestimmter Hardware, missinterpretierte Anforderungen oder Unstimmigkeiten in der Benutzeroberfläche. Durch einen Betatest können diese Fehler vor der endgültigen Veröffentlichung identifiziert und behoben oder zumindest dokumentiert werden, um eine stabilere und benutzerfreundlichere Version zu gewährleisten.

Betatester sind typischerweise die ersten unabhängigen Tester, die nicht zum Entwicklerteam gehören. Sie spielen eine entscheidende Rolle bei der Verbesserung der Software, indem sie Feedback aus einer neuen Perspektive liefern.

Beta-Versionen sind oft an bestimmten Kennzeichen zu erkennen, wie einer Hauptversionsnummer von 0 in den Versionen vor der endgültigen 1.0-Version oder dem expliziten Zusatz „Beta“ im Namen. Diese Kennzeichnungen signalisieren den Teststatus der Software und dass mit weiteren Updates vor der finalen Version gerechnet werden sollte.

Release Candidate/Prerelease – kurz vor der Zielgeraden

Ein Release Candidate (RC), manchmal auch als Prerelease bezeichnet, ist eine der letzten Entwicklungsstufen vor der endgültigen Veröffentlichung einer Software. In diesem Stadium verfügt die Software bereits über alle geplanten Funktionen (feature complete) und alle bis zu diesem Zeitpunkt bekannten Fehler sind behoben. Ziel eines Release Candidates ist es, durch abschließende Produkt- oder Systemtests die Qualität der Software zu validieren und nach verbleibenden Fehlern zu suchen.

Sobald auch nur die geringste Änderung vorgenommen wird, muss ein neuer Release Candidate erstellt und die Testphase erneut durchlaufen werden. Um den Fortschritt zu dokumentieren, werden Release Candidates oft nummeriert (z.B. RC1, RC2, etc.). Erreicht ein Release Candidate die geforderten Qualitätsstandards ohne weitere Änderungen, wird er zur finalen Version erhoben und veröffentlicht, wobei das „RCx“-Suffix entfernt wird.

Softwareversionen, die eine höhere Stabilität als Beta-Versionen aufweisen, aber noch nicht den Entwicklungsstand eines Release Candidates erreicht haben, werden gelegentlich als Gamma-Versionen bezeichnet.

Im Kontext von Windows-Gerätetreibern gibt es den Status „WHQL Candidate“. Diese Treiberversionen entsprechen in ihrer Entwicklungsphase einem Release Candidate und wurden zur WHQL-Prüfung eingereicht, allerdings steht die offizielle Zertifizierung noch aus.

Release – die Softwareentwicklung ist abgeschlossen

Die endgültige Fertigstellung und Veröffentlichung einer Software wird allgemein als Release oder Hauptversion bezeichnet. Dieser Schritt ist typischerweise mit einer Erhöhung der Versionsnummer verbunden. Bei Software, die auf physischen Medien verbreitet wird, bedeutet dies, dass die Version zur Produktion an Presswerke gesendet wird, um auf Datenträgern wie CD-ROMs oder DVDs vervielfältigt und als greifbares Produkt zur Verfügung gestellt zu werden.

Für diese Version der Software haben sich verschiedene Begriffe eingebürgert. „Stable“ kennzeichnet eine stabile Version, die keine weiteren Änderungen erfährt. „Final“ steht für die abschließende Version eines Softwareprodukts. Der Ausdruck „General Availability“ (GA) hingegen signalisiert, dass die Software allgemein verfügbar ist und für den Einsatz in der Praxis freigegeben wurde, sei es über physische Medien oder andere Distributionskanäle. Dieser Terminus unterstreicht die breite Verfügbarkeit der Software für Endanwender.

Sie möchten mit Microsoft Visual Studio selbst in die Softwareentwicklung einsteigen? Dann haben Sie mit Softwarekaufen24 die richtige Anlaufstelle gefunden. Wir bieten Ihnen die integrierte Entwicklungsumgebung für verschiedene Hochsprachen zu einem herausragenden Preis-Leistungs-Verhältnis an.

Das könnte Ihnen auch gefallen