Die neuen Entwicklungsgrundsätze – Digital Transformation im SAP-Umfeld

(Last Updated On: 3. Juli 2017)

Wie verändern sich in Zeiten der digitalen Transformation essentielle Entwicklungsansätze im SAP-Umfeld? Diese Frage versucht dieser Beitrag zu beantworten.

It’s about people, stupid.

Viele SAP-Kunden pflegen gerade trendgerecht SCRUM in ihr Vorgehensmodell ein. Wichtiger als die Beschleunigung des Vorgehens in der Code-Entwicklung ist jedoch die Konzeptionierung der User Experience (UX). Denn frei nach dem Motto: „Wenn Sie agil Mist programmieren, bekommen Sie am Ende sehr effizient neuen Mist heraus“. Wird Ihnen jeglicher zeitlicher Vorsprung vor der Konkurrenz im Deployen neuer Software nichts bringen, wenn die User Ihre Software nicht annehmen. Viel zu häufig wird – vor allem im SAP-Umfeld, wo die hinter einer Software liegenden Geschäftsprozesse sehr schwierig sind – Software entwickelt, die sehr schwerfällig zu bedienen ist. Prüfen Sie sich einfach mal selbst:

  • Wenn Ihre User Ihre Transaktion oder Ihr Programm öffnen und nicht sofort wissen, wofür das gut ist und was zu tun ist, ist die User Experience schlecht.
  • Wenn Sie dem User das User Interface bzw. die Bedienung Ihrer Anwendung erklären müssen, ist die User Experience schlecht
  • Hat Ihr Programm keine soziale Komponente, etwa das Hinzufügen von Kommentaren und Feedback zu einem Geschäftsvorfall oder das Zurückgreifen auf ähnliche Geschäftsvorfälle von Kollegen – oder kurz gesagt: fühlt sich der User beim Benutzen Ihres Programms allein – ist die User Experience (meist) schlecht.
  • Muss Ihr Benutzer in einer Dialogverarbeitung bei guter Verbindung zum Anwendungsserver länger als 2 Sekunden nichtstuend am Bildschirm warten bis er weiterarbeiten kann, ist die User Experience schlecht.
  • Hat Ihr Benutzer Probleme damit, Ihre Software geräteübergreifend zu verwenden (z. B. auf Mobile Devices muss er in den Bildschirm rein zoomen, um für den Desktop-Einsatz gestaltete, kleine Elemente mit dem Finger zu drücken), ist die User Experience schlecht.
  • Wenn Ihre Anwendung keine Personalisierungsoption bietet, also beispielsweise nicht zulässt, dass nach einer gewissen Anlernphase die Anwendung dazu lernt und dem Nutzer das für ihn wichtigste zuerst präsentiert, ist die User Experience schlecht.

alle diese sechs Punkte sollten bei Ihnen im Coding sauber abgebildet sein, damit man bei Ihrem Programm von einer benutzerfreundlichen Software sprechen kann, die auf dem Markt angenommen wird und die es wert ist, über eine agile Vorgehensmethode wie SCRUM entwickelt zu werden. Zusätzlich kommen neue Faktoren dazu, die bestimmend sind, wenn Sie mit Ihrer Software ein Produkt oder eine Dienstleistung verkaufen wollen.

  • Sie haben 7 Sekunden Zeit, um die Aufmerksamkeit des Benutzers zu erlangen. Bekommt der Benutzer Ihrer Software innerhalb von 7 Sekunden eine Motivation oder einen Anreiz, um sich weiter mit Ihrer Software zu beschäftigen, oder ist er in dieser Zeit immer noch am Lesen irgendwelcher Texte oder klickt sich durch wilde Menüs?
  • Bekommt der Benutzer innerhalb von 30 Sekunden eine Idee, wozu er Ihre Software konkret benutzen kann?
  • Weiß der Benutzer innerhalb von 1 Minute, was ihre Software im Vergleich zur Konkurrenz einzigartig macht?

Agiles Vorgehensmodell

