SAP-Entwicklungsprozesse digitalisieren: Realisierung (Teil 1)
Nach der Anforderungsaufnahme und der Konzeption folgt – logisch – die Realisierung der konzipierten Anforderungen als dritter Teil der Serie „SAP-Entwicklungsprozesse digitalisieren“. Da die Realisierung im Entwicklungsprozess eine tragende Rolle spielt, ist dies nur der erste Streich zu diesem Prozessschritt – der zweite folgt sogleich (bald).
Auf Basis eines guten Konzepts – ob schriftlich oder gedanklich entscheiden Sie selbst – startet die Entwicklung. Während der Vorgang der Entwicklung an sich sehr individuell durch die Vorlieben des jeweiligen Entwicklers geprägt ist, gibt es einige Aspekte in der Entwicklungsarbeit, über die es sich nachzudenken lohnt.
Einheitliche Entwicklungsrichtlinien
Viele Entwicklerteams haben mehr oder weniger ausgeprägte Entwicklungsrichtlinien. Dabei geht der Umfang von reinen Namenskonventionen für die gängigsten Entwicklungsobjekte bis hin zu Clean Code Vorgaben und Sicherheitsaspekten gemäß ISO-27001 in der Softwareentwicklung.
Bei der Überlegung, wie detailliert die Entwicklungsrichtlinien sein sollen und welche Aspekte darin einheitlich geregelt werden, steht immer eine Frage im Raum: Wie schaffen wir es als Entwicklerteam, dass die Richtlinien in der Praxis auch gelebt werden? Eine noch so gute und umfangreiche Entwicklungsrichtlinie ist nichts wert, wenn sie in der Praxis keine Anwendung findet. Um für Sie passende Richtlinien zu erstellen, brauchen Sie den Blick auf Ihr Entwicklerteam:
- Was können alle Entwickler heute, was ich auf jeden Fall von allen einfordern kann? (Bsp. „alle Entwickler können objektorientiert programmieren“ -> dann kann in die Entwicklungsrichtlinie ein Absatz, dass alle Entwicklungen nur objektorientiert entwickelt werden).
- Welche Technologien wollen wir zukünftig einsetzen, die wir schon in die Entwicklungsrichtlinien aufnehmen? Bei aktuellen Kundenprojekten kommt dabei oft das Thema „ABAP CDS Views“ hoch. Eine gute CDS Architektur vereinfacht deutlich die Zusammenarbeit und Anwendungsentwicklung und sollte damit in keiner zukunftssicheren Entwicklungsrichtlinie fehlen. Eine solche Architekturvorgabe erarbeiten wir gern mit Ihnen in unserem CDS Konzeptionsworkshop. Gleichzeitig mit der Technologieüberlegung sollten Sie dafür Sorge tragen, dass die Entwickler auch befähigt, also geschult oder angelernt werden, diese Technologien korrekt zu verwenden. Sonst ist es wieder nur eine schöne theoretische Vorgabe. Bei Bedarf unterstützen wir gerne mit unseren Schulungen und Coachings.
- Was sind relevante Sicherheitsaspekte, die für alle Entwicklungen gelten sollen? Diese Frage bezieht auch Kollegen außerhalb Ihres Entwicklungsteams mit ein, zum Beispiel die SAP Basis & Berechtigungen. Auch hier ist eine große Spanne möglich – von „jeder Transaktionsaufruf muss mit einer Berechtigungsprüfung abgesichert sein“ bis hin zu Authentifizierungsvorgaben an genutzten Webservices, Prüfungen für Benutzereingaben usw. Je nach Unternehmenskontext werden hier auch Vorgaben von Wirtschaftsprüfern Einfluss nehmen. Vor Kurzem haben meine Kollegen des mindsquare Security-Bereichs RZ10.de eine Schulung für eine sichere ABAP-Entwicklung ins Leben gerufen. Außerdem können Sicherheitsaspekte auch toolgestützt abgeprüft werden. Falls das für Sie ein Schmerzpunkt ist, sprechen Sie uns gerne auf den ABAP Alchemist an.
Es kommen auch allgemeine Fragen wie die üblichen Namenskonventionen dazu. Am Ende des Tages sollen die Richtlinien ein einheitliches Verständnis schaffen, wie in Ihrem Unternehmen ABAP-Entwicklung betrieben wird.
Code-Qualität sicherstellen
Um die Relevanz von Entwicklungsrichtlinien zu unterstreichen und auch viele technische Aspekte abzusichern, stehen in SAP einige Möglichkeiten zur Verfügung, um die Qualität von ABAP-Quelltext zu prüfen. Darunter fallen zum Beispiel der SAP Code Inspektor in Kombination mit dem ABAP Test Cockpit. Dieser prüft gemäß definierter Prüfvarianten verschiedene Aspekte der Entwicklung automatisch ab:
- Einhaltung der Namenskonventionen (-> Prüfung kann auf Ihre individuellen Namenskonventionen angepasst werden),
- Performance-Aspekte wie SELECT-Statements in Schleifendurchläufen, ineffiziente Parameterübergaben,
- Obligatorische Aspekte, zum Beispiel falls eine HANA-Datenbank im Einsatz ist,
- Berechtigungsprüfungen bei Datenbankabfragen, in einer Anwendung usw.,
- Prüfungen auf S/4HANA-Readiness,
- Uvm.
SAP bietet eine umfangreiche Zahl an vordefinierten Prüfungen an, die Sie einfach an- oder ausschalten können. Aktive Mitglieder der SAP-Entwickler-Community stellen aber auch frei verfügbare zusätzliche Prüfungen bereit. Sie haben außerdem die Möglichkeit, auch eigene Prüfungen zu definieren und auszugestalten. Falls Sie dazu Fragen haben oder selbst Prüfungen implementieren wollen, sprechen Sie uns gerne an.
ABAP Test Cockpit (ATC) einrichten - Erlebe Software
Sie wollen die Qualität des Codes verbessern? Mit dem ABAP Test Cockpit (ATC) können Sie dies erreichen. Wir unterstützen Sie gerne!
Abgesehen von technischen Prüfungen gibt es auch organisatorische oder prozessuale Möglichkeiten, um einen gewissen Qualitätsstandard sicherzustellen. Darunter fallen zum Beispiel
- Das Vorgehensmodell des Test Driven Development (TDD). Dabei sichern Sie jede Entwicklung so gut wie möglich mit ABAP Unit-Tests ab
- Pair Programming oder Code Reviews, wodurch Sie ein 4-Augen-Prinzip in der ABAP-Entwicklung realisieren können. Gerade Code Reviews können auch durch Hilfsmittel wie abapGit unterstützt werden, um in GIT die Code Reviews durchzuführen.
Beides zielt darauf ab, eine zusätzliche Absicherung einzubauen und damit mögliche Folgeaufwände wegen Flüchtigkeitsfehlern oder sonstigen Fehlerquellen zu reduzieren.
Ausblick auf die Serie „SAP-Entwicklungsprozesse digitalisieren“
In Teil 2 zu SAP-Entwicklungsprozesse digitalisieren – Realisierung widme ich mich der Frage der Automatisierungsmöglichkeiten. Wo begegnen SAP-Entwicklern wie Ihnen und mir heute schon in der Entwicklung Fleißarbeiten, die sich automatisieren lassen? Ich freue mich auf Ihre Kommentare!