Thales banner

Wir erklären Softwarebereitstellung

Was ist Softwarebereitstellung?

SoftwarebereitstellungSoftwarebereitstellung bezeichnet den gesamten Prozess, um ein Softwareprodukt zum Kunden zu bringen: von der Konzeption über die Entwicklung bis zum eigentlichen Kauf und der Installation der Produktlizenz.

In dem meisten Fällen bezieht sich dieser Begriff auf den Beginn des Prozesses. Das heißt, es handelt sich um die Folge von Schritten, die erforderlich sind, wenn die unterschiedlichen Teams des Unternehmens die Software für die Bereitstellung beim Kunden vorbereiten. In einigen Fällen bezieht sich der Begriff auch auf die Art und Weise, in der der Kunde Zugriff auf das Produkt erhält. In diesem Artikel werden wir uns mit beiden Bedeutungen befassen.

Was ist ein Softwarebereitstellungsmodell?

Softwarebereitstellungsmodelle sind die Herangehensweise, die das Team bei der Vorbereitung des Softwareprodukts für den Markt verfolgt. Diese Modelle werden auch als Lebenszyklus der Softwarebereitstellung, Software-Delivery-Pipeline oder ganz einfach als Softwarebereitstellungsprozess bezeichnet.

Unternehmen haben viele unterschiedlicher Softwarebereitstellungsmodelle entwickelt und es gibt keine einzelne Herangehensweise für alle Fälle. Ferner nutzen viele Unternehmen eine Kombination aus Softwarebereitstellungsmodellen. In der Vergangenheit war der Ansatz, der heute als „Wasserfallmodell“ bekannt ist, der Goldstandard der Softwareentwicklung. Heute hat sich allerdings die sogenannte „agile“ Methode weitgehend durchgesetzt. Die agile Methode wir auch mit weiteren verwandten Modellen und Methoden wie DevOPs, CD/CI (Continuous Delivery/Continuous Integration), Kanban und Scrum assoziiert.

Was sind das Wasserfallmodell und der agile Ansatz bei der Softwarebereitstellung?

Das Wasserfallmodell

Das Wasserfallmodell ist ein linearer oder sequentieller Softwarebereitstellungsprozess. Das heißt, jede einzelne Phase des Prozesses hängt vom Abschluss der vorhergehenden Phase ab. Es wird als „Wasserfallmodell“ bezeichnet, weil der Prozess von der Konzeption bis zur eigentlichen Bereitstellung eine Reihe aufeinanderfolgender „abwärts fließender“ Schritte durchläuft.

Das Wasserfallmodell ist eines der weniger flexiblen Softwarebereitstellungsmodelle. Es stammt ursprünglich aus Branchen wie Fertigung und Bauwesen, wo jeder einzelne Schritt stark von dem vorhergehenden abhängt. Wenn bei der Fundamentlegung für ein Gebäude ein Fehler unterläuft, ist die gesamte Struktur fehlerhaft, egal wie gut die Ausführung des restlichen Gebäudes sein mag. In der Vergangenheit gab es eine ähnliche Auffassung des Softwareentwicklungsprozesses. Eine typische Software-Delivery-Pipeline nach dem Wasserfallmodell könnte wie folgt aussehen:

  • Ein Businessanalyst verfasst ein Dokument mit Unternehmensanforderungen, das alles enthält, was das Unternehmen von der Software erwartet, von der allgemeinen Strategie bis hin zu speziellen Details der Funktionen und Benutzeroberfläche.
  • Technologen nehmen dieses Dokument und ergänzen es um ein weiteres Dokument mit technischen Anforderungen, das die detaillierte Struktur der Anwendung und ihrer Daten, das funktionale Design und weitere Anforderungen enthält. Diese zwei Dokumente sind zusammen unter dem Begriff Software Requirements Specification (SRS) bekannt.
  • Das SRS wird an die Programmierer weitergegeben, die die Anforderungen umsetzen und den Code für die verschiedenen Funktionen erstellen.
  • Die Codes werden in die Software integriert.
  • Die Qualität und Funktionalität der Software wird getestet.
  • Die Software wird auf den Markt gebracht.

Der gesamte Prozess kann Monate oder Jahre dauern.

