Es vergeht kein Tag, an dem ich nicht darüber nachdenke, wie viel wir alle im Laufe der Jahre lernen (und vergessen).
Mehr als 20 Jahre nach meinem Informatikstudium habe ich vielleicht die Details des Lehrstoffes vergessen, aber ich habe mich allmählich von der Sichtweise “Das war alles nutzlos, es spiegelt nicht die Realität wider” zu der heutigen Sichtweise “Nun, das hat mir sicherlich die Grundlagen vermittelt, aber die Realität ändert sich so schnell, dass wir alles tun müssen, um mit der Realität Schritt zu halten” entwickelt.
Es sind die erlernten Fähigkeiten und nicht die vergessenen Fakten, die es uns ermöglichen, mit dem Tempo des Wandels Schritt zu halten. Der jüngste Rummel um die digitale Wirtschaft, die Transformation und die schlanke Programmierung in der Welt von SAP („keep the core cLEAN“), mag sich nicht so anfühlen als hätte er irgendeinen Einfluss auf Ihren Alltag – Fehlerbehebung, termingerechte Lieferung von Projekten, Minimierung von Ausfallzeiten.
Aber das Gegenteil ist der Fall.
Die agile Programmierung ist nicht etwas, das gerade erst erfunden wurde. Und selbst als sie noch neu war, ist sie nicht einfach aus dem Boden gestampft worden.
Nein, sie hat sich aus etwas Anderem entwickelt (erinnert sich jemand an JAD/RAD?!). Und Sie können sicher sein, dass es sich zu etwas Anderem weiterentwickeln wird.
Sie müssen sich immer wieder vor Augen halten, dass es sich nicht um eine große, beängstigende neue Methode handelt; Sie haben den Anschluss nicht verpasst.
Agile Entwicklung ist eine Evolution
Vor mehr als 20 Jahren waren JAD und RAD, Joint and Rapid Application Development, der letzte Schrei in der Software- und Systementwicklung. Agile ist eine Evolution, ein Umdenken, aber vor allem ist es eine Chance, sich zu orientieren.
Deshalb dachte ich, es wäre gut, ein paar Ihrer Fragen zu beantworten, ohne dass Sie sie stellen müssen und sich peinlich berührt fühlen.
Was übrigens nie der Fall sein sollte – Fragen sind immer gut.
Agiles Vorgehen verringert den Aufwand für die Bearbeitung des Codes – Jeder Sprint enthält bestimmte, vereinbarte Arbeitspakete.
Sie wissen, was Sie zu liefern haben, und Sie wissen, wie die Kriterien für eine erfolgreiche Lieferung aussehen.
Agile ABAPer sind zufriedenere ABAPer.
- Sie werden engere Beziehungen zu Ihren Kollegen haben, weil Sie sich häufig mit ihnen austauschen dürfen.
- Jedes Arbeitselement ist jetzt so viel kleiner, dass Sie auch glücklicher sein werden – keine wochenlange Arbeit mehr an ein und derselben Sache Tag für Tag.
- Sie werden mehr Freude an Ihrer Arbeit haben, weil Sie jetzt die Möglichkeit haben, direkt mit allen Bereichen des Unternehmens zusammenzuarbeiten.
- In Ihren Code Reviews werden Ideen ausgetauscht, Sie lernen neue Techniken, Methoden und Ansätze kennen.
Entwicklungsteams sind auch glücklicher – dieses gegenseitige Lernen voneinander führt zu vielseitig qualifizierten EntwicklerInnen, und es gibt seltener den einen Rockstar Coder, der nie in den Urlaub fahren darf, weil er Angst hat, dass alles zusammenbricht.
Es zahlt sich aus, es zu wissen – Der Agile ABAPer verdient mehr. OK, ich habe keine Beweise dafür, aber wir alle wissen, dass es viel ausmacht, einen Lebenslauf oder einen Entwicklungsplan zu haben, in dem beschrieben wird, dass man auf dem neuesten Stand der SAP-Technologien ist.
Keine Wochenenden mehr. Vor Agile war das Dreieck aus Aufwand, Qualität und Zeit immer so unflexibel, dass wir alle wussten, dass Wochenenden ins Spiel kommen würden, weil der einzige Spielraum der Zeitplan war. Bei Agile kommt die Flexibilität aus dem Scope (Umfang).
Wie man agile Entwicklung für SAP betreibt
Agile Techniken bei der Sprintplanung bedeuten, dass Sie und Ihre Kollegen bei der Festlegung des Sprintplans entscheiden, was in den Sprint kommt. Es gibt einige Techniken, um herauszufinden, wie lange ein bestimmtes Arbeitselement dauern wird, aber der Planungspoker wird die Leute immer mitreißen!
Der Schmerz und Aufwand für Unit-Tests wird deutlich verringert, da Sie nun automatisierte Testverfahren verwenden.
- Erweiterte Programmprüfung
- Code-Inspector
- Coverage Analyzer
- ABAP-Unittest
Dies sind nur 4 der SAP-internen Werkzeuge, die Sie vielleicht nicht als Teil des Werkzeugkastens des Agilen ABAPers betrachtet haben.
Diese und andere können Ihnen das Unit Testing erleichtern. Ja, Sie müssen die Zustimmung des Managements einholen, um Docker oder Chef projektweit einzusetzen, aber wenn Sie erklären können, wie Sie damit Zeit und Geld sparen können, dann werden Sie sehen, wie schnell es angenommen wird!
Was Sie heute tun können!
Sprechen Sie mit Ihrem Vorgesetzten oder noch besser, mit demjenigen, der Ihr Jahresgespräch mit Ihnen führt, über agile Methoden. Holen Sie deren Gedanken ein und teilen Sie Ihre eigenen mit. Setzen Sie etwas Agiles in Ihre Beurteilungsziele ein.
Agile und DevOps unterstützen ein viel effizienteres IT-Bereitstellungsmodell, das darauf ausgerichtet ist, dem Unternehmen genau das zu geben, was es braucht, wenn es gebraucht wird.
Bei der Anwendung auf SAP kann dies die allzu oft langsame und unflexible Art der Bereitstellung von Mehrwert für das Unternehmen verändern.
Und wer würde das nicht wollen?