Automatisierter Technologieradar

Beat Luginbühl

Lassen sich Technologieradare automatisiert erstellen? Falls ja, wie? Dieser Frage ging Beat Luginbühl im Rahmen seiner Master Thesis an der Berner Fachhochschule nach.

Zweck und Formen von Radaren

Technologien entwickeln sich ständig weiter. Vor allem im sich sehr schnell entwickelnden Bereich der Informationstechnologie ist es manchmal schwierig, Schritt zu halten, um auf einen bereits fahrenden Zug auf- oder zu gegebener Zeit auch wieder abzuspringen.

Ein Technologieradar verschafft dem Betrachter, egal ob Entwickler oder Entscheider, einen Überblick über die technologische Landschaft zu einem bestimmten Zeitpunkt in der Geschichte. Häufig liegt dieser Zeitpunkt ein wenig in der Zukunft, er kann aber auch die aktuelle Landschaft abbilden.

Die meisten Radare verwenden für die Darstellung Begriffe wie „Adopt“, „Trial“, „Assess“ und „Hold“, welche angeben ob und wie viel Investition an Zeit und Geld sich lohnen. Sie werden häufig grafisch in Form eines Radars dargestellt oder kommen als Scatterplot vor.

Technologieradare bei Puzzle

Puzzle ITC verfügt bereits heute über einen Technologieradar. Die Verantwortung liegt beim bereichsübergreifenden und interdisziplinären Techboard. Die Pflege erfolgt mittels eines manuellen Prozesses, wobei Informationen aus der Fachpresse, Gespräche mit den Mitarbeitenden und Erfahrungen aus Projekten einfliessen. Wurde das Ergebnis bis vor Kurzem in tabellarischer Form präsentiert, so passiert dies mittlerweile mit Hilfe der von Thoughworks entwickelten und öffentlich verfügbaren Lösung build-your-own-radar.

Unter dem Strich ist die Erstellung eines Technologieradars daher sehr zeitaufwändig.

Bestehende Produkte

Zum heutigen Zeitpunkt gibt es verschiedene Produkte am Markt, welche die Erstellung eines ansprechenden Technologieradars unterstützen. Beispielsweise techradar.io als freie Web-Applikation oder TecLifecycle, ebenfalls frei auf GitHub verfügbar. Ebenso die bereits erwähnte Lösung von Thoughtworks. Allen gemein ist die Tatsache, dass diese manuell gepflegt werden müssen.

Automatisierung mit unterschiedlichen Datenquellen

Die in einen Technologie-Radar fliessenden Informationen sind ganz unterschiedlicher Natur. Von strukturierten Daten bis hin zu natürlichem Text, beispielsweise in einem Fachartikel, kommt alles vor. Beispielsweise verfügt Puzzle über eine Fachwissensskala wo die Mitarbeitenden ihre Erfahrungen mit verschiedensten Technologien erfassen. Zukünftig soll es dort auch möglich sein, eine persönliche Einschätzung zu einem Thema abzugeben. Damit eignet sich diese interne Datenquelle sehr gut, um mit automatisch generierten Technologieradaren zu experimentieren.

Modularisierung

Um dem Betrieb der Applikation grösstmögliche Flexibilität zu bieten, wird die Erzeugung der Radare von deren Darstellung komplett getrennt. Daraus ergeben sich die beiden Hauptkomponenten Importer und WebGUI, welche sich eine gemeinsame PostgreSQL -Datenbank teilen. Das Backend des WebGUIs, sowie der Importer werden als Springboot-Applikationen realisiert, wobei der Importer als Kommandozeilen-Applikation ausgeführt wird. So lässt sich der Importer von einem beliebigen Script aus starten, verrichtet seine Arbeit und beendet sich wieder.

Der Importer selber dient lediglich als schreibende Schnittstelle in der Datenbank und stellt bestimmte Regeln aus, wie ein Import zu erfolgen hat. Er nutzt auf eine bestimmte Quelle ausgelegte und per ServiceLoader geladene Plugins, in welchen auch die Transformationslogik steckt.

Für das WebGUI wurde ein einfaches REST-Backend und eine mit VueJS realisierte Singlepage-Applikation als Frontend geschrieben. Als Goodie lassen sich die Visualisierungen, ähnlich einem Youtube-Video, in eigenen Applikationen einbinden.

Resultat

Neben umfangreicher Dokumentation nach etablierten Industrie-Standards kam dabei ein funktionsfähiger Prototyp heraus. Zur Zeit greift dieser Prototyp noch auf Daten unserer internen Fachwissensskala in einer Form zu, wie sie erst in näherer Zukunft existieren wird. Er ist somit noch nicht für den Produktiven Einsatz geeignet, was jedoch in der Natur eines Prototypen liegt. Allerdings veranschaulicht dieser das theoretische Konzept für die automatisierte Erstellung von Technologie-Radaren. In Zukunft, wenn das Produkt einen gewissen Reifegrad erreicht hat, soll der Code unter einer Opensource-Lizenz der Öffentlichkeit zugänglich gemacht werden.

Fazit

Technologieradare lassen sich automatisiert erstellen. Der eigentliche Knackpunkt ist die Interpretation der verwendeten Datenquellen. Im vorliegenden Fall mit der internen Fachwissensskala bietet dieser nicht unbedingt einen Blick in die Zukunft, dafür aber auf die aktuelle Landschaft. Doch auch diese Sicht erlaubt Prognosen, gerade auch da die Visualisierungen vorangegangene Radare miteinbezieht und die Veränderungen grafisch darstellt wird.

Die Anwendung von etablierten Methoden wie Anforderungs-Dokumentation nach IEEE 830, Architektur-Dokumentation nach  Arc42, sowie Detail-Design nach IEEE 1016 haben viel Zeit in Anspruch genommen. Dafür konnte anschliessend der vorliegende Prototyp  in einem Durchgang auf der Zielgeraden entwickelt werden.

Schreibe einen Kommentar