In einigen Fällen ist dieser lineare Ansatz notwendig, um ein funktionierendes Softwareprodukt zu entwickeln, aber viele halten ihn heute für schwerfällig und langsam. Später werden wir genauer betrachten, warum das wichtig ist.

Die agile Methode

Das Wort agil impliziert Leichtigkeit, Geschwindigkeit, Flexibilität und die Fähigkeit, schnell die Richtung zu wechseln. Die englischsprachige Version von Wikipedia beschreibt agile Softwareentwicklungsverfahren als „discovering requirements and developing solutions through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end-user(s)“, also als Erkennen von Anforderungen und Entwicklung von Lösungen durch gemeinsame Bemühungen selbstorganisierter und funktionsübergreifender Teams und Ihrer Kunden bzw. Endbenutzer. Anstatt die Entwicklung einer Software wie ein Bauprojekt anzugehen, das von Grund auf Schritt für Schritt ausgeführt wird, gliedert das agile Modell das Projekt in kleinere Komponenten. Diese können von einem Team, das auf eine bestimmte Eigenschaft oder Funktion spezialisiert ist, unabhängig voneinander entwickelt werden. Anschließend werden diese Komponenten zum finalen Produkt zusammengefasst.

Diese Herangehensweise ermöglicht einen deutlich flexibleren, teamorientieren, effizienten und iterativen Lebenszyklus der Softwarebereitstellung. Statt Monate zu benötigen, um Aufgaben abzuschließen, können Entwickler mithilfe der agilen Methode ihre Ziele in wenigen Wochen erreichen. Dadurch sind Technologieunternehmen in der Lage, neue Produkte und Aktualisierung schneller und effizienter als jemals zuvor zu veröffentlichen.

Es gibt viele unterschiedliche Wege, diese Methode umzusetzen. Im Folgenden finden Sie ein Beispiel dafür, wie eine agile Software-Delivery-Pipeline unter Zuhilfenahme der Scrum-Methode aussehen könnte:

  • Ein Produktinhaber stellt eine Liste mit Anforderungen auf, die Product Backlog genannt wird.
  • Das Scrum-Team nimmt den ersten Punkt der Liste und erstellt einen Plan für seine Umsetzung.
  • Das Team schließt die Aufgabe in zwei bis vier Wochen ab. Dieser Zeitraum wird als Sprint bezeichnet. Sie treffen sich täglich, um ihre Fortschritte zu besprechen und gegebenenfalls Änderungen vorzunehmen.
  • Das Team beendet den Sprint und überprüft das Getane. Sobald ein Sprint abgeschlossen wurde, beginnen sie einen neuen.
  • Dieser Prozess wird so lange wiederholt, bis das gesamte Produkt fertig ist.

Noch einmal: Es gibt noch viele weitere Vorgehensweise, die als agile Methoden bezeichnet oder diesen zugerechnet werden. Sie alle haben jedoch eines gemeinsam: Sie erschaffen einen möglichst effizienten Software Delivery Lifecycle, der es dem Team erlaubt, den Kunden die Software schnell und ohne Abstriche bei der Qualität bereitzustellen.

Verwaltung der Softwarebereitstellung

Aufgrund all dieser unterschiedlichen Methoden und den vielen verschiedenen Faktoren, die für einen reibungslosen Bereitstellungsprozess zusammenkommen müssen, kann es sein, dass Sie manchmal den Wald vor lauter Bäumen nicht sehen. Daher stellen viele Unternehmen einen Software Delivery Manager ein. Der Software Delivery Manager überwacht den Bereitstellungsprozess und sorgt dafür, dass alles von der ersten Planungsphase über die Sprints und den Entwicklungsprozess möglichst problemlos läuft, bis die Software marktreif ist.

Darüber hinaus gibt es eine neue Kategorie von Software, die als Software Delivery Management (SDM) bezeichnet wird. Sie kann den Prozess grundlegend verändern, auch wenn ein menschlicher Software Delivery Manager beteiligt ist.

Der Zweck eines Software Delivery Managements ist es, alle Daten aus der gesamten Pipeline zusammenzufassen, von den Back-Office-Systemen des Unternehmens bis zur Software Delivery Toolchain. So erhält das Unternehmen einen vollkommen neuen Blick nicht nur auf die sich in der Entwicklung befindlichen Funktionen, sondern auch darauf, wie diese genutzt werden und ob sie das Umsatzwachstum fördern.

