Wissen Sie, was DPE ist?

Wissen Sie, was DPE ist?
Gerónimo
Gerónimo
Fractional CTO
3 min read

DPE steht f\u00fcr Developer Productivity Engineering und ist der Name einer neuen Disziplin, die darauf abzielt, die Produktivit\u00e4t von Entwicklern durch Automatisierung, Observability und Werkzeugverbesserung zu steigern.

Die Arbeit eines Entwicklers beim Programmieren besteht aus drei Phasen: Code -> Build -> Test. Der Entwickler wiederholt diese Sequenz Dutzende oder sogar Hunderte Male am Tag. Und in vielen F\u00e4llen k\u00f6nnen die Build- und Testphasen im Minutenbereich liegen. Zum Beispiel: Wenn der Build einer Anwendung 5 Minuten dauert und der Entwickler 10 Builds pro Tag durchf\u00fchrt, sind das 50 Minuten Wartezeit pro Tag f\u00fcr den Entwickler. Ebenso kann die Testphase die Wartezeit des Entwicklers erh\u00f6hen. Multiplizieren Sie das mit der Anzahl der Entwickler in einem Unternehmen, und die Kosten sind erheblich.

Dies ist ein bekanntes Problem in vielen gro\u00dfen Unternehmen, die seit Jahren ganze Teams und Abteilungen haben, die sich damit besch\u00e4ftigen. Ich erinnere mich, als ich vor mehr als zehn Jahren bei Amadeus arbeitete, gab es ein Dev-Support-Team, das f\u00fcr die Entwicklung und Optimierung der Werkzeuge zust\u00e4ndig war, die wir Entwickler f\u00fcr Builds und andere Entwicklungsaufgaben nutzten. Und seit einigen Jahren spricht die Branche \u00fcber die Developer Experience (oder DevEx), die den Fokus darauf legt, wie die Erfahrung der Softwareentwicklung verbessert werden kann und damit das Unternehmensergebnis.

In kleineren oder technologisch weniger reifen Unternehmen h\u00e4ngt es jedoch weitgehend von der Zeit ab, die jeder einzelne Programmierer investiert, wie optimiert die Entwicklungsumgebung und -erfahrung ist. Pers\u00f6nlich habe ich enorme Unterschiede in den Werkzeugen und der Entwicklungsumgebung zweier Programmierer im selben Team gesehen, die zu Stunden an Produktivit\u00e4tsunterschied pro Woche f\u00fchrten. Das w\u00e4re das \u00c4quivalent dazu, einigen Programmierern einen viel langsameren PC zu geben, zum Beispiel.

DPE schl\u00e4gt eine Reihe von Techniken und Praktiken vor, die angewendet werden k\u00f6nnen, um die Produktivit\u00e4t des gesamten Teams zu verbessern.

  • Build Caches (lokal und remote): Vergangene Builds nutzen, um neue Builds zu beschleunigen.

  • Distributed Test Execution: Erm\u00f6glicht die parallele und verteilte Ausf\u00fchrung von Tests auf einer dedizierten Infrastruktur, wodurch die Zeit erheblich reduziert wird.

  • Predictive Test Selection: Anstatt alle Tests auszuf\u00fchren, werden nur die relevanten Tests basierend auf dem ge\u00e4nderten Code ausgef\u00fchrt.

  • Monitoring: Erm\u00f6glicht die Extraktion von Produktivit\u00e4tsmetriken, die Erkennung von Problemen, die Anwendung globaler Optimierungen und die Messung von Verbesserungen.

Diese Techniken werden nicht nur in der lokalen Umgebung angewendet, sondern auch zur Verbesserung der CI/CD- und Testinfrastruktur. Sie erm\u00f6glichen Gewinne und Zeiteinsparungen \u00fcber den gesamten Softwareentwicklungszyklus hinweg.

Ich denke, dass die Benennung dieser Disziplin der erste Schritt ist, um ihr Sichtbarkeit zu verleihen, dar\u00fcber zu sprechen und sie zu demokratisieren. So wie DevOps zu einem Eckpfeiler jedes Softwareunternehmens geworden ist, kann DPE der n\u00e4chste Schritt zu einer produktiveren Entwicklungsumgebung sein, die die Time-to-Market verk\u00fcrzt, die Softwarequalit\u00e4t erh\u00f6ht, die Zufriedenheit der Entwickler (und deren Bindung) steigert und letztlich zu zufriedeneren Kunden f\u00fchrt.

Wenden Sie es bereits in Ihrem Unternehmen an? Wenn Sie mehr erfahren und sehen m\u00f6chten, wie Sie davon profitieren k\u00f6nnen, kann ich Ihnen helfen. Sie k\u00f6nnen mich hier kontaktieren.

Blog cto devex dpe Produktivit\u00e4t Programmierung