SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live...

Preview:

Citation preview

SAP Software Engineering – live Agile!Agiles Projektmanagement und Clean Code im SAP-Umfeld

SAP Software Engineering – live Agile!

SAP Software Engineering – live Agile!Ali KavehCertified Scrum Master Solution Consultant SAP

�� mit Scrum groß geworden

�� seit vier Jahren Java-Entwickler und Scrum Master

�� zwei Jahre in SAP-CRM / ERP-Umfeld tätig

Ziele des Vortrags

MotivationUnsere Ziele:

Von prozeduraler Programmierung …

… zu Clean Code mit ABAP (OO)

Hilfreiche Regeln

Foto

: Mor

itz

Rös

el /

pix

elio

.de

Erfahrung

Die Herausforderung:

Unsere SAP-Projekt- landschaft

�� Beratungsprojekte

�� Einführungsprojekte

�� Supportprojekte

�� usw.

Agiler Ansatz mit Kanban

�� Keine Sprints Work in Progress (Queue von Features/Stories)

�� Planungsmeetings (agiler Planungszyklus)

�� Retrospektiven

�� Reviews

�� Daily Stand Up

�� Definition of Ready

�� Mehrere Kanban-Boards

Definition of Ready

Voraussetzungen, die ein Feature erfüllen muss:

�� klar definiert und spezifiziert mit dem Kunden

�� Kundennutzen vorhanden

�� umsetzbar

�� auf dem Agile-Board angelegt und beschrieben

�� festgelegte Akzeptanz-Kriterien

�� hat einen Feature-Owner

Kanban-Boards: Planning-Board

Kanban-Boards: Implementation-Board

Kanban-Boards: Project-Board

Kanban-Boards: Testing-Board

„Wir haben Spezialisten“ „Jeder kann alles“

Agiler Ansatz in Projektteams

Die Herausforderung in SAP: Verschiedene Fachgebiete (Sales, Service, Marketing, usw.) benötigen spezifisches Hintergrundwissen.

Klassische ABAP Entwicklung

Durch den prozeduralen Wald

Klassische Entwicklung ABAP Objects

Der Weg zum agilen Entwickeln:

Clean Code Initiative

Foto

: Rai

ner S

turm

/ p

ixel

io.d

e

Klassische ABAP-Entwicklung

Prozedurale Programmierung

ABAP Objects (OO)

http://www.clean-code-developer.de

Kann man diese Prinzipien und

Praktiken auch in ABAP einsetzen?

Ja, aber …

Clean Code Workshop: roter Grad

Clean Code Workshop: oranger Grad

Clean Code Workshop: gelber Grad

Clean Code Workshop: grüner Grad

Continuous Integration

Clean Code Workshop: grüner Grad

ABAP Test Cockpit

Verfügbar ab:

�� EhP2 for SAP NetWeaver 7.0 support package stack 12 (SAP Basis 7.02, SAP Kernel 7.20)

�� EhP3 for SAP NetWeaver 7.0 support package stack 5 (SAP Basis 7.31, SAP Kernel 7.20)

Quelle: http://scn.sap.com/docs/DOC-31773

ABAP Test Cockpit

Statische Codeanalyse

ABAP Test Cockpit

Statische Codeanalyse (Metriken)

Clean Code Workshop: grüner Grad

Clean Code Workshop: blauer Grad

ABAP Unit Test

Ja, es ist möglich: Unit Test schreiben in ABAP

�� Tests nur für losgelöste Funktionalität (Dateien einlesen, XML parsen usw.)

�� Mock-Aufwand zu hoch

�� Komplexe Objekte und Prozesse

mockA – Open source ABAP Mocking Frameworkhttp://scn.sap.com/community/abap/blog/2013 /10/16/mocka-is-now-open-source-abap-mocking-framework

Definierte Regeln

1. Klassen und Methoden verwenden

2. In FM, BADI, BAPI, Reports… ABAP Objects einsetzen, wenn möglich

3. Keine prozedurale Implementierung

4. Tests für losgelöste Logik5. Abnahme-Tests definieren

(Testprotokoll)6. Cut Over Plan (D Q P)7. Einsatz von ABAP Test Cockpit8. Reviews9. Tägliche Reflexion

Foto: Moritz Rösel / pixelio.de

Fazit und Lessons learned

�� Die Anzahl der Boards kann je nach Projekt variieren

�� Atlassian Jira Agile: erfüllt leider nicht alle benötigten Prozess-Schritte

�� Durch den Einsatz von ABAP Objects können wir flexibler auf Kundenwünsche und Änderungen reagieren: Wiederverwendbarkeit von Methoden und Klassen, zentrale Änderungen

�� ABAP Test Cockpit erleichtert das Arbeiten in größeren Teams durch Namenskonventionen und Metriken

�� Test-driven Development (TDD) ist nur mit größerem Aufwand möglich

�� Refactoring ist durch nicht vorhandene Tests und ohne Unterstützung durch SAP-Tools riskant

�� Eclipse und die darin vorhanden Tools erleichtern das Refactoring

SAP Software Engineering – live Agile!Agiles Projektmanagement und Clean Code im SAP-Umfeld

Vielen Dank für Ihre Aufmerksamkeit!

Ali KavehCertified Scrum MasterSolution Consultant SAP

+49 (0) 7732 9508-170ali.kaveh@sybit.de

Copyright-Hinweis

Wir nutzen neben eigenem Material auch Bilder von folgenden Quellen

nach Maßgabe der dort festgelegten Nutzungsbedingungen.

Falls wir irrtümlicherweise fremde Rechte verletzen, kontaktieren Sie

uns bitte umgehend, damit wir berechtigte Interessen wahren können.

Bildnachweise:

Moritz Rösel / pixelio.de

Rainer Sturm / pixelio.de

Recommended