Developer Experience

Der Begriff „Developer Experience“ (DevX, DevEx) beschreibt das Umfeld, die Prozesse und die Kultur, in denen Softwareentwicklung stattfindet. Diese Merkmale wirken sich auf die Fähigkeit der Entwickler_innen aus, Konzepte in funktionale Anwendungen umzusetzen. DevX umfasst den emotionalen Aspekt der Interaktionen von Entwicklerinnen und Entwicklern innerhalb einer Organisation, der von Managementprinzipien und organisatorischen Normen sowie allen Aspekten des Technologie-Stacks, einschließlich Tools, Bibliotheken, SDKs, Plattformen, APIs, Services und Code, beeinflusst wird.

Es wird bewertet, wie das Umfeld zur Produktivität, Zufriedenheit und betrieblichen Effektivität von Entwickler_innen beiträgt. DevEx stellt Entwickler_innen in den Vordergrund und priorisiert ihre Meinungen und Gedanken über ihre Arbeit.

Warum ist DevEx wichtig?

Die Landschaft der verfügbaren Technologien, Bibliotheken, Sprachen und Dienste wird unüberschaubarer. Jeden Tag kommen neue Technologien und Tools auf den Markt. Diese Vielfalt ist zwar gut, hat aber ein Problem: Sie führt aber dazu, dass Entwickler_innen ständig im Lernmodus sind und verstehen müssen, wie all diese Tools funktionieren und alle Komponenten zusammenspielen. Im Ergebnis heißt das: Der gesamte Entwicklungsprozess wird immer komplexer.

Dieses Szenario steht beispielhaft für eine schlechte Developer Experience und zeigt, warum sie wichtig ist. Kurz gesagt: DevEx ermöglicht es Entwicklern in einer Umgebung zu arbeiten, die sie bei ihrer Arbeit unterstützt und Prozesse so einfach und reibungslos wie möglich für sie gestaltet. DevEx führt zu einer höheren Produktivität und kann die Markteinführungszeit verkürzen, was sich auf das Umsatzwachstum auswirkt.

DevX und Produktivität

Zurzeit gibt es keinen Standard zur Messung von DevX. Aber laut dem DevOps Research & Assessment (DORA) könnten diese KPIs ein guter Start sein:

  • Deployment frequency (DF): wie häufig ein Unternehmen neue Software freigibt
  • Lead time for changes (LT): die Zeit, die von der Anforderung oder Initiierung einer Änderung bis zu ihrer Bereitstellung vergeht
  • Mean time to recovery (MTTR): die durchschnittliche Zeit, die zur Wiederherstellung nach einem Fehler benötigt wird
  • Change failure rate (CFR): der Prozentsatz der Änderungen, die zu einem Fehler führen

Stärker auf DevX zugeschnitten ist der Ansatz von Abi Noda, Dr. Nicole Forsgren, Dr. Margaret-Anne Storey und Dr. Michaela Greiler. Das Framework beschreibt drei Kerndimensionen für DevX: Feedback-Schleifen, kognitive Belastung und Flow State. Auf der Grundlage dieser drei Dimensionen wird ein KPI-Framework eingeführt.

DevX Metrics (Source: DevEx: What Actually Drives Productivity)

Welche Möglichkeiten gibt es, um die Developer Experience zu verbessern?

Hier sind ein paar Vorschläge:

  • Setzen Sie ein vierteljährliches Treffen mit Ihren Entwicklerinnen und Entwicklern an und sprechen Sie über deren Probleme. Erstellen Sie einen Aktionsplan, wie diese Probleme angegangen werden können.
  • Erstellen Sie eine Umfrage und fragen Sie nach den Pain Points im aktuellen Entwicklungs-Workflow (anonymisiert). Erstellen Sie einen Aktionsplan, wie Sie diese Probleme angehen können.
    Automatisieren Sie lästige manuelle Aufgaben.
  • Sorgen Sie dafür, dass die Entwickler genügend Zeit für ihre Programmieraufgaben haben.
  • Beheben Sie Probleme, die mit der lokalen Entwicklungsumgebung zu tun haben – In einer Umfrage unter Gitlab-Benutzern gaben 61 % der befragten Entwickler an, mindestens einmal im Monat Zeit mit der Fehlerbehebung in ihrer lokalen Entwicklungsumgebung zu verbringen – 31 % sogar mindestens einmal pro Woche.