<< Themensammlung IT-Entwicklung

Entwicklungsstadien von Software

Software-Entwicklungsstadien

Software-Entwicklung findet nicht mehr allein im Programmierkeller statt. Viele Software-gestützte Start-ups haben zu Recht die Möglichkeit entdeckt, bereits mit unreifen, noch fehlerbehafteten Diensten auf die zukünftigen Kunden zuzugehen. Doch wer nach diesem so genannten Bananenprinzip vorgehen möchte, muss einige Regeln beachten.

Wer heutzutage eine Software entwickelt, der ist sich darüber bewusst, dass er sie im Grunde nicht in perfektem Zustand ausliefern kann. Genau deshalb treten Entwickler und Produktmanager bereits in frühen Entwicklungsphasen an die zukünftigen Kunden heran, um sie von der Zielgruppe testen zu lassen. Ganz nebenbei bringt man auf diese Weise sein Produkt viel früher auf den Markt und profitiert vom Buzz und den resultierenden Verlinkungen, die dadurch entstehen. Teilweise wird die Testphase sogar Dauerzustand der Software, wie man es etwa bei Microsofts Suchmaschine „Bing“ beobachten kann.

Vorteile für Entwickler und Kunden

Nicht nur auf der Entwicklerseite entstehen dadurch Vorteile. Auch der Kunde kommt früh in Kontakt zu innovativen Programmen und kommt als Beta-Nutzer oft genug in den Genuss, die Software gratis nutzen zu können. Entsprechend dieser Vorgehensweise haben sich verschiedene, mehr oder weniger feste Definitionen der einzelnen Entwicklungsphasen herauskristallisiert.

Entwicklungsphasen

Alpha – Eine Alpha-Version muss nicht unbedingt alle Features enthalten, die die spätere Software zu bieten hat, so ist es möglich, auch nur bestimmte Teile eines Produkts durch Gebrauch unter die Lupe zu nehmen. Alpha-Tests werden für gewöhnlich geschlossen gehalten, sie sind also nicht der Öffentlichkeit zugänglich. Allerdings werden zum ersten Mal im Verlauf der Entwicklungsarbeit Testpersonen hinzugezogen, die nicht Teil des Entwicklerteams sind. Der Grund: Es wird Wert auf ein unvoreingenommen Eindruck gelegt – sowohl die Features als solche als auch die Gestaltung der Bedienoberflächen werden so einer eingehenden Prüfung unterzogen.

Beta – Das Produktstadium in der Betaphase ist bereits weit fortgeschritten, die Software ist nahezu komplett, allerdings noch mit Fehlern behaftet. In der Betaphase wird das erste Mal ganz bewusst die Öffentlichkeit mit in das Produkt einbezogen. Zugänge zu der Software werden meist limitiert und wer clever ist, benutzt diese zahlenmäßig begrenzten Nutzer-Accounts bereits zu PR-Zwecken. So hat es sich etabliert, dass man verschiedenen Start-up- und Tech-Medien ein gewisses Kontingent an Zugängen für die jeweiligen Leser zukommen lässt. In einer so genannten offenen Beta gibt man vorher nicht ausgewählten Benutzern Zugang zu dem Produkt. Es empfiehlt sich Möglichkeiten für die Tester einzubauen, möglichst unkompliziert und detailliert eventuelle Fehler zu dokumentieren. Die Deklarierung einer Betaversion sollte dadurch erfolgen, dass man ihr eine Versionsnummer „0“ vor dem Komma gibt, beispielsweise Version 0.03 Beta. Weiterhin sollte gut sichtbar, am besten in Nähe des Logos das Wort „Beta“ angebracht werden. Die Cloud-Software „prefinery.com“ hat für Software-Entwickler ein Dienstpaket zusammengestellt, das alle Anforderungen zur Interaktion mit Beta-Nutzern abdeckt: Einladungen, Rückmeldungen, Versand.

Release Candidate – Der Release Candidate ist quasi die Generalprobe für die endgültige Version. Alle Fehler, die in der Betaphase diagnostiziert wurden, müssen behoben sein und finale Tests bestätigen, ob ein neuer Release Candidate herausgegeben werden muss oder ob er den Status eines Releases erlangt. Release Candidates können mit RC1, RC2, … durchnummeriert werden.

Release – Wenn die Software vom Kunden abgenommen wurde oder den internen Ansprüchen an eine Vollversion genügt, dann erfolgt das offizielle Release. Ab diesem Zeitpunkt setzt man eine „1“ oder späterhin auch höhere Zahlen als Versionsnummern vor das Komma. Beispiel: Firefox 4.1

Updates und Patches – Ist eine Software trotz ausgiebiger Tests und obwohl ein Release genehmigt wurde noch fehlerhaft, so hat man die Option so genannte Patches, also Flicken, herauszubringen. Das sind kleine Fehlerkorrekturen, die nachträglich auf die Software draufgepackt werden können. Updates hingegen sind Flickschusterei mit zusätzlichen Features. So kann man geschickt Fehler im Programm mit neuen Funktionen überdecken, was die Kommunikation der Fehler leichter macht.

Fazit

Wer seine Software agil entwickelt und auf schnelle Prototypen setzt, für den ist eine frühzeitige Betaversion und eine entsprechende Buzz-Page, wie etwa einen Blog oder eine Microsite mit einem Anmeldeformular Pflicht. Marketing, Produktmanagement und Software-Entwicklung gehen heute Hand in Hand.

Schlagworte zu diesem Artikel

Das könnte Sie auch interessieren

Förderland-Newsletter

Wissen für Gründer und Unternehmer