Nun, da Sie als allererstes den Gedanken der User Experience verinnerlicht haben, können Sie sich nun Gedanken um ein agiles Vorgehensmodell machen. Viele Kunden implementieren hier bereits SCRUM als Vorgehensmodell in der Entwicklung. Hierbei planen Sie zu Beginn gerade so viel, dass Sie zum ersten mal anfangen können mit der Entwicklung des Produkts, und setzen sich nur kleine Ziele wie erste Features. Nach Review und & Testphase planen Sie die nächste Iteration, bei der Sie sich wieder auf einige Kern-Features konzentrieren und diese reviewen und testen. Einen tieferen Einblick in SCRUM liefere ich in einem künftigen Post.

Digital Transformation

Hinter diesem Buzzword verbirgt sich die zunehmende Integration digitaler Technologien in das Alltagsleben des Menschen. Ein Beispiel, welches ich immer wieder gerne verwende, sind Taxi-Apps wie myTaxi. War das Taxi fahren früher ein klassisches „Offline-Produkt“ wurde es zunehmend digitalisiert. Heute fahren vor allem junge Leute mit Taxi-apps wie myTaxi, taxi.eu oder Uber. Für Sie als Entwickler heißt dies, dass Sie konkret versuchen sollten, möglichst viele Schritte eines Geschäftsprozesses digital abbilden zu können, etwa die Routenplanung einer Kundenlieferung oder das Nachverfolgen von Abgängen aus dem Lager. Das bedeutet für Sie im Klartext, dass Sie sich mit Technologien wie Augmented Reality, Geoinformationsdiensten und anderen wichtigen Enablern in diesem Bereich auseinander setzen müssen.

Testmanagement

Da Sie nun Ihren Code immer schneller deployen wollen, müssen Sie auch irgendwie schauen, dass Ihre Tests effizienter werden. Die Automatisierung von Tests rückt hier immer weiter in den Fokus. Der Solution Manager 7.2 bringt schon heute nützliche Tools zur Automatisierung mit. Tests, die der Solution Manager nicht automatisieren kann, müssen weiterhin durch Frontend-Skripting Technologien abgedeckt sein. Wichtige Schlagwörter hierbei ist SAP GUI Skripting für klassische SAPGUI Transaktionen und Selenium für die Automatisierung von Browsertests.

Aber auch bei den Unit Tests und beim Debugging Ihres Codes können Sie nun den Prozess ein wenig beschleunigen.  Seit NetWeaver 7.50 unterstützt die ABAP IDE sogenannte Tests Injections. Hierbei können Sie innerhalb eCode einfügen, der im Rahmen eines automatisierten Unit Tests getestet werden soll. Ganz konkret können Sie innerhlab einer Test Injection Variablen belegen und im Unit Test selbst dadurch mit testen, wie die Methode auf eine bestimmte Variablenbelegung reagiert. Jetzt denken Sie aber schon richtig: Sie könnten auch in älteren releases die Variable im Code einfach definieren. Nur haben Sie mit Test Seams und Test Injections nun den Vorteil, dass Sie den Code in dieser Methode stehen lassen können, da dieser Code im Produktivbetrieb automatisch ignoriert wird. Das heißt Sie können diese Test-Cases für Ihre Unit Tests einfach dauerhaft definiert lassen und müssen nicht immer ständig daran denken, diese Codestellen wieder auszukommentieren oder zu löschen.So können Sie immer wieder bestimmte Konstellationen, wie etwa eine Division durch Null, testen lassen.

Code-Analyse

die SAP bringt nun in neuen Releases mit dem ABAP Test Cockpit (ATC) sowie mit der Remote Code Vulnerability Analysis  (CVA) Technologien mit, mit denen es möglich ist, den eigenen customer Code kontinuierlich zu verbessern. Sie führen einfach in regelmäßigen Iterationen, beispielsweise in jeder Testphase eines SCRUM-Sprints, die beiden Tools aus und fixen die einzelnen Reports, die diese Tools Ihnen mit teilen.

Zusätzlich sollten Sie regelmäßig versuchen, die Performance Ihres SQL-Codes zu prüfen. Hierbei hilft Ihnen der SQL-Monitor. Diesen sollten Sie auf deployten Code im Produktivsystem laufen lassen. Die Analyseergebnisse des SQL Monitors exportieren Sie dann in das Entwicklungssystem in eine sogenannte SQL Performance Tuning Worklist. Nachdem Sie den Code angepasst haben, können Sie im Qualitätssicherungssystem diese Tuning Worklist nehmen, um nur die betroffenen Codings auf verbesserte SQL-Performance hin zu prüfen.

