Grensing

Business Technology Consulting GmbH

Offshore-ABAP-Entwicklung produktiv nutzen

2018-03-02

Fragt man IT-Manager, kann kundenspezifische Softwareentwicklung - so sie denn überhaupt noch notwendig ist - nicht weit genug weg passieren. Je billiger, desto besser. Ich wundere mich dann immer, warum viele Politiker fordern, mehr Menchen in Softwareentwicklung auszubilden: der direkte Weg in die Arbeitslosigkeit? Vor Kurzem wurde mir mitten in einem Projekt der letzte verbliebene fest angestellte ABAP-Softwareentwickler einer großen Unternehmensberatung von einem Tag zum anderen in den Vorruhestand geschickt. So viel dazu.

Gleichzeitig hört man immer wieder Horrorgeschichten über die Ergebnisse und die Produktivität von Offshore-Teams - was muss also geschehen, damit am Ende zufriedene Anwender über leistungsfähige Systeme verfügen können?

Zunächst einmal: Offshore ist nicht notwendigerweise am anderen Ende der Welt. Aus Sicht eines SAP-Projekts ist das Home-Office eines Freelancers in Wanne-Eickel und ein Entwicklungsteam in Kalkutta gleich weit weg. Und beide stehen erst einmal vor dem gleichen Problem, wenn sie Ihre funktionale Spezifikation in Händen halten.

Wenn Sie ein Haus bauen wollen, beauftragen Sie nicht einfach mit einem handgeschriebenen Anforderungszettel einen osteuropäischen Maurer oder den Zimmermann im Dorf: nicht nur die Baubehörde wird damit wahrscheinlich ein Problem haben, sondern auch Sie, wenn Sie das Ergebnis sehen. Aus gutem Grund benötigen Sie einen Architekten und einen Statiker. Bei Software - vor allem bei komplexer, hoch integrierter Software, ist dies erst einmal nicht anders. Manchmal erweckt das Management in bewundernswerter Weise den Eindruck, das sei bei Ihnen nicht der Fall: haben Sie Zweifel!

Im SAP-Umfeld hat das vor allem zwei Gründe:

  • Eine kundenspezifische Zusatzentwicklung entsteht normalerweise nicht auf der grünen Wiese: SAP-Standardfunktionen sind immer beteiligt und müssen mit der Eigenentwicklung verknüpft werden. Da Entwickler in aller Regel Anwendungsgeneralisten sind, fehlt ihnen meist die Erfahrung, wie dies in Ihrem speziellen Fall zu bewerkstelligen ist und müssen dies erst durch mühsames Testen herausfinden. Dieser Lernprozess kann durch einen erfahrenen Architekten drastisch verkürzt werden.

  • Nicht alle ABAP-Softwareentwickler haben eine fundierte Ausbildung in Software-Engineering. Oft hat man es hier mit Quereinsteigern zu tun, die zwar vielleicht in einem Kurs etwas über SOLID-Kriterien und testbasierte Entwicklung gehört haben, in der Praxis belässt man es (auch gerade unter dem Druck anspruchsvoller Zeitpläne) gerne bei dem, wie man es schon immer gemacht hat. Auch hier hilft die Entwicklungskoordination durch einen erfahrenen Architekten, der aktuelle Methoden kennt und weiß, wann sie sinnvoll eingesetzt werden können und müssen und der dann auch ihre Anwendung durchsetzt.

Bei der Zusammenstellung des Offshore-Teams sollten Sie als Kunde mitreden. Dass bestimmte Ressourcen beim Dienstleister oftmals sofort verfügbar sind, kann Gründe haben - und das sollte man sich als Kunde im Interesse Ihres Projekts nicht unbedingt antun müssen! Ein erfahrener Architekt hilft, in dem er Lebensläufe liest, Interviews durchführt und vorgeschlagene Entwickler auch einmal ablehnt.

Bei der SAP-Entwicklung tauchen sie immer wieder auf: die berühmten User-Exits, BADIs und Enhancements. Nicht immer sieht der Entwickler auf Anhieb, dass der erstbeste Erweiterungspunkt der falsche ist (alte SAP-Architektenweisheit: "Fürchte die Danaer, auch wenn sie Geschenke bringen"), sehr oft sind das auch kleine "Dreizeiler", bei denen ein erfahrener Architekt ("die Axt im Haus ersetzt den Zimmermann") die komplette Entwicklung abgeschlossen hat, während Sie beim Offshore-Team noch nicht einmal mit dem Ausfüllen des Excel-Formulars zur Aufwandsschätzung fertig sind. Bedenken Sie dass in einem SAP-Projekt oftmals sehr viele sehr kleine Entwicklungen notwendig sind. Spart man wirklich, wenn ein teurer Architekt hier einen billigen Entwickler steuert, oder wäre ein etwas "teurerer" On-shore Entwickler mit viel geringerem Steuerungsaufwand hier nicht die ökonomischere Alternative?

Als SAP in den achtziger Jahren des letzten Jahrhunderts die Programmiersprache ABAP/4 entwickelt hat, wurde sie als "Sprache der 4. Generation" entwickelt. Die Idee dahinter war, das funktionale Experten aufgrund der einfachen beschreibenden Elemente dieser Programmiersprache selbst ihre Anforderungen umsetzen können. Ich warte immer noch auf Operationsbesteck mit besonders ergonomischen Griffen (und in bunt), damit auch interessierte Laien jederzeit einen Blinddarm entfernen können.

Aus diesem Grund muss Softwareentwicklung - soll sie erfolgreich sein - von kompetenten Menschen durchgeführt werden. Dies kann auch in fremden Ländern und auf anderen Kontinenten passieren. Aber ohne fachkundige Steuerung ist Erfolg Zufall - und das wollen wir sicher nicht!