Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

28
Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte Best Practices aus unseren Projekten Dr. Stefan Igel Karlsruhe, 20.02.2014

Transcript of Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

Page 1: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

Best Practices aus unseren Projekten

Dr. Stefan Igel Karlsruhe, 20.02.2014

Page 2: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

2

1.  Agile Ziele 2.  Agile Teams

3.  Agil BI-Projekte managen

4.  Agile BI-Lösungen entwickeln

5.  Agil testen

6.  Agil dokumentieren

Agenda

Page 3: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

‣  Regelbewirtschaftung vs. Ad-hoc Analysen

‣  Strukturierte vs. semi- und unstrukturierte Daten

‣  Aggregate vs. Rohdaten

3

Ziele Agiler Business Intelligence Analysen in BI und Big Data

Page 4: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

KEFs für BI-Lösungen ‣  Adaptiv und flexibel

‣  Schnell, ausfallsicher, skalierbar

‣  Wartungsfreundlich

‣  Investitions- und innovationssicher

4

Ziele Agiler Business Intelligence Optimierung der „Time to Insights“

!!

time to insights

!

Report request!

Data modeling!

Implementation!

Delivery!

Requirement Engineering!

ask question"

datamine answer"

verify answer"

refine question"

business goal!

Klassisches Vorgehen Agiles Vorgehen

Page 5: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

‣  Statistik ‣  Mathematik

‣  Machine Learning

‣  Data Mining

‣  IT Engineering

‣  Daten Architektur

‣  Software Engineering

‣  Visualisierung

‣  Business Analyst

5

Das Agile Team Data Scientist - The „ sexiest job of the 21. century“ *

*http://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century/ www.vecteezy.com

Page 6: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

‣  Statistik ‣  Mathematik

‣  Machine Learning

‣  Data Mining

‣  IT Engineering

‣  Daten Architektur

‣  Software Engineering

‣  Visualisierung

‣  Business Analyst

6

Das Agile Team Cross-functional

Class A extends Mapper…

ROI, $$, …

apt-get install…

Page 7: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

7

Fertige Software im Zweiwochentakt...

Die geordnete, abgeschätzte Liste aller Anforderungen an das zu entwickeln-de Produkt.

Die im nächsten Sprint umzusetzen-den Anforderungen, nebst einem Plan wie dies zu tun ist.

Abarbeitung des Sprintbacklogs mit tagesaktueller Transparenz über den Fortschritt.

Sprintergebnis: Potentiell an den Kunden ausliefer-bare Version des Produkts.

Agiles Projektmanagement Scrum im Überblick

Page 8: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

8

Agiles Projektmanagement Rollen in Scrum

Scrum Master

Product Owner

Team

Page 9: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

9

Vision-Sprint 4 Wochen

•  Initiales Backlog •  Projekt-

Infrastruktur •  Grob-Architektur •  Technischer

Durchstich

Sprint 1 2-3 Wochen

•  Datenquelle •  DWH •  ETL •  Datamart •  Cube •  Analyse/Report

Sprint 2 2-3 Wochen

•  Datenquelle •  DWH •  ETL •  Datamart •  Cube •  Analyse/Report

... 2-3 Wochen

•  ... •  ... •  ... •  ...

Agiles Projektmanagement Projektablauf konkret

Release 0 Release 2 Release 1

Page 10: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

‣  Auf Anwender-Nutzen fokussieren

‣  „Vertikal“ statt „horizontal“ erzählen

‣  Akzeptanz-Kriterien formulieren

‣  Definition of Done beachten

10

Agiles Projektmanagement User Stories für das Product Backlog

Page 11: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

11

Agiles Projektmanagement PM-Tools: Redmine

Page 12: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

‣  Automatisierung der Integration

‣  Automatisierung der Tests

‣  Automatisierung der Deployments

‣  Automatisierung der Dokumentation

12

Agile BI-Entwicklung Änderungsfreundlichkeit durch Automatisierung

Page 13: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

13

Agile BI-Entwicklung DWH-Architektur

BI Source Systems Source Data

Fileserver Replicated Source Data

DWH

Access Reporting

Relational Database

Reporting Layer (Dependent Datamarts)

Integration Layer (Core DWH)

Acquisition Layer (Staging Area)

Adhoc Queries Data Export

4. Bereitstellen 3. Transformieren 2. Speichern 1. Importieren

!  Etablierte Design-Pattern !  Standardidsiert

Page 14: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

14

Agile BI-Entwicklung Big Data Architektur: Make your Choice!

Applicationsand Analytics"

Server"

Systems M

anagement"

Transport &Speed"

Batch Processing & Storage"

STORM!

!  Extrem hoher Innovationsgrad !  System-Design individuell

Page 15: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

‣  ETL als kleine, modulare Einheiten (PDI: Jobs, Transformationen) entwickeln

‣  Datenbank-Änderungen pro Release als ALTER TABLE implementieren

‣  Fein-granular versionieren, Quellcode-Repository verwenden (z.B. git)

‣  Continuous Integration:Täglich einchecken, nächtlich integrieren

‣  Hinreichende Testabdeckung sicherstellen

15

Agile BI-Entwicklung Änderungsfreundliches Software Design Pattern

Beispiel: PDI Transformationen

Page 16: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

16

Agiles Testen von BI und Big Data Lösungen Viele Rollen – unterschiedliche Schwerpunkte

Fachliche Tests

Daten-Validierung

Workflows Deploy-ments

ETL-/ MR-Jobs

DWH

Page 17: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

17

Agiles Testen von BI und Big Data Lösungen Herausforderungen von „Test Driven BI“

DWH

Testdaten bereitstellen ? Verteilte Umgebung

(binäre) Datenformate ? Reports validieren ?

Modultests

E2E-Tests

Page 18: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

‣  „ausführbare“ Wiki-Seiten (Test Ergebnisse als Rückgabewerte)

‣  (fast) natürlichsprachliche Test Spezifikation

‣  Verbindung zum SUT via (Java-)“Fixtures“

18

Agiles Testen von BI und Big Data Lösungen Testautomatisierung mit FitNesse

„fully integrated standalone wiki and acceptance testing framework”

Page 19: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

19

Agiles Testen von BI und Big Data Lösungen FitNesse Architektur

script | !check | !num results | 3 |!

Browser

FitNesse Server

public int numResults { ... }

System under Test

Fixtures

!  Aufruf von Java Methoden „aus dem Wiki“ !  Vergleich der Rückgabewerte !  Integration mit REST, Jenkins…

Page 20: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

‣  Synthetische Daten ‣  Definition in FitNesse-Wiki

‣  Quellen (Files, DBs, ...)

‣  Formate (CSV, Thrift, Avro, ... )

‣  Reale Daten ‣  Zufällige oder verzerrte

Stichproben, z. B. eines Tages

‣  Feedback Schleife: ‣  Spezial- bzw. Fehlerfälle aus den

realen Daten identifizieren

‣  In synthetische Testdatenmenge aufnehmen

‣  Inkrementelle Erhöhung der Testabdeckung

20

Agiles Testen von BI und Big Data Lösungen Testdaten

Page 21: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

21

Agiles Testen von BI und Big Data Lösungen Ein exemplarischer FitNesse Test

Page 22: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

22

Agiles Testen von BI und Big Data Lösungen FitNesse: Erweiterbar durch Fixtures

Hadoop-Fixture Kettle-Fixture

Kettle-Fixture

Pig-Fixture DBSlim

Shell-Fixture Git pull

Page 23: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

‣  Tests können zu Test-Suites zusammengefasst werden

‣  Nächtliche Ausführung einplanen

‣  Integrationssystem aktualisieren

‣  Git pull

‣  DDLs (*.sql) mit DB-Deploy ausführen

‣  Pentaho Files kopieren

‣  ETL (*.kjb, *.ktr) Files

‣  Cubes (*.mondrian)

‣  Reports (*.prpt, *.analyzer)

‣  Ggf. Testdaten aktualisieren

‣  Tests ausführen

23

Agiles Testen von BI und Big Data Lösungen Continuous Integration mit FitNesse

Page 24: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

‣  BI-Projekte haben typischerweise viele Schnittstellen

‣  Mittlerweile oft parallele Entwicklung von Quellsystem und BI-System

‣  Basis für Entwicklung und Synthetische Testdaten

‣  Inhalt

‣  Gesamtkontext

‣  Fachliche Spezifikation

‣  IT-Technische Spezifikation

‣  Betriebskonzept (OSLA)

‣  inkrementelle Fortschreibung

24

Agile Dokumentation Schnittstellen im Griff

Page 25: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

‣  Dokumentation so nah wie möglich am Artefakt

‣  DB-Kommentare

‣  Kommentare in Kettle

‣  Dokumentation generieren

‣  Kettle-Step für ETL-Dokumentation

‣  Kettle-Jobs/Transformationen

‣  Systemtabellen auslesen

‣  Pentaho XML-Files (*.kjb, *.ktr, *.mondrian, *.prpt, *.analyzer) auswerten

‣  Schnittstellen-Dok auswerten

25

Agile Dokumentation Data Lineage automatisieren

Page 26: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

26

Scrum in BI-Projekten

Agile BI-Entwicklung

Continuous Integration

Data Driven Testing

Automatisierte Dokumentation

Schnittstellen-Management

Agilität in BI Projekten Resume

Page 27: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

27

Page 28: Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte

28

Vielen Dank für Ihre Aufmerksamkeit

Kontakt Dr. Stefan Igel Head of Big Data Solutions inovex GmbH Office Karlsruhe Ludwig-Erhard-Allee 6 D-76131 Karlsruhe +49 173 3181030 [email protected]