Software Delivery Management trägt dazu bei, Silos aufzubrechen. Das gesamte Unternehmen erhält Zugang zu allen Informationen zum aktuellen Stand der Dinge. Das erleichtert die Zusammenarbeit und die Weitergabe von Erkenntnissen. In anderen Worten handelt es sich dabei um so etwas wie die Mutter aller Tools zur Softwarebereitstellung.

Warum ist es wichtig, dass Softwareprodukte in kürzester Zeit entwickelt und bereitgestellt werden?

Die Antwort ist einfach: Wer zu spät kommt, den bestraft das Leben. In der Softwarebranche herrscht ein harter Konkurrenzkampf und Technologieunternehmen bringen in schwindelerregendem Tempo neue Produkte auf den Markt. Laut Statista wurden 2020 pro Tag durchschnittlich 6.000 neue Apps für Android veröffentlicht. Außerdem haben Kunden immer höhere und speziellere Ansprüche. Um ihre Kunden zufriedenzustellen, müssen Unternehmen neue Funktionen entwickeln, die diesen Ansprüchen gerecht werden.

Bewährte Verfahren der Softwarebereitstellung

Wie können Sie Ihre Software-Delivery-Pipeline optimieren und Software in kürzester Zeit entwickeln, ohne Abstriche bei der Qualität machen zu müssen.

Stellen Sie die Besten in diesem Bereich ein.

Zu den wichtigsten bewährten Verfahren bei der Softwarebereitstellung gehört, dass Sie sicherstellen, dass Ihre Teams aus den besten, hoch qualifizierten Fachleuten besteht. Agile Lebenszyklen der Softwarebereitstellung erlauben es dem Team, leistungsstärker und flexibler zu sein, aber sie verlangen auch, dass sie mehr Vertrauen übernehmen. Daher benötigen Sie Teammitglieder, von denen Sie wissen, dass sie schnell und effektiv handeln, eindeutig kommunizieren, problemlos zusammenarbeiten und Probleme selbst erkennen und lösen. Unabhängig davon, ob es sich um interne oder ausgelagerte Teams handelt, sorgen Sie dafür, dass Sie nur die Besten einstellen.

Stellen Sie die richtigen Tools und das geeignete Equipment für die Softwarebereitstellung zur Verfügung.

Ohne diese kann selbst das talentierteste Team nichts ausrichten. Ein weiteres bewährtes Verfahren der Softwarebereitstellung ist es, zu gewährleisten, dass Ihr Team alles hat, was es benötigt – von Hard- und Software bis hin zu Testanwendungen.

Setzen Sie eindeutige Ziele und Erwartungen

Ein Vorteil des Wasserfallmodells ist, dass es sehr methodisch hinsichtlich der Ziele und Erwartungen ist – aber in einem SRS mit 200 Wörtern können viele Informationen verlorengehen. Einfacher ist es, wenn das Projekt in kleinere Teile gegliedert wird. In diesem Fall muss aber dafür gesorgt sein, dass alle am Projekt Beteiligten genau wissen, wie die Ziele und Erwartungen lauten. Je einheitlicher das Team vorgeht, desto schneller und effizienter ist der Lebenszyklus der Softwarebereitstellung.

Entscheiden Sie sich für die Softwarebereitstellungsmethoden, die am besten zu Ihrem Projekt passen.

Wasserfallmodell, agile Methode, Srum oder etwas ganz anderes – entscheiden Sie sich für eine Methode, die am besten zu dem Team, das Sie zusammengestellt haben, und dem Projekt, an dem Sie arbeiten, passt.

Testen Sie Ihre Software gründlich

All die harte Arbeit und das Know-how, das Sie in das Produkt investiert haben, sind umsonst, wenn die Software nicht wie gewünscht funktioniert. Investieren Sie in ein gründliches Testsystem, um sich zu vergewissern, dass alles ordnungsgemäß funktioniert. Das sollte parallel zu Programmierung stattfinden, damit Sie das Produkt optimieren können, falls Sie feststellen, dass Anpassungen nötig sind. Eine Kombination aus AI-Tools und menschlichen Testern hat sich als besonders effektiv erwiesen, wenn es darum geht, Probleme frühzeitig zu erkennen.

Feiern Sie das Erreichen von Meilensteinen

