"Code with me" - Die richtige Person für eine Aufgabe

Wie gehen DevOps Expert:innen bei Angular Upgrades vor? Am besten holen sie sich Hilfe vom Team, aber das Projekt Onboarding steht dem meistens im Weg. Gibt es hier eine Lösung für dieses Dilemma?

Die Herausforderungen

Oft behaupten wir, dass Entwickler:innen das ganze CI/CD und Pipelining Zeug nicht interessiert. Umgekehrt ist es jedoch genauso, dass DevOpsler:innen das Entwicklungszeug nicht sonderlich interessiert, im speziellen die Black Magic, die im Frontend (Angular) passiert. Was kann man aber tun, wenn Änderungen oder Upgrades notwendig im Projekt sind, es aber keine Person im Projekt gibt, die das Skillset hat, um die Arbeiten durchzuführen? 

Bleibt eigentlich nur eine Möglichkeit, man holt sich Hilfe. Für die Kund:innen ist das aber meistens mit Aufwand verbunden. Der User muss angelegt und ein VPN Zugang eingerichtet werden. Vielleicht wird sogar ein Laptop bereitgestellt. Damit nicht genug, es muss auch der Workspace eingerichtet werden. Anschließend sollte der User wieder offgeboardet werden. All das für vielleicht eine Woche Arbeit. Der Overhead ist gewaltig.

Intellij Code With Me

Vor einiger Zeit haben sich zwei unserer Mitarbeiter:innen mit dem Intellij Feature Code With Me beschäftigt. Code With Me ermöglicht den Zugriff auf die IDE eines Hosts. Sobald man Zugriff hat, kann man Intellij “fast” so verwenden, als ob es am eigenen PC ist, mit dem Vorteil, einen eingerichteten Workspace zu haben. Damals standen im Fokus Pair Programming, Code Reviews und gemeinsame Refactorings.

Eine Lösung - mit Vertrauen

Wir haben den Kund:innen nun folgendes vorgeschlagen: Ein Mitarbeitende von uns macht die notwendigen Arbeiten und du liebe/r Kund:in, brauchst niemanden onboarden. Allerdings musst du damit einverstanden sein, dass der Mitarbeitende im Projekt seinen Workspace zur Verfügung stellt und in seinem Namen die Git Commits gemacht werden. Der/die Kund:in hat sich dazu bereit erklärt und wir gingen an die Umsetzung.

Dieses Vorgehen beruht auf Vertrauen. Der/die Kund:in muss Vertrauen haben, dass der ihm/ihr unbekannte Mitarbeiter:in gute Arbeit leistet. Der/die Mitarbeiter:in (Host) muss sich darauf verlassen, dass der/die Mitarbeiter:in (Client) auf seinem/ihrem Laptop nichts anstellt und sauber arbeitet.

Grob lief die Umsetzung wie folgt ab. 

  • Es gab ein kurzes Onboarding des neuen MA, wo auch die Anforderungen besprochen wurden. 
  • Man macht sich gemeinsam Termine aus, damit der neue MA eine Code With Me Session initiieren kann. 
  • Nach getaner Arbeit geht man gemeinsam die Änderungen durch und commited sie. 
  • Läuft die Pipeline durch, ist alles gut. Ansonsten geht die Arbeit weiter.

Fazit

Bis auf ein paar kleine technische Startschwierigkeiten und leichte Einschränkungen bei der Arbeitsweise, hat dieses Vorgehen ganz wunderbar funktioniert. Der Client benötigte dabei Full Access (inkl. Terminal) und musste dabei mit folgenden Einschänkungen umgehen:

  • Keine Einsicht in Git-History (über Intellij)
  • Committen nur über Kommandozeile möglich
  • Diff von Änderungen nur eingeschränkt möglich
  • .editorconfig file wird am Client nicht erkannt und reformat funktioniert nicht immer
  • Rename methods funktioniert nicht

Hast du näheres Interesse?

Erfahre, wie dir die "Code With Me" Funktion helfen kann.

geschrieben von:
Herbert
WordPress Cookie Plugin von Real Cookie Banner