Kategoriearchiv: Architektur

Welche Dokumentation Entwickler brauchen – und warum sie durch KI noch wichtiger wird

Lange habe ich mich gefragt, wie viel Dokumentation ein Softwareprojekt eigentlich braucht. Zu wenig Dokumentation führt dazu, dass Wissen immer wieder neu erarbeitet werden muss. Zu viel Dokumentation kostet Zeit und veraltet. In meinem aktuellen Projekt haben wir für uns einen ziemlich guten Mittelweg gefunden: Die Dokumentation ist überschaubar, wird tatsächlich genutzt – und seit wir KI beim Entwickeln einsetzen, ist sie noch einmal deutlich wertvoller geworden

Weiterlesen →

Desktopanwendungen schrittweise ins Web migrieren

In den letzten Jahren war ich immer wieder in Projekten tätig, wo eine größere Anwendung durch eine neue ersetzt werden sollte. Häufig sollte dabei eine Windows Desktopanwendung durch eine Webanwendung ersetzt werden. Warum und wie man dieses auch bei Desktopanwendungen Schritt für Schritt, also ohne Big Bang, hinbekommt, darum soll es in diesem Artikel gehen.

Weiterlesen →

Leichgewichtige Architekturvalidierung mit ArchUnit

In meinem vergangenen Projekt mit mehreren zehntausend Zeilen Code fand ich jQAssistant gut, um einen Überblick über den Code zu bekommen und Architekturregeln einfach zu validieren. Siehe dazu auch meinen vorherigen Blogpost.

Aktuell arbeite ich in einem Projekt, das vor zwei Jahren auf der grünen Wiese gestartet ist. Dieses besteht aus mehreren Mikroservices und einem Angular Frontend. Nun ist es allerdings so, dass bei einem unser wichtigen größeren Services (ca. 7000 LOC), in dem sehr viel Fachlichkeit steckt, mir immer häufiger Verletzungen unserer hexagonalen Architektur aufgefallen sind – bspw. Zugriffe von Domänen Klassen auf Klassen des REST Ports.  Dabei handelte es sich häufig um Flüchtigkeitsfehler. Die Setupkosten von jQAssistant waren mir bisher für diese kleinen Services zu hoch. Daher habe ich nach einer „leichgewichtigen“ Alternative gesucht mit der ich des Wildwuchses Herr werden konnte und bin dann bei ArchUnit fündig geworden.

Weiterlesen →

Nie wieder mühsam Code nach Mustern durchsuchen

Letztes Jahr habe ich den empfehlenswerten Steering Agile Architecture Kurs von Tudor Girba bei it-agile besucht. Der Aha-Effekt in diesem Kurs kam für mich, als es hieß, die gängige Vorgehensweise bei der Softwareentwicklung sei auf dem Stand der Technik von 1939. Damals wurden vier Millionen Fahrkarten unter immensen Kosten von Hand analysiert, um die Weiterentwicklung des Londoner U-Bahn-Systems zu steuern. Heute würde man dieselben Informationen innerhalb von Sekunden von Servern berechnet bekommen. Laut Tudor Girbas These ähnelte die aktuelle Vorgehensweise in der Softwareentwicklung sehr dem Zählen der Fahrscheine 1939. Um die Gemeinsamkeiten und mögliche Gegenmaßnahmen soll es in diesem Blog Beitrag gehen.

Weiterlesen →