Agile Softwarebereitstellung geschieht in sehr kleinen Schritten. Halten Sie die Motivation Ihres Teams aufrecht, indem Sie jeden Meilenstein feiern, den Sie erreichen – sei er noch so klein.

Bleiben Sie flexibel und planen Sie Änderungen ein.

Änderungen sind unvermeidbar. Das gilt für das Leben im Allgemeinen und insbesondere für die Softwareentwicklung. Sie müssen auf die tatsächlichen Gegebenheiten reagieren und die ändern sich stetig. Sehen Sie das Unerwartete voraus und lassen Sie sich nicht entmutigen, wenn die Dinge manchmal etwas aus dem Ruder laufen.
 

Denken Sie an die Verwaltung der Softwarebereitstellung.

Sorgen Sie dafür, dass Sie Unterstützung erhalten, um alle Komponenten so zusammenzufügen, dass sie einen Sinn ergeben. Dabei kann es sich um einen menschlichen Software Delivery Manager oder eine Software zur Verwaltung der Softwarebereitstellung handeln.

Methoden der Lizenzverwaltung und Softwarebereitstellung

Großartig, Ihre Software ist fertiggestellt, in Betrieb und bereit für die Kunden. Aber wie sorgen Sie dafür, dass sie die Kunden auch tatsächlich erreicht?

Bei aller Eile, eine fantastische, funktionierende Software zu entwickeln, haben Sie vielleicht vergessen, dass Sie sich auch überlegen müssen, wie diese Ihre Kunden erreicht. Gleichzeitig müssen Sie sie vor Diebstahl und Piraterie schützen. Ihre ganze harte Arbeit wäre umsonst, wenn Sie Ihre Software bereitstellen würden, nur damit sie anschließend illegal kopiert oder an nicht zahlende Kunden weitergegeben wird. Darüber hinaus müssen Sie ein Bereitstellungsmodell wählen, dass es Ihren Zielkunden ermöglicht, die Software einfach und günstig zu erwerben.

Hier kommt Lizenzverwaltung ins Spiel. Lizenzverwaltung ist ein entscheidender Teil der letzten Phase des Softwarebereitstellungsprozesses. Sie gewährleistet nicht nur, dass Ihr Produkt die zahlenden Kunden sicher erreicht, sondern bietet auch Erkenntnisse darüber, wie Ihre Kunden die Software verwenden. Außerdem unterstützt sie Sie systematisch bei der Verwaltung von Berechtigungen.

Es gibt eine Vielzahl an Modellen, um Kunden Software bereitzustellen, von On-Premises- und hardwarebasierten bis hin zu SaaS- und Cloud-basierten Lösungen. Erfahren Sie mehr über die unterschiedlichen Softwarebereitstellungsmethoden.

Thales Sentinel unterstützt Sie bei der Verwaltung der Softwarebereitstellung

Thales Sentinel unterstützt Sie bei der Optimierung Ihrer gesamten Softwarebereitstellungs- und Verwaltungsprozesse mit einer vollständig integrierten, berechtigungsbezogenen Electronic-Software-Delivery-Lösung. Mit Sentinel können Sie Ihre Berechtigungen und Software-Downloads vollumfänglich verwalten. So garantieren Sie, dass Ihre Kunden nur das herunterladen, was sie brauchen. Außerdem erhalten Sie Erkenntnisse darüber, wie Ihre Kunden Ihr Produkt verwenden.

Softwarelizenzierung von Anfang an richtig gemacht - White Paper

Softwarelizenzierung von Anfang an richtig gemacht - Whitepaper

Bei geschäftskritischen Operationen gibt es keinen Raum für Fehler. Erfahren Sie, wie Sentinel-Lösungen es einfach machen, die Softwarelizenzierung gleich beim ersten Mal richtig zu machen.

Candela Generates Recurring Revenue With New Subscription-Based Business Models - Case Study

Candela generiert wiederkehrende Umsätze mit neuen abonnementbasierten Geschäftsmodellen

Candela generiert wiederkehrende Umsätze mit neuen abonnementbasierten Geschäftsmodellen Candela ist ein weltweit führendes Unternehmen für medizinischästhetische Geräte mit einer starken globalen Präsenz in 86 Ländern. Die Technologien des Unternehmens ermöglichen es Ärzten,...