© Excellent backgrounds/Shutterstock.com
Java Magazin
Teil 3: Optimierungsmaßnahmen gezielt umsetzen

Änderungen in die Produktion bringen

Im letzten Teil dieser Miniserie haben wir aufgezeigt, welche Vorbereitungen wir treffen können, um Änderungen am produktiv eingespielten Softwarestand erfolgreich durchführen zu können. Nun geht es an die Optimierungsmaßnahmen - denn es geht immer noch ein bisschen besser.

Joachim Arrasz, Sebastian Heib


ArtikelserieTeil 1: Stabile Produktion und Betrieb von Software in der IndustrieTeil 2: Nachhaltige Analyse gesammelter Daten zur ProjektunterstützungTeil 3: Optimierungsmaßnahmen gezielt umsetzen

In den letzten Teilen dieser Serie waren wir als Datensammler und -analysten unterwegs. Diese Daten haben wir über verschiedene Tools verdichtet, analysiert und visualisiert. Wir haben das gemacht, damit wir einen Trend haben, gegen den wir unsere Erweiterungen, Verbesserungen oder auch Fehlerbehebungen prüfen können. Weiterhin erhält man so eine gute Vorhersagemöglichkeit für die Stabilität, die der Grund für den Aufwand ist. In diesem Teil werden wir aufzeigen, mit welchen Methoden man Bugfixes, Changes, weitere Features, aber auch absolut dringende Hotfixes am besten in das System integriert. Für das bessere Verständnis wollen wir das anhand einer kleinen fiktiven Anwendung darstellen. Diese Anwendung verwaltet den Fuhrpark der SYNGO-Autovermietung (Abb. 1). Die Anwendungsfälle sind sehr einfach: Anzeige des kompletten Fuhrparks, Anzeige der Verfügbarkeit eines konkreten Fahrzeugs sowie Buchen eines Fahrzeugs für einen bestimmten Zeitraum.

Abb. 1: Anwendung zur SYNGO-Autovermietung

Gehen wir nun davon aus, dass das Entwicklungsteam die Version 1.0 der Software nach den Vorgaben dieser Serie zur Produktion bereitgestellt hat, wobei Git als Versionsverwaltung verwendet wird und die Versionsnummer zum Release fix getaggt wurde. Dann wäre es nun an der Zeit, sich zu fragen, was für den Kunden die höchste Priorität hat. Das Wichtigste ist, die Stabilität der Software zu gewährleisten. Entscheidende Grundlagen hierfür sind die schon erwähnte Versionsverwaltung mit der sauberen Versionierung der verschiedenen Softwarestände sowie dem Vorhandensein von Tags für fertige Versionen. Unterstützung hierfür bietet z. B. das Maven-Release-Plug-in, um Releases immer nach dem gleichen Schema durchzuführen. In einem weiteren Schritt kann weiter automatisiert werden, indem diese Releases beispielsweise durch die CI-Umgebung getriggert werden. Das Wichtigste ist, die Stabilität der Software zu gewährleisten, in Abhängigkeit der notwendigen Dinge, die eigentlich zu tun sind: Grundlagen wie einheitliche Versionsverwaltung, saubere Versionierung und das Setzen von Tags durch Automatisierung der Deployments, beispielsweise über das Maven-Release-Plug-in.

Ein guter Ansatz zur Versionsverwaltung ist dabei die klassische Unterteilung in Major-, Minor- und Bugfix-Release-Nummern (z. B. 1....

Java Magazin
Teil 3: Optimierungsmaßnahmen gezielt umsetzen

Änderungen in die Produktion bringen

Im letzten Teil dieser Miniserie haben wir aufgezeigt, welche Vorbereitungen wir treffen können, um Änderungen am produktiv eingespielten Softwarestand erfolgreich durchführen zu können. Nun geht es an die Optimierungsmaßnahmen - denn es geht immer noch ein bisschen besser.

Joachim Arrasz, Sebastian Heib


ArtikelserieTeil 1: Stabile Produktion und Betrieb von Software in der IndustrieTeil 2: Nachhaltige Analyse gesammelter Daten zur ProjektunterstützungTeil 3: Optimierungsmaßnahmen gezielt umsetzen

In den letzten Teilen dieser Serie waren wir als Datensammler und -analysten unterwegs. Diese Daten haben wir über verschiedene Tools verdichtet, analysiert und visualisiert. Wir haben das gemacht, damit wir einen Trend haben, gegen den wir unsere Erweiterungen, Verbesserungen oder auch Fehlerbehebungen prüfen können. Weiterhin erhält man so eine gute Vorhersagemöglichkeit für die Stabilität, die der Grund für den Aufwand ist. In diesem Teil werden wir aufzeigen, mit welchen Methoden man Bugfixes, Changes, weitere Features, aber auch absolut dringende Hotfixes am besten in das System integriert. Für das bessere Verständnis wollen wir das anhand einer kleinen fiktiven Anwendung darstellen. Diese Anwendung verwaltet den Fuhrpark der SYNGO-Autovermietung (Abb. 1). Die Anwendungsfälle sind sehr einfach: Anzeige des kompletten Fuhrparks, Anzeige der Verfügbarkeit eines konkreten Fahrzeugs sowie Buchen eines Fahrzeugs für einen bestimmten Zeitraum.

Abb. 1: Anwendung zur SYNGO-Autovermietung

Gehen wir nun davon aus, dass das Entwicklungsteam die Version 1.0 der Software nach den Vorgaben dieser Serie zur Produktion bereitgestellt hat, wobei Git als Versionsverwaltung verwendet wird und die Versionsnummer zum Release fix getaggt wurde. Dann wäre es nun an der Zeit, sich zu fragen, was für den Kunden die höchste Priorität hat. Das Wichtigste ist, die Stabilität der Software zu gewährleisten. Entscheidende Grundlagen hierfür sind die schon erwähnte Versionsverwaltung mit der sauberen Versionierung der verschiedenen Softwarestände sowie dem Vorhandensein von Tags für fertige Versionen. Unterstützung hierfür bietet z. B. das Maven-Release-Plug-in, um Releases immer nach dem gleichen Schema durchzuführen. In einem weiteren Schritt kann weiter automatisiert werden, indem diese Releases beispielsweise durch die CI-Umgebung getriggert werden. Das Wichtigste ist, die Stabilität der Software zu gewährleisten, in Abhängigkeit der notwendigen Dinge, die eigentlich zu tun sind: Grundlagen wie einheitliche Versionsverwaltung, saubere Versionierung und das Setzen von Tags durch Automatisierung der Deployments, beispielsweise über das Maven-Release-Plug-in.

Ein guter Ansatz zur Versionsverwaltung ist dabei die klassische Unterteilung in Major-, Minor- und Bugfix-Release-Nummern (z. B. 1....

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang