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

SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

  • Upload
    vophuc

  • View
    248

  • Download
    2

Embed Size (px)

Citation preview

Page 1: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

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

Page 2: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

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

Page 3: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Ziele des Vortrags

MotivationUnsere Ziele:

Page 4: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Von prozeduraler Programmierung …

Page 5: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

… zu Clean Code mit ABAP (OO)

Page 6: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Hilfreiche Regeln

Foto

: Mor

itz

Rös

el /

pix

elio

.de

Page 7: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Erfahrung

Page 8: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Die Herausforderung:

Unsere SAP-Projekt- landschaft

�� Beratungsprojekte

�� Einführungsprojekte

�� Supportprojekte

�� usw.

Page 9: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

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

Page 10: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

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

Page 11: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Kanban-Boards: Planning-Board

Page 12: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Kanban-Boards: Implementation-Board

Page 13: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Kanban-Boards: Project-Board

Page 14: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Kanban-Boards: Testing-Board

Page 15: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

„Wir haben Spezialisten“ „Jeder kann alles“

Agiler Ansatz in Projektteams

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

Page 16: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Klassische ABAP Entwicklung

Page 17: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Durch den prozeduralen Wald

Page 18: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Klassische Entwicklung ABAP Objects

Page 19: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Der Weg zum agilen Entwickeln:

Clean Code Initiative

Foto

: Rai

ner S

turm

/ p

ixel

io.d

e

Page 20: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Klassische ABAP-Entwicklung

Prozedurale Programmierung

ABAP Objects (OO)

Page 21: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

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

Kann man diese Prinzipien und

Praktiken auch in ABAP einsetzen?

Ja, aber …

Page 22: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Clean Code Workshop: roter Grad

Page 23: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Clean Code Workshop: oranger Grad

Page 24: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Clean Code Workshop: gelber Grad

Page 25: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Clean Code Workshop: grüner Grad

Page 26: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Continuous Integration

Page 27: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Clean Code Workshop: grüner Grad

Page 28: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

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

Page 29: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

ABAP Test Cockpit

Statische Codeanalyse

Page 30: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

ABAP Test Cockpit

Statische Codeanalyse (Metriken)

Page 31: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Clean Code Workshop: grüner Grad

Page 32: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

Clean Code Workshop: blauer Grad

Page 33: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

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

Page 34: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

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

Page 35: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

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

Page 36: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

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 [email protected]

Page 37: SAP Software Engineering – live Agile! · PDF fileSAP Software Engineering – live Agile! SAP Software Engineering – live Agile!Ali Kaveh Certified Scrum Master Solution Consultant

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