SPONSORED-POST Agiler und schneller

Wie DevOps die Entwicklung von Unternehmenssoftware revolutioniert

Uhr
von Philipp Koch, CEO, Nine Internet Solutions

Die traditionelle Softwareentwicklung führt heute bei vielen Projekten in die Sackgasse. Das muss nicht sein: DevOps bietet einen Ausweg. Das Framework ermöglicht Unternehmen, agiler zu werden und Releases schneller an ihre Kunden auszuliefern. Wie das geht, verrät dieser Artikel.

Philipp Koch, CEO, Nine Internet Solutions. (Source: © derek li wan po, basel, switzerland)
Philipp Koch, CEO, Nine Internet Solutions. (Source: © derek li wan po, basel, switzerland)

Die digitale Transformation ist eine grosse Herausforderung für kleine und mittlere Unternehmen auf der ganzen Welt. Unabhängig davon, ob ein Unternehmen Verbraucher oder andere Unternehmen bedient, erwarten die Kunden ansprechende digitale Erlebnisse, die relevant, einprägsam und personalisiert sind. Ist das Ergebnis wenig überzeugend, könnten Kunden zur Konkurrenz wechseln. Das Gleiche gilt, wenn es zu lange dauert, um eine Anwendung, eine Website oder ein anderes digitales Produkt mit einem veralteten Funktionsumfang zu aktualisieren. Im Zeitalter des digitalen Handels haben die Kunden mehr Macht – und sind launischer denn je.

Für Unternehmen könnte die digitale Transformation bedeuten, dass sie ein reichhaltiges Weberlebnis bieten, das Kunden und Interessenten verfolgt und automatisch personalisierte Inhalte und Produkte auf der Grundlage früherer Interaktionen empfiehlt. Es könnte bedeuten, eine mobile App zu entwickeln, die die Kundenbeziehungen vertieft, indem sie das Einkaufserlebnis im Laden bereichert. Wenn Ihr Unternehmen bereits eines dieser Dinge getan hat, herzlichen Glückwunsch! Ihr Unternehmen ist auf dem besten Weg, ein besseres Kundenerlebnis zu schaffen. Es gibt nur ein Problem: Was passiert nach der Veröffentlichung der Version 1.0?

Die Herausforderungen der traditionellen Softwareentwicklung

Nach der Veröffentlichung eines grösseren Softwareprodukts – wie einer modernisierten Website oder einer mobilen Anwendung – kämpfen viele Unternehmen mit der Herausforderung, die Veröffentlichung von zusätzlichen Produkten zu verfolgen und gleichzeitig das bestehende Produkt auf dem neuesten Stand zu halten. Bei den meisten KMUs sieht der Software-Release-Zyklus etwa so aus:

  • Das Produkt freigeben. Dann Feedback und Fehlerberichte von Nutzern sammeln.

  • Die Fehlerberichte validieren. Beginn der Coding-Fixes für ein zukünftiges Release.

  • Benutzer-Feedback studieren. Start mit Prototyping und Än­derungen an der Programmierschnittstelle für eine bessere ­Benutzerfreundlichkeit.

  • Den Wettbewerb und die sich ändernden Marktbedingungen bewerten. Konzeption und Programmierung neuer Funktionen für ein zukünftiges Release.

  • Die neue Version testen, um sicherzustellen, dass die Korrekturen für bestehende Fehler funktionieren und dass andere Softwareänderungen keine neuen Fehler eingeführt haben.

  • Alle neu entdeckten Fehler beheben. Dann die Freigabe erneut testen.

  • Version 2.0 freigeben.

Mit einem traditionellen Softwareentwicklungszyklus ist jede neue Version ein wichtiges Ereignis, das einen hohen manuellen Aufwand für Prototyping, Tests, Fehlerberichte und Versionskontrolle erfordert. Für ein kleines oder mittleres Unternehmen ohne umfangreiche Softwareentwicklungsressourcen ist es fast unmöglich, mehr als ein grosses Projekt mit einem traditionellen Entwicklungszyklus aufrechtzuerhalten – es gibt einfach nicht genug Ressourcen, um es zu umgehen. Entweder gelingt es nicht, ein neues Produkt auf den Markt zu bringen, oder man hält sein bestehendes Produkt nicht ständig auf dem neusten Stand.

Wie DevOps die Entwicklung von Unternehmenssoftware ­revolutioniert

DevOps ist ein Framework für die Softwareentwicklung, das es Unternehmen ermöglicht, agiler zu werden und neue Releases schneller an Kunden zu verteilen. DevOps – eine Kombination der Begriffe "Entwicklung" und "Betrieb" – umfasst die kontinuierliche Entwicklung, Erprobung und Lieferung. Ein DevOps-Projekt hat einen viel kürzeren Releasezyklus, der die agile Bereitstellung neuer Funktionen und die Beseitigung von Fehlern ermöglicht. Am wichtigsten ist, dass DevOps die Automatisierung nutzt, wo immer es möglich ist, um den manuellen Aufwand zu reduzieren. Durch den Einsatz von DevOps und automatisierten Tools können Unternehmen ihre Kunden besser bedienen und ihnen gleichzeitig die Ressourcen zur Verfügung stellen, die sie benötigen, um mehrere Projekte gleichzeitig anzugehen.

Wie DevOps funktioniert

Mit DevOps arbeiten Softwareentwickler, Tester und Administratoren effektiver, da sie sich als Mitglieder desselben Teams betrachten. Durch die Auflösung von Grenzen werden Softwareerstellung, -tests, -bereitstellung und -administration zu durchgängigen Prozessen, die nie wirklich enden. Entwickler arbeiten in kurzen Bursts, bauen schnell neue Funktionen auf oder beheben bei Bedarf Fehler. Sie senden die vorgeschlagenen Änderungen an ein Versionskontrollsystem zum Testen und Genehmigen.

  • Tester testen die vorgeschlagenen Revisionen, um zu bestätigen, dass sie wie erwartet funktionieren. Sie geben den Entwicklern kontinuierlich Feedback, um zukünftige Softwareversionen zu verbessern. Wenn neue Builds fertig sind, ­geben die Tester sie für die automatische geplante Integration in die Produktionsumgebung frei.

  • Administratoren schliessen die Feedbackschleife, indem sie Entwicklern und Testern Informationen darüber liefern, wie sich die Anwendung unter realen Bedingungen verhält.

Essenzielle DevOps-Werkzeuge

Die Einführung von DevOps kann Unternehmen helfen, einen viel kürzeren Zeitplan für die Softwarefreigabe zu erreichen. DevOps ist nicht nur eine Denkweise, sondern eine Unternehmenskultur. Dabei gibt es Tools, die diesen Denkansatz unterstützen und die die Leistungsfähigkeit der Cloud nutzen, um Unternehmen zu helfen, mit weniger manuellem Aufwand mehr zu erreichen. Dies sind einige der Werkzeuge, die DevOps möglich machen.

Ein Versionskontrollsystem verfolgt Änderungen am Software­code und speichert alle Softwarerevisionen in einem zentralen Repository. Ein Versionskontrollsystem bietet einen zentralen Punkt, an dem Entwickler Softwarerevisionen speichern und Tester diese Revisionen untersuchen können. Ein Versionskon­trollsystem kann freigegebene Revisionen automatisch in Ihre Produktionsumgebung integrieren. Ein Versionskontrollsystem ermöglicht auch das Zurücksetzen von Revisionen, die zu un­erwarteten Ergebnissen führen.

Ein Testautomatisierungstool überprüft die Qualität von Softwarerevisionen, indem es vorbestimmte Aktionen durchführt und die Ergebnisse dieser Aktionen überprüft. Wenn eine Ak­tion das erwartete Ergebnis liefert, ist der Test erfolgreich. Wenn ein Test fehlschlägt, übergibt das Testautomatisierungssystem das Problem an menschliche Tester zur weiteren Auswertung.

Microservices sind die Basis einer Softwarearchitektur, die Unternehmen zunehmend als Alternative zur traditionellen monolithischen Architektur nutzen. Die Umwandlung einer traditionellen Anwendung in eine auf Microservices basierende Anwendung bedeutet, dass die Anwendung in ihre Bestandteile zerlegt wird. Jede der Grundfunktionen der Anwendung wird zu einem cloudbasierten Service, auf den die Anwendung über eine API zugreift. Das Hinzufügen einer neuen Funktion zur Anwendung – oder das Ändern einer bestehenden Funktion – erfordert nur die Erstellung oder Änderung eines Microservice und stört nicht die anderen Funktionen der Anwendung.

Zum Schluss: Die Vorteile der Akzeptanz von DevOps

Wenn Unternehmen Schwierigkeiten haben, die Erwartungen der Kunden im digitalen Bereich zu erfüllen, kann die Unterstützung von DevOps die nötige Flexibilität bieten. Mit einem kürzeren Software-Release-Zyklus kann man Funktionen schneller als je zuvor einführen. Er beseitigt Fehler, bevor viele Kunden sie überhaupt bemerken.

Der grösste Vorteil von DevOps ist jedoch die Tatsache, dass es die Automatisierung nutzt, um Mitarbeitern zu helfen, ihre Zeit effektiver zu nutzen. Sie müssen dort sein, wo die Kunden sind, bereit, diese Menschen sofort zu erreichen, wenn sie bereit sind, sich mit Ihrer Marke zu beschäftigen. DevOps kann den Weg in die Zukunft weisen, indem es Unternehmen ermöglicht, ihre digitalen Transformationsprojekte vorwärts zu treiben, ohne zusätzliche Ressourcen in Anspruch zu nehmen und die Rentabilität zu beeinträchtigen.

Profitieren Sie von unserem DevOps Know-how.

Webcode
DPF8_87202