Software Engineering: Versionskontrolle richtig umsetzen

Versionskontrolle richtig umsetzen-windhoff-group.de

Versionskontrolle bei der Softwareentwicklung spielt bei vielen Organisationen eher eine untergeordnete Rolle. Dass das negative Auswirkungen auf das Projekt haben kann, weiß Thomas Schulte, Senior Consultant Software Engineering, aus eigener Erfahrung. Die häufigsten Fehler und wie sich Versionskontrolle richtig umsetzen lässt, erklärt er im Interview.

Thomas, welche Fehler begegnen dir besonders häufig in Verbindung mit Versionskontrolle?

Der größte Fehler innerhalb von Projekten ist die Doppelung von vielen Dingen. Das führt zu einer Menge Überhang und ist vollkommen unnötig. Als Beispiel sei der Umgang mit großen Datei-Archiven genannt. Letztere landen teilweise zweifach in der Versionskontrolle, einmal als Zip-Archiv und einmal entpackt. So entstehen riesige und vor allem unübersichtliche Datenbanken, die als Bremsklotz für Entwicklungsvorhaben wirken.

Als weiteren Fehler sehe ich die unzulängliche Nutzung der Möglichkeiten, welche die Versionskontrolle bietet. Bildlich gesprochen nehme ich immer nur ein paar bestimmte Werkzeuge aus dem Koffer heraus. Alle anderen lasse ich links liegen. Dennoch kann ich mit einem Schraubendreher keinen Nagel in die Wand hauen. Die Versionskontrolle unterstützt gewisse Prozesse, aber diese Unterstützung wird einfach nicht abgerufen. Da ist jeder ein Stück weit gefordert, sich auf das Tool einzulassen: Was kann es und was nicht?

Welche ersten Schritte würdest du empfehlen, wenn jemand die Versionskontrolle richtig umsetzen möchte?

Zunächst geht es einmal darum, die Antworten auf ganz zentrale Fragen geben zu können. Wie möchte ich das, was ich in die Versionskontrolle bringen möchte, eigentlich strukturieren? Im Fall von Software könnte ich einzelne Bereiche festlegen, in denen bestimmte Komponenten und Module zusammen verwaltet werden. Wie möchte ich überhaupt mit einer Versionskontrolle arbeiten, welche Workflows einrichten? Und schließlich stellt sich die Frage, in welcher Form sich diese Arbeitsabläufe in meiner bestehenden Entwicklungsumgebung integrieren lassen. Wer klare Antworten auf diese Fragen geben kann, hat schon eine gute Basis geschaffen.

Alles klar, wir haben die grundlegenden Fragen der Versionskontrolle geklärt. Wie vermittele ich die Einführung gegenüber dem Team?

Wie bei jedem Tool auch, geht es darum, den Entwickler zu unterstützen. Der sollte sich in seiner Arbeit natürlich nicht behindert fühlen. Entsprechend muss ich die Vorzüge als Verantwortlicher verdeutlichen und klar kommunizieren. Das Tool soll bei der Zusammenarbeit mit anderen unterstützen und dabei helfen, die Punkte der Versionskontrolle abzubilden. Entsprechend bin ich in der Pflicht, die Workflows so festzulegen, dass diese für den Entwickler sinnvoll and handhabbar sind.

Wie würdest du auf eine erste Anfrage von einer Organisation reagieren, die eine Versionskontrolle richtig umsetzen möchte?

Ein wichtiger Punkt sind wie oben bereit skizziert die strukturellen Rahmenbedingungen. Da würde ich mir vor Ort ein Bild machen. Was soll abgebildet werden und wie sieht die bestehende Tool-Landschaft aus? Ergänzend gibt es noch in passendes Schulungsangebot für die eingebundenen Entwickler. Das kann eine generelle Schulung zum Thema sein, aber ebenfalls zu einzelnen Produkten wie Azure DevOps Git. Darin werden die notwendigen Workflows vermittelt. Generell gilt, dass ich für das Thema innerhalb der Organisation sensibilisieren muss, wenn die Einführung Erfolg haben soll. 

DevOps&ALM-Beratung@Windhoff Group 

Warum sollten Unternehmen DevOps- oder ALM-Projekte gemeinsam mit der Windhoff Group angehen? Ganz einfach, weil Windhoff vollumfängliche Lösungen mit Kopf anbietet. Und das ist wortwörtlich gemeint. Windhoff verfügt über das gewünschte Know-how UND den passenden Windhoffler dazu. Dabei kommt die Erfahrung aus über 20 Jahren in der Softwareentwicklung bei der Gestaltung und dem Betrieb von Entwicklungsumgebungen zur Geltung. Dementsprechend wissen unsere Experten um die Komplexität von Konzeption, Einführung, Betrieb und Support von DevOps und ALM-Lösungen.

Mehr Informationen und unseren Check-Up „Tool-Chain“ gibt es hier .