Da Sie keine unnötige Zeit damit verschwenden wollen, veralteten Legacy Code zu optimieren, der im System schon gar nicht mehr produktiv genutzt wird, können Sie das Usage Procedure Log (UPL) des SAP Solution Managers nutzen, um festzustellen, ob Sie bestimmte Source Code Files in Ihrem System vielleicht sogar gänzlich beseitigen können. Denn das Tool hilft Ihnen beispielsweise Customer Code zu identifizieren, der in den letzten 12 Monaten kein einziges mal aufgerufen wurde.

Während Sie die oben geschilderten Tools kontinuierlich, also beispielsweise zu jedem SCRUM-Sprint, einsetzen sollten, gibt es auch sogenannte Oneshot-Tools, die Sie im Jahr vielleicht einmal einsetzen oder zu besitmmten Gelegenheiten, z. B. vor einer Migration Ihres ABAP Codings zu SAP HANA. Speziell wenn Sie auf HANA gehen MÜSSEN Sie Ihren Code mit dem SAP Code Inspector prüfen. Hierzu laden Sie sich vom SAP Service Marketplace eine sogenannte simplification database herunter und implementieren diese in Ihr System. Die simplification database enthält alle Code-Vereinfachungen im angestrebten S/4HANA Release und stellt somit die Basis für den Code Inspector da, um Ihren Code zu analysieren. Im SAP Code Inspector können Sie dann über die Transaktion SYCM die simplification database gegen Ihren eigenen Customer Code prüfen.

ein weiteres wichtiges Tool ist der SAP Runtime Check Monitor (SRTCM). Während die weiter oben vorgestellten Tools sogenannte statische Tools sind – heißt, sie testen nur das Coding selbst auf Fehler, analysiert dieses Tool das Laufzeitverhalten des Codes. Das bedeutet, Sie bekommen mit diesem Tool konkrete Informationen darüber, wie sich Ihr Coding zur Laufzeit im Produktivsystem schlägt. Sie führen die SRTCM-Analyse auf das Produktivsystem aus und exportieren auch hier den sogenannten Snapshot des aktuellen laufzeitverhaltens in das Entwicklungssystem. Sie beurteilen dann, welches Coding sich aktuell noch negativ im Produktivsystem bemerkbar macht, und handeln dann lösungsorientiert.

Auslagerung von Code in SAP HANA

Mit der SAP HANA In-Memory Computing Engine wird dem Entwickler explizit die Möglichkeit geboten, aufwändige Berechnungsoperationen, die er zuvor in seinem Applikationsserver angewandt hat, direkt auf der SAP HANA Instanz ausführen zu lassen, was zu weniger Overhead und damit zu einer besseren Performance führt. Die beiden wichtigsten Enabler in diesem Bereich ist das HANA Interne SQLScript zum Erstellen von Stored Procedures und das neue NetWeaver 7.5 Feature der ABAP Managed Database Procedurs (AMDP). Mit AMDP ist es möglich, Stored Procedurs für SAP HANA innerhalb der klassischen ABAP-Entwicklungswerkzeuge wie der systeminternen ABAP Workbench oder innerhalb von Eclispe zu verwalten und zu entwickeln. Somit müssen Sie die Stored Procedures nicht mehr an einer zweiten Stelle verwalten, sondern haben das Management Ihres gesamten Codes an einer einzigen Stelle – ganz gleich ob er auf dem Applikationsserver oder direkt auf HANA angewandt wird.

Außerhalb der SAP Produktwelt soll es mit den den SAP Core Data Services (CDS) möglich sein, innerhalb von SAP HANA Große Datenmodelle zu konsumieren und somit eine komplette SAP HANA Backend Applikation ohne Zuhilfenahme eines dedizierten Applikationsservers zu entwickeln. Diese Idee wurde früher schon einmal mit der River Definition Language (RDL) aufgegriffen, jedoch nie wirklich ausgerollt.

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

DaFRK

Andreas Loibl ist SAP-Berater, Ethical Hacker und Online Marketing Manager und schreibt auf seinem Blog DaFRK Blog über verschiedene Themen in den Sektoren Projektmanagement, Informationstechnik, Persönlichkeitsentwicklung, Finanzen und Zeitmanagement.

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.