
Business Analyst oder Entwickler
Die Rolle war in der Vergangenheit oft sehr klar, der Entwickler kümmert sich um die Einrichtung des Prozesses, macht Customizing, entwickelt Erweiterungen und führt die Gespräche, um die Anforderungen aufzunehmen. Doch kann so eine Rolle heute noch funktionieren?
Inhaltsverzeichnis
In diesem Artikel schauen wir uns die Veränderung der Rollen an und schauen, ob es mehr Sinn macht, hier mehrere Personas zu definieren.
Einleitung
Schauen wir einmal auf die Vergangenheit und wie bisher Rollen entsprechend gelöst wurden. So war es oft nötig, dass in einem Fachmodul Customizing vorgenommen wurde und entsprechende Anpassungen, die dazu geführt haben, dass der Fachbereich eine gewisse Anforderung erfüllt bekommen hat. Als das Ganze nicht mehr ausgereicht hat, musste eine kleine Zusatzentwicklung oder eine Auswertung in Form eines Reports geschrieben werden. Dazu wurde vielleicht noch eine Tabelle angelegt, wo etwas Customizing abgelegt wurde.
Der Prozess war relativ einfach, die Tools waren alle integriert, da man hier vor allem auf die SE80 gesetzt hat, um seine Objekte zu entwickeln und dann direkt in der GUI auch weiter getestet hat. Die Komplexität entstand meist aus den Anforderungen des Fachbereichs. Das heißt, hier waren größere Abstimmungen und Konzepte nötig, um zu wissen, was eigentlich umgesetzt werden sollte.
Dabei spielten Regeln oft keine große, tragende Rolle, denn hier wurde umgesetzt, was benötigt wurde, um einen Prozess zu beschleunigen oder zu vereinfachen. Handelte es sich um eine Modifikation, dann wurde sie durchgeführt, um einen gewissen Mehrwert im Unternehmen zu schaffen. Das bedeutete aber auch, dass vielleicht Standard-Prozesse weniger berücksichtigt wurden. Hier konnten im Großen und Ganzen Berater, egal ob intern oder extern, wirken, denn sie kannten ihr Modul, sie kannten die ABAP-Entwicklung und sie wussten, wie sie bestimmte Dinge im System umsetzen konnten.
Wandel
Wie wir bereits in einem anderen Artikel beschrieben haben, ist allerdings die ABAP-Entwicklung im Wandel. Der ABAP-Entwickler entwickelt sich weiter zu einem SAP-Entwickler und gleichzeitig steigt die Komplexität in Architekturen und Systemen. Die Public Cloud soll weiter vorangetrieben werden, das heißt, hier gibt es standardisierte Prozesse. Man benötigt tieferes Prozess-Know-how, um entsprechende Module einführen zu können, aber auch um zu wissen, was diese Module können, wie sie bedient werden und wie der Fachbereich den größten Nutzen daraus zieht. Auf der anderen Seite sollen Entwickler in der Cloud entwickeln, jetzt nicht mehr nur einfache ABAP-Reports, sondern Anwendungen, die wiederum auf Core Data Services und RAP (ABAP RESTful Application Programming Model) basieren, was eine gewisse Komplexität in die Entwicklung bringt.
Da wird es Zeit, sich einmal Gedanken darüber zu machen, ob die eine Person, die man bisher im Unternehmen hatte und die alles gelöst hat, immer noch so richtig ist oder ob man eigentlich verschiedene Rollen benötigt, die verschiedene Bestandteile übernehmen und sich fokussieren, um in ihrem Bereich sehr gut zu werden.
Aufgaben
Schauen wir uns dazu einmal einige Aufgaben und Rollen an, die in diesem Kontext herausgearbeitet werden können. Dabei fokussieren wir uns auf den Entwickler und den Business Analysten, da diese die Hauptprozesse bisher abgedeckt haben. Grundsätzlich gibt es auch noch neue Rollen wie den Architekten, der ein Gesamtbild von dem Prozess haben sollte und die Architektur sowie den Aufbau im Auge behalten sollte.
Entwickler
Der Entwickler sollte daher vor allem in seiner Arbeitszeit auf das Thema Softwareentwicklung fokussieren, so wie seine Rolle auch ausgelegt ist. Dabei besteht die Softwareentwicklung nicht nur aus Code schreiben und eine Anwendung zur Verfügung stellen, sondern es gibt gewisse Qualitätsstandards, die wir einhalten sollten, damit unsere Software besser funktioniert und am Ende wartbarer ist. Dazu zählt auch das Thema Clean ABAP und Unit Tests, welche heute immer noch sträflich vernachlässigt werden in der Entwicklung, zumindest wenn es den ABAP-Bereich angeht.
Das bedeutet aber wiederum auch für den Entwickler einen enormen Weiterbildungsaufwand. Die Themen, die auf der Roadmap für ABAP Cloud stehen, sind entsprechend vielfältig und es benötigt einiges an Zeit, diese auch wirklich umzusetzen. Dazu kommt das ganze Thema moderne Entwicklung. Mit Fiori-Anwendungen haben wir mittlerweile auch eine HTTP-Kommunikation zwischen Server und Frontend. Das heißt, der Entwickler sollte verstehen, was dort eigentlich passiert, wie das Ganze ausgewertet wird und wie er es am Ende auch debuggen kann, um Fehler zu finden.
Dann halten immer mehr Standardtools Einzug in die Softwareentwicklung, wie VS Code als IDE, welche nun auch für die ABAP Cloud und die Fiori-Entwicklung kommt. Das heißt, das Thema IDE-Lernen ist ein sehr großer Bestandteil der Modernisierung, aber auch moderne Tools wie Git, Build-Pipelines und Workflows zu verstehen und einzusetzen.
Dabei spielt vor allem Clean Core eine sehr wichtige Rolle. Wir dürfen nicht mehr alle Technologien einsetzen, sondern müssen bestimmte Dinge in unserer Entwicklung modernisieren. Wollen wir einen klassischen Workflow bauen, dann bauen wir ihn nicht mehr in der SE80, sondern nutzen dafür eine entsprechende Workflow-Lösung auf der BTP, um den Workflow umzusetzen. Das bedeutet wiederum, neue Skills zu lernen und die Prozesse entsprechend in unserer Anwendung zu implementieren. Dazu kommen verschiedene Erweiterungskonzepte wie die On-Stack Extensibility und die Side-by-Side Extensibility, die wir lernen sollten, sowie die entsprechenden Modelle dazu, um Software auf diesen Plattformen auch entwickeln zu können.
Business Analyst
Auf der anderen Seite steht der eigentliche Business Analyst, der die ganzen Anforderungen aus dem Fachbereich erst einmal aufnehmen muss. Dazu muss er zahlreiche Gespräche führen und im Nachgang schauen, wie das Ganze im Standard abgebildet werden kann. Dabei sollte die Eigenentwicklung nicht im Fokus stehen, sondern erst einmal das Bestreben, zu schauen:
- Welche Prozesse gibt es im Standard?
- Wie sind diese abgebildet und können wir entsprechend auch die Anforderungen dort abbilden?
Gleichzeitig ist es ein wichtiger Bestandteil, bestimmte Konzepte zu kennen, wie zum Beispiel, wie Fiori funktioniert, wie Apps aussehen sollten und was die einzelnen Konzepte dahinter sind. Hier bringt es zum Beispiel nichts, eine Fiori-Anwendung zu designen, die ähnlich aussieht wie eine SAP-GUI-Anwendung: mit zu vielen Knöpfen, zu viel Text und zu viel Kontext innerhalb einer einzigen Anwendung. Hier sollte darauf geachtet werden, dass man möglichst in den Standard-Patterns arbeitet und nur Standard-Elemente verwendet, die auch wirklich einfach umzusetzen sind. Das spart dem Entwickler später viel Entwicklungsaufwand, aber man bleibt hierdurch ebenfalls im Fiori Elements Standard, was später die Wartungsaufwände der Anwendung reduziert.
Eine nächste große Säule ist das Thema Integration Testing. Hier geht es vor allem darum, Testautomatisierung auf dem UI und zwischen den verschiedenen Anwendungen zu definieren. Dabei kümmert sich der Entwickler um seine Unit Tests und der Business Analyst um die eigentlichen Tests, die die Anwendung an sich, aber auch die Prozesse zwischen den Anwendungen testen. Hier sollte die Last der Testautomatisierung nicht allein auf den Schultern des Entwicklers abgeladen werden.
Anforderungen
Dabei ist ein wichtiger Bestandteil die Zusammenarbeit zwischen den verschiedenen Rollen und die Ergänzung untereinander. So können gewisse Synergien gehoben werden, um das bestmögliche Ergebnis am Ende zu erhalten. Dabei solltest du aber auch darauf achten, dass sich die Anforderungen gegenüber externen Dienstleistern dadurch ändern können. Es gibt nicht mehr den einen Super-Berater, den du engagieren kannst, um am Ende all deine Anforderungen umzusetzen, sondern man braucht wahrscheinlich genauso spezifische Rollen und Anforderungen an seinen Dienstleister, um das zu bekommen, was man benötigt.
Möchtest du eine Gesamtarchitektur haben, dann solltest du einen Architekten anfordern. Möchtest du eine Entwicklung haben, entsprechend einen Entwickler. Oder soll eigentlich erst einmal der Prozess konzeptioniert und geschärft werden? Dann brauchst du einen entsprechenden Analysten. Der Aufwand bei der Schulung ist auch für externe Dienstleister unheimlich groß. Das heißt, in einer einzigen Person alle drei Rollen zu finden, wird immer schwieriger werden oder es muss in Zukunft auch entsprechend bezahlt werden.
Tools
Dabei können heute auch schon verschiedene Tools die jeweiligen Rollen mit zusätzlichen Skills und Möglichkeiten erweitern. So gibt es zum Beispiel verschiedene KI-Lösungen wie Joule for Consultants, die den Business Analysten dabei unterstützen können, Standardprozesse zu definieren, Erweiterungspunkte zu finden und insgesamt die Lösung besser zu verstehen.
KI-Lösungen im Entwicklungsbereich, egal ob Joule for Developers oder der Copilot von Microsoft, können dem Entwickler unter die Arme greifen, um Code Reviews schneller durchzuführen, bestimmte Bestandteile im Code zu generieren oder auch Best Practices besser zu verstehen, die im Standard eingesetzt werden.
Gleichzeitig gibt es statische Code-Analysen wie die CVA (Code Vulnerability Analysis), die den Entwickler dabei unterstützt, bei der Freigabe zu erkennen, ob sich noch sicherheitsrelevante Lücken im Code befinden. Denn das Thema Sicherheit wird auch in Zukunft in jedem Unternehmen ein wichtiger Bestandteil sein und Entwickler können nicht alle Probleme erkennen. So können Tools heutzutage schon helfen, die Produktivität zu erhöhen und das Skill-Gap zu reduzieren.
Ausbildung
Grundsätzlich kann man sagen, dass die Ausbildung der eigenen Leute ein wichtiger Bestandteil der Skills und der Verteilung der Aufgaben ist. Egal ob externe Dienstleister, die Berater im Unternehmen oder die entsprechenden Business Analysten und Entwickler ausgebildet werden müssen. Alle benötigen die neuen Skills im Bereich Clean-Core-Entwicklung und im Standard, um auch in Zukunft effizient arbeiten zu können.
Das alte Arbeiten nach dem Motto „Ich baue mal schnell eine Erweiterung und modifiziere den Standardprozess“ wird in Zukunft nicht mehr so gut funktionieren, wie es in der Vergangenheit funktioniert hat, und wird immer mehr technische Schulden im Unternehmen anhäufen. Daher macht es auf jeden Fall Sinn, Geld und Zeit in die Ausbildung der eigenen Leute zu stecken, um nicht den Anschluss an den Markt zu verlieren und auch in Zukunft wettbewerbsfähig zu bleiben.
Fazit
Das Aufteilen in verschiedene Rollen macht durchaus Sinn und kann die Wettbewerbsfähigkeit des Unternehmens in Zukunft steigern. Allerdings wird es auch in Zukunft immer noch Mischrollen geben, die den Prozess an mehreren Stellen begleiten können, ohne vielleicht die Rolle wechseln zu müssen. Solche Rollen hat es auch in der Vergangenheit gegeben und wird es auch in der Zukunft geben. Aber grundsätzlich solltest du dir im Unternehmen Gedanken darüber machen, wie du die Rollen besser aufteilen kannst, um effizienter arbeiten zu können und die Themen der Zukunft besser zu unterstützen.

