In den vergangenen Posts haben wir immer mal wieder über gezielte Analysen zu Code Qualität, Process Mining, Migration und Code Komplexität geschrieben. All diese Analysen basieren auf der Möglichkeit, innerhalb der Oracle Software-Entwicklung jede einzelne Zeile Code, jede Eigenschaft, jede Abhängigkeit selber wieder als Datum eines großen Software-Repository zu interpretieren.
„Software Code als Big Data ermöglicht mit den analytischen Interpretationen eine gute Software-Entwicklung.“
Unter dieser Betrachtungsweise lassen sich die Analysen auf Forms, Reports, Datenbank-Entwicklung, APEX, ADF, Skripte, etc. in verschiedene Gruppen unterteilen.
Fokus Qualität
Qualität in der Software-Entwicklung hat unmittelbaren Einfluss auf die Anzahl der Bugs und die Wartbarkeit der Software. Unabhängig von der einzelnen Programmiersprache haben sich Regeln über Jahre etabliert, die es erlauben ein hartes Gütesiegel an die Software zu vergeben.
Darüber hinaus pflegt jedes Team eigene Coding Convention und Best Practises, die durch ein Software-Repository gezielt überprüft und bewertet werden können. Metriken wie N-Path, Maintainable Index, und Berechnungen von Halstead und McCabe lassen sich auf gesamte Applikationen anwenden.
Gezielt für PL/SQL basierte Entwicklungen ist eine Bewertung der SQL-Injections und der Fehlerbehandlung von hohem Interesse.
Mit einer Qualitäts-Analyse starten Sie in die Bewertung ihrer Applikation.
Fokus Migration
Ist der Entschluss gefasst, eine Software in eine andere, modernere Technologie zu überführen, sollen damit in einem Aufwasch meist gleich mehrere Vorhaben umgesetzt werden. Bugs sollen gefixt, Erweiterungen umgesetzt, Architekturen angepasst und die User Experience verbessert werden.
Da offensichtlich ist, dass damit Aufwände verbunden und Zeit eingeplant werden muss, beginnt eine neue Entwicklung auf der grünen Wiese, da die produktive Applikation in der langen Übergangszeit weiter benutzt werden muss. Ein solcher Ansatz vergisst den Wert, der in der vorhandenen Applikation versteckt liegt und übersieht, dass durch Überführung einzelner Entwicklungspattern, wertvolle Zeit gespart und durchgängige Qualität sichergestellt werden kann.
Die Migrationsanalyse bewertet die Datenmodelle, Validierungen, Business Logik und die Komplexität des UI, zeigt auf, was bei einer Migration sinnvoll übernommen werden kann und erstellt für die Applikation und das Backlog von Änderungswünschen einen genauen Projekt- und Finanzierungsplan. Angepasst auf die gewünschte Infrastruktur, individuelle Architekturvorstellung, gewählte Zielplattform ADF, APEX, Spring, JET, Angular2, .NET, BI Publisher, Jasper Reports, etc.
Fokus Entwicklung
Nach Jahren des Stillstand soll eine Applikation erweitert oder in eine neue Wartung übernommen werden, aber es ist weder die Dokumentation, das Pflichtenheft noch der Entwickler zu finden, der die dringlichsten Fragen beantworten könnte. Wie kann in kürzester Zeit ein Überblick erstellt werden und wo warten die dringlichsten Aufgaben, um eine stabile, wartbare und verlässlich zu erweiternde Software zu erstellen.
Auf der anderen Seite hat sich die Applikation über kontinuierliche Weiterentwicklung von unterschiedlichen Verantwortlichkeiten zu einer (Verzeihung es ist das Lieblingswort meiner Kollegin) Frankenstein-Monster-Applikation verzerrt, die sich keiner mehr traut anzufassen.
Um hier die Kontrolle wieder zu gewinnen, bietet sich die Entwicklungsanalyse an.
Fokus Prozess-Identifikation
Process Mining ist ein wichtiges Werkzeug für die Identifikation und Verbesserung interner und externer Prozesse des Unternehmen. Es ist wie ein Soll-Ist-Vergleich der Nutzung der Applikation. Sind die einst modellierten und implementierten Prozesse von den Anwendern auch so verstanden und genutzt? Wo entstehen in der Applikation Hot-Spots, die besondere Aufmerksamkeit bedürfen? Wo verliert der Anwender die meiste Zeit und wo werden Lösungen nicht genutzt?
Eine Vielzahl von Fragen, die sich nicht nur um die Implementierung innerhalb der Applikation sondern auch um die Art und Weise der Nutzung ergeben, können durch eine Prozessanalyse gezielt beantwortet werden. Process Mining bietet einen Blick auf die Anwendung, die Sie so noch nie wahrgenommen haben.
Warum sind Analysen so wichtig?
Wenn ich im Stützpunkt einen neuen Spieler begrüße, wenn die Saison ihr Ende findet, wenn die neuen Nominierungen vor Tür stehen, sind Fitness-Tests, eine sportmedizinische Untersuchung und der Check der Dysbalancen selbstverständlich und eine Pflicht. Wir wollen wissen, woran wir trainieren müssen um die nächsten nächsten Hürden nehmen und im Wettkampf bestehen zu können.
In der Software-Entwicklung sehe ich es nicht anders – Auf dem Weg in die Digitale Transformation muss ich als erstes meinen Standpunkt bestimmen, um zu wissen, welche Schritte ich gehen will.