Was ist Developer Experience?

Die Developer Experience (DX) beschreibt die Erfahrung eines Entwicklers im Prozess der Applikationsentwicklung.

Definition von DX

Die Developer Experience (DX) bezeichnet die Erlebnisse von Entwicklern in einer Umgebung, in der Softwareentwicklung stattfindet, sowie den Grad der Komplexität, der es ermöglicht oder verhindert, Ideen zu benutzerfreundlichen und nützlichen Applikationen zu machen.

Der Begriff umfasst die Gefühle und Wahrnehmungen eines Entwicklers bei der Arbeit in einer bestimmten Organisation. Da sie auf der Sichtweise des jeweiligen Entwicklers beruht, ist die Developer Experience in hohem Maße subjektiv. Eine wichtige Rolle spielen die von Teamleitern, Abteilungsleitern und Organisationen angewandten Prinzipien, aber auch die Nutzung und die Eindrücke des gesamten Technologie- oder Produkt-Stacks, wie Tools, Bibliotheken, SDKs, Plattformen, APIs, Dienste und Code.

Warum ist die Developer Experience wichtig?

Vereinfacht gesagt, ist eine gute Developer Experience deshalb wichtig, weil sie Entwicklern dabei hilft, schneller bessere Software zu erstellen und zu veröffentlichen..

Erleben Sie die Leistungsfähigkeit von Low-Code.
Kostenlos starten

Entwickler wollen bestmögliche Arbeit leisten. Unternehmen wollen sie dabei unterstützen. Und Anbieter von Software-Produkten wollen, dass Entwickler ihre Tools akzeptieren und nutzen. An diesem Schnittpunkt setzt eine gute Developer Experience an. Dabei geht es darum, die Produktivität eines jeden Entwicklers zu steigern und den Impact seiner Arbeit zu vervielfachen.

Ein positives Entwicklererlebnis ermöglicht es Entwicklern, sich auf das Wesentliche zu konzentrieren – das heißt auf die Wertschöpfung für das Unternehmen sowie positive Effekte für Benutzer und das Unternehmen, statt auf zugrundeliegende Technologien. Technologien sind wichtig, keine Frage. Aber sie sollte immer ein Mittel sein, um ein bestimmtes Ziel zu erreichen – nämlich ein ansprechendes digitales Erlebnis.

Eine schlechte Developer Experience hingegen erhöht die Schwierigkeit, anstehende Aufgaben zu bewältigen, und kann eine geringe Arbeitszufriedenheit bewirken. In dem Maße, in dem es für Entwickler schwieriger wird, Software zu entwerfen, zu testen und freizugeben, schwindet auch ihr Vertrauen in die Organisation. Und mit abnehmender Leistung sinkt die Arbeitszufriedenheit.

Zudem zwingt eine negative Developer Experience Entwickler dazu, Zeit mit der Lösung technischer Probleme zu verschwenden, die eigentlich in die Wertschöpfung für das Unternehmen investiert werden sollte.

Developer Experience und Produktivität

Obwohl Developer Experience und Produktivität eng miteinander verbunden sind, handelt es sich um zwei unterschiedliche Konzepte.

Bei der Produktivität von Entwicklern geht es darum, qualitativ hochwertige Software in hohem Tempo zu liefern.

Die Developer Experience ist dagegen ein Mittel zur Steigerung der Produktivität. Engineering-Teams mit einer guten Developer Experience sind produktiver und effizienter.

Was bedeutet es, produktiv zu sein? Das Programm DevOps Research & Assessment (DORA) misst die Leistung eines Entwicklerteams anhand von vier Schlüsselkennzahlen:

  • Deployment Frequency (DF)
  • Lead Time to Changes (LTTC)
  • Mean Time to Recovery (MTTR)
  • Change Failure Rate (CFR)

Ein positives Entwicklererlebnis sollte Entwicklerteams dabei unterstützen, diese Kennzahlen zu verbessern.

Wie ein gutes Entwicklererlebnis aussieht

Ein Produkt, das ein positives Entwicklererlebnis bietet, sollte folgende Punkte erfüllen:

  • Sanfte Lernkurve: Für einen Entwickler sollte das Produkt einfach und schnell erlernbar sein, um in kurzer Zeit einen Mehrwert zu liefern. Dies ist gut für das Unternehmen und motivierend für Entwickler, da sie sehen, dass sie mit geringem Zeitaufwand etwas bewirken können. Vor allem Junior-Entwickler sind so schnell in ein Team integriert und können zügig mit der Arbeit beginnen.
  • Reibungslose Erlebnisse: Die Technologie sollte so gestaltet sein, dass sie intuitiv bedienbar ist.
  • Produktivität: Technologie sollte Entwicklern dabei helfen, sich auf das Wesentliche zu konzentrieren, nämlich die Schaffung von Differenzierung und Einzigartigkeit – und keine Zeit mit weniger wertvollen oder langweiligen Aufgaben zu verschwenden. Dabei sind drei Dinge entscheidend: Automatisierung lästiger Entwicklungsaufgaben, wie z. B. Abhängigkeitsmanagement oder repetitive Aufgaben; Null Latenz, damit sowohl Entwickler als auch Endnutzer die Auswirkungen von Software-Änderungen sofort sehen können; und Wiederverwendbarkeit, d. h. die Verwendung vorgefertigter Komponenten, um künftige Produkte/Projekte zu beschleunigen, anstatt bei Null zu beginnen.
  • Qualität als Standard: Eine gute Developer Experience sollte sicherstellen, dass Entwickler hochwertige digitale Lösungen liefern, die für die Zukunft ausgelegt sind. Da sich geschäftliche Anforderungen immer wieder ändern, sollte eine gute Developer Experience Entwicklern zudem die Möglichkeit geben, ihre Applikationen einfach und schnell weiterzuentwickeln und zu ändern, wenn der Markt dies erfordert.
  • Kollaboration: Nicht zuletzt ist Entwicklung heute immer eine kollaborative Teamleistung. Neben einer regelmäßigen und klaren Kommunikation innerhalb der Entwicklerteams des Unternehmens, um Abhängigkeiten zu verwalten und Code zusammenzuführen, fördert eine gute Developer Experience auch die Zusammenarbeit zwischen Entwicklerteams und anderen Stakeholder, von Quality Insuarance Engineers über Business-Stakeholdern bis zu Endanwendern. Die Technologie sollte Entwicklern ermöglichen, ein schnelles Feedback des Unternehmens zu erhalten, um sicherzustellen, dass das Endprodukt den geschäftlichen Anforderungen entspricht, und ein zeitraubendes Hin und Her zu vermeiden. So können neue Produkte deutlich schneller auf den Markt gebracht werden.

OutSystems: Entwickelt mit Fokus auf der Developer Experience

Da sich der Entwicklungsprozess immer komplexer gestaltet, ist die High-Performance Low-Code-Plattform von OutSystems durchweg auf eine effiziente Entwicklung ausgerichtet und beseitigt die Komplexität, die Entwickler bei der Erstellung einer App oder eines Systems normalerweise erwartet.

Jede einzelne Entscheidung, die wir für die Funktionen unseres Produkts treffen, folgt einem allgemeinen Grundsatz, um die Produktivität und Erfahrung von Entwicklern zu verbessern:

Wenn wir etwas [automatisieren, abstrahieren, beschleunigen] können, dann tun wir das. Unser wichtigstes Ziel ist es, die Produktivität von Entwicklern um das 100-fache zu steigern und Unternehmen bei Innovationen zu unterstützen.

Wenn Sie mehr über unsere Plattform erfahren möchten, besuchen Sie gerne unsere Plattformseite oder schauen Sie sich unser Webinar Remove Wasted Development Time with a Modern Cloud Dev Platform an.