, ,

Developer Experience (DX) auf der Microsoft Power Platform

Microsoft Power Platform Titelbild

Low-Code, No-Code, Demokratisierung. Buzzwords, die häufig im Bereich neuer Cloud-Entwicklungen auftreten. Schließlich bieten Cloud-Produkte in aller Regel, zumindest technologisch, die Möglichkeit für eine Zusammenarbeit an Projekten – gerade im Vergleich zur klassischen Softwareentwicklung in Eclipse, Visual Studio und weiteren IDEs. In diesem Artikel möchte ich dies mit dem Modell der Developer Experience (DX) anhand der Microsoft Power Platform als führende Low-Code Development Platform (LCDP) untermauern.

Bei der Entwicklung von Software und der Digitalisierung von Unternehmensprozessen wird der Blick häufig einseitig auf die fertiggestellte Lösung gerichtet – entweder passt sie, oder sie passt nicht. Ganz im klassischen Sinne: Die IT-Abteilung und Entwickler:innen werden als Kostenstelle gesehen, Anforderungen werden (manchmal nicht verständlich) von Fachabteilungen abgegeben und die Entwickler:innen entwickeln die Software mit Pro-Code, d.h. für die Fachabteilung nicht verständlich. Hierzu später noch mehr. Die einseitige Betrachtungsweise fokussiert sich häufig (nebst der korrekten Funktion der Prozesse) auf die User Experience (UX), deren Ziel es ist, den Nutzenden die Anwendung, das Produkt oder ggf. die Dienstleistung so intuitiv wie möglich zu vermitteln und die aktive Nutzung im Sinne einer erfolgreichen Adoption zu fördern.

Und auch wenn Entwickler:innen auch Nutzende von Anwendungen sind, interagieren diese in Bezug auf Entwicklungsaufgaben differenzierter. Denn bei der Entwicklung haben es Entwickler:innen mit technischen Artefakten zu tun, die für die Mehrheit der Nutzenden nicht sichtbar ist. Doch genau diese Seite wird in unser heutigen Welt häufig zu wenig / selten betrachtet. Der Glauben, ein vollumfängliches Produkt sei ein Ziel, darf – insbesondere im Kontext einer Low-Code Entwicklung – nicht länger alleinstehend existieren! Vielmehr sollte es Ziel eines jeden Unternehmens und einer jeden Unternehmung sein, Mitarbeitende und somit möglichst viele Stakeholder in einen Entwicklungsprozess einzubeziehen. So entsteht nicht nur ein oftmals besseres Produkt, sondern auch viel Harmonie, Wissenstransfer und gegenseitiger Respekt. Worauf dabei zu achten ist, erklärt uns das Konzept der Developer Experience (DX).

While UX considers the context of use of a system, DX considers the context of software development, including aspects beyond software tools, such as development processes, modeling methods, and other means of structuring software engineering tasks.

Kuusinen, et al.

User Experience (UX) konzentriert sich in erster Linie auf den Nutzen der Anwendung (nutzerzentrisches Design) während dich Developer Experience (DX) auf die Erstellung einer Anwendung konzentriert (produkt- und prozesszentriertes Design).

Developer Experience (DX) als Voraussetzung für erfolgreiche Projekte

Developer Experience (DX) stellt heutzutage einen signifikanten Faktor für den Erfolg in IT-Projekten dar. Eine unausgereifte Developer Experience (DX) kann sich negativ auf die Projektleistung auswirken. Studien zeigen, dass in diesem Fall Produktivität, Motivation und Leistung der an der Entwicklung beteiligten Personen sinken. Mögliche Folgen sind „Abkürzungen“ in Entwicklungsprozessen, die Missachtung von langfristigen Zielene, unpassende Fehlertoleranzen und Missachtung von Sicherheitskriterien.

Wie kannst du also Developer Experience (DX) messbar machen und erhöhen? Ein Modell zeigt drei wesentliche Kategorien auf:

Wohlbefinden (Affect)

In dieser Kategorie geht es um das Wohlbefinden von Entwickler:innen, ihren Gefühlen von Zugehörigkeit, Respekt, sozialen Beziehungen (innerhalb eines Projekts) und der Arbeit selbst.

Einheitliche Sichtweisen und die Einbindung aller Beteiligten (z.B. Entwickler:innen und Endnutzer) in einen Entwicklungsprozess stärken das Gemeinschaftsgefühl. Die Mitarbeitenden aus Fachabteilungen sind ein integraler Bestandteil der technischen Konzeption von Anwendungen. Dies hat einen positiven Einfluss auf den gegenseitigen Respekt der verschiedenen Interessengruppen.

Wertschätzung (Conation)

In der zweiten Kategorie wird untersucht, wie Entwickler:innen die Wertschätzung ihrer Arbeit erleben. Dazu gehören Faktoren wie Motivation, Ziele, Ausrichtung und Engagement.

Innovative Möglichkeiten der Zusammenarbeit auf Cloud-basierten Low-Code Development Platforms (LCDP) bieten das Potenzial, Wertgefühle der Entwickler:innen zu steigern: Sie treten in direkten Kontakt mit den Endnutzern (z.B. Fachabteilung) und erhalten direktes Feedback – ein besonders agiles Vorgehen, das im Rahmen klassischer Entwicklungsparadigmen nicht möglich ist. Die Möglichkeiten des Prototyping und des unmittelbaren Vorstellens und Testens tragen zu einer höheren Produktivität bei.

Wahrnehmung (Cognition)

Die dritte Kategorie umfasst die Wahrnehmungen der Entwickler:innen hinsichtlich der ihnen zur Verfügung gestellten Infrastruktur und Entwicklungsparadigmen. Entwicklungsparadigmen. Dazu gehören Themen wie Plattform, Technologie, Prozess und Kompetenz.

Die Auswahl einer spezifischen Low-Code Development Platform (LCDP) – klassicherweise also der IDE – hat einen direkten Einfluss auf Developer Experience (DX), da sich Low-Code-Entwicklungsumgebungen in ihren meist proprietären Technologien unterscheiden. Aufgrund der geringen Standardisierung (außerhalb einer Platform) ist eine Vergleichbarkeit nicht trivial. Hinzu kommen plattformspezifische Infrastrukturen und Entwicklungsparadigmen, wie z.B. Power FX bei Power Apps. Die Bewertung der Wahrnehmung des Arbeitskontextes ist daher am besten direkt im Kontext einer spezifischen Entwicklungsumgebung als auch globalen unternehmensspezifischen Prozessmodellen vorzunehmen.

Das ursprüngliche Modell zur Messung von Developer Experience (DX) stammt aus dieser Publikation:

Power Apps Developer Experience
Developer Experience: Conceptual Framework by Fagerholm, et al. (Link)

Maßnahmen zur Erhöhung der Developer Experience (DX)

In ihrer Veröffentlichung nennen Kuusinen und Beecham vier relevante Aspekte, um die Developer Experience (DX) zu erhöhen:

MotivationsfaktorAnforderung
EffizienzEffiziente und einfach nutzbare Entwicklungsumgebung (IDE)
FlexibilitätBedürfnisse der Entwickler:innen müssen erfüllt werden, z.B. durch Anpassbarkeit, Skalierbarkeit und Erweiterbarkeit entsprechend der Entwicklung und dem Application Development and Delivery (AD&D) Prozess
InformationsgehaltUnterstützung durch relevante Informationen, z.B. kontextbasiert beim Schreiben von Quellcode oder Verknüpfung und Dokumentation mit Ticket-Systemen wir Azure DevOps oder JIRA
Intuitive Integrated Development Environment (IDE)Die Entwicklungsumgebung (IDE) muss intuitiv gestaltet sein und intelligente (bestenfalls mit KI ausgestattete) Vorschläge und Funktionen bieten, einen lösungsorientierten Entwicklungsprozess zu unterstützen
Motivationsfaktoren zur Erhöhung der Developer Experience (DX)

Die Frage, ob motivationsfördernde Maßnahmen mit Low-Code Development Platforms (LCDP) kompatibel sind, lässt sich nicht pauschal beantworten: Jede LCDP verfolgt eigene technologische Ansätze, die als Platform as a Service (PaaS) bereitgestellt werden. Es gibt zwar Konfigurationsmöglichkeiten und Erweiterungen innerhalb des LCDPs. Diese sind jedoch durch den hohen Standardisierungsgrad innerhalb einer Plattform begrenzt. Setzt ein Unternehmen eine LCDP ein, ist es daher auf die bestehenden LCDP-Konfigurationsmöglichkeiten und deren Weiterentwicklungen angewiesen (Vendor Lock).

Tiefere Einblicke in die Steigerung der Motivation bietet eine Veröffentlichung von Henriques, et al. mit dem Titel Improving the Developer Experience with a Low-Code Process Modelling Language.

Zusammenfassend beurteile ich die Developer Experience (DX) als eine große Chance: Unternehmen bringen unterschiedliche Personen durch gleiche Sichtweisen zusammen, der gegenseitige Respekt steigt und die Kommunikation und Transparenz steigt unternehemsweit. Mitarbeitenden wird ein Raum geschaffen, sich zu entfalten (Erwartungshaltung von Mitarbeitenden) und das Unternehmen nach vorne zu bringen. Die Microsoft Power Platform bietet als führende Low-Code Development Platform (LCDP) wichtige und richtige Grundlagen zur Umsetzung einer Developer Experience (DX), die Startpunkt für so viele positive Veränderungen in einem Unternehmen sein kann.

Fragen & Antworten

Wie kann ich die Developer Experience (DX) auf der Microsoft Power Platform verbessern?

Nebst direkten Vorteilen durch Low-Code, Cloud und Technologie der Microsoft Power Platform (Effizienz, Flexibilität, Informationsgehalt, intuitive IDE) ist eine Unternehmenskultur wichtig, die es erlaubt, Mitarbeitende einzubeziehen und Agilität zu leben.

Wie kann ich Projekte mit der Microsoft Power Platform erfolgreich abschließen?

Das wichtigste Element ist die Verinnerlichung der Philosophie: Low-Code-Entwicklungsplattformen erfordern einen agilen Projektansatz unter Berücksichtigung von Demokratisierung und plattformspezifischen Modellen. Eine wesentliche Komponente betrifft die Developer Experience (DX), da diese nicht mehr nur den „echten“ Entwickler:innen zugeschrieben wird, sondern auch für Citizen Developers (Fachabteilungen) gilt.

Wie können Citizen Developers im Entwicklungsprozess helfen?

Citizen Developers (Fachabteilungen) spielen eine zentrale Rolle bei der Entwicklung von Anwendungen auf Low-Code Development Platforms (LCDP). Eine einheitliche Sichtweise zwischen Entwicklung und Anwendung (durch das Low-Code-Paradigma) ermöglicht dies.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

de_DEGerman