Was passiert, wenn zwei Entwickler gleichzeitig die gleiche Datei ändern?

10.02.2020

Referent Oliver Geisen erklärt die Zusammenarbeit von verschiedenen Softwareentwicklern an einer Software. 

Oliver Geisen, Senior Software Engineer bei TomTec, gab einen Einblick in den Arbeitsalltag eines Softwareentwicklers.

Im Rahmen der Lehrveranstaltung „Methoden des Software Engineering“ fand am 07.02.20 ein Praxisvortrag zum Thema "Professionelle Softwareentwicklung. Entwicklungsumgebung, Tools, Methoden, Workflows" statt. Der Referent, Oliver Geisen, ehemaliger Absolvent des Fachbereichs Angewandte Informatik, ist Senior Software Engineer bei Philips / TomTec. Geisen zeigte den Studierenden die Arbeitsumgebung und Arbeitsweise eines Softwareentwicklers in seinem Unternehmen.
TomTec, mit Büros in München und Fulda, ist weltweit Marktführer in der medizinischen Informatik. 2017 wurde TomTec vom Unternehmensriese Philips übernommen.

Nach einer Kurzvorstellung der Firma und eines Softwareproduktes für die Ultraschall-Diagnostik in der Kardiologie, ging Oliver Geisen auf die Tools und die Prozesse des täglichen Arbeitsablaufs ein. 

"Morgens hole ich mir einen Kaffee und gleichzeitig lasse ich mir von Perforce den aktuellen Stand der Software geben.“, so startet Oliver Geisen gewöhnlich in seinen Arbeitsalltag. 

Die Teilnehmer konnten sich von dem praktischen Einsatz der agilen Vorgehensweise ein Bild verschaffen. Die Entwickler des Teams arbeiten an jeder Aufgabe eng zusammen, sitzen aber an unterschiedlichen Standorten. Das bedeutet eine große Herausforderung für die agile Arbeitsweise, und eine lange Liste mit Collaboration-Tools, die die Zusammenarbeit ermöglichen. Die verwendeten Entwicklungstools greifen perfekt ineinander und übernehmen von dem Entwickler die lästige Organisationsarbeit.
Das Tool für agiles Projektmanagement verwaltet alle Arbeitsschritte eines Auftrags, auch Epic oder Story genannt. Alle Dateien, die zu dieser Epic gehören werden beim Erzeugen, Ändern und Einchecken mit der ID der Epic gekennzeichnet. So kann die Entwicklungs-IDE mit der Versionsverwaltung zusammenspielen und gleichzeitig den erledigten Arbeitsschritt dem Projektmanagement melden.

Weitere Tools dienen der Testautomatisierung und dem Continuous Build. Nichts darf dem Code-Pool hinzufügt werden, was nicht kompiliert oder zu sofortigen Fehlern führen würde. Die über 14 Stunden lange Nigtly Builds führen auf der aktuellen Softwareversion jede Nacht hunderte Tests durch, damit eventuelle Nebenwirkungen möglichst früh entdeckt werden.
Und in der Release Phase werden die Regel noch strenger: jetzt sind Reviews obligatorisch. „Ein Kollege bekommt meine Dateien zugeschickt und prüft, ob der Code sinnvoll ist. Ich erhalte seine Kommentare und muss daraufhin meinen Code ändern. Sonst können die Dateien nicht eingecheckt werden. In der kritischen Phase gilt also das 4-Augen-Prinzip.“
Für studentische Fragen stand Oliver Geisen gerne zur Verfügung und konnte die Antwort auch gleich in der Praxis zeigen.

Q: "Was passiert, wenn zwei Entwickler gleichzeitig die gleiche Datei ändern?"

A: "Ganz simpel, der erste, der eincheckt, gewinnt. Der zweite muss dann beim einchecken mergen und die Konflikte auflösen. Manches kann das Tool automatisch lösen. Wenn zum Beispiel zwei unterschiedliche Methoden geändert worden sind. Wenn aber beide an der gleichen Codezeile etwas geändert haben, wird es schwierig. Bei solchen nicht automatisch lösbaren Konflikten stellt das Tool die zwei unterschiedlichen Varianten nebeneinander und der Entwickler kann Zeilenweise die gewünschte Variante wählen."

Wir haben ein sehr interessantes Praktikum absolviert, ohne dabei die Hochschule verlassen zu müssen.

Dr. Judith  Verestóy

Kontakt

Dr.

Judit Verestóy

Lehrkraft für besondere Aufgaben

Kontakt

Dr.

Judit Verestóy

Lehrkraft für besondere Aufgaben

+49 661 9640-3201
+49 661 9640-3009
Gebäude 51, Raum 112
Sprechzeiten
Mi., 11:00 Uhr Siehe Kurs Sprechzeiten in moodle
zurück