Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

37
Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte Best Practices aus unseren Projekten Dr. Stefan Igel Mainz, 13.05.2014

description

BI- und Big-Data-Anwendungen haben ihre eigenen Herausforderungen in Entwicklung und Betrieb: Sie integrieren Daten aus diversen Vorsystemen mit entsprechend vielen Schnittstellen. Die beste Implementierung nutzt nichts, wenn die Datenqualität miserabel ist. Die Performance hängt massiv vom Datenvolumen ab, das erst in der Liveumgebung verfügbar ist. Agile Konzepte wie DevOps, TDD und Scrum liefern geeignete Ansätze, um diese Herausforderungen zu meistern. Ich möchte daher Best Practices vorstellen, wie sich agile Methoden in "Data-driven Applications" erfolgreich einsetzen lassen.

Transcript of Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

Page 1: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

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

Best Practices aus unseren Projekten

Dr. Stefan Igel Mainz, 13.05.2014

Page 2: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

2

1.  Agile BI und BI Agilität 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 in BI- und Big Data Projekten

3 TDWI: Memorandum für Agile Business Intelligence: http://www.tdwi.eu/wissen/agile-bi/memorandum/

Agile BI und BI-Agilität Definition des TDWI

BI-Agilität

Eigenschaft der BI, •  vorhersehbare oder

unvorhersehbare Anforderungen

•  in Bezug auf Funktionalität oder Inhalt einer BI-Lösung

•  in einem vorgegebenen Zeitrahmen mit angemessener Qualität abzubilden

Agile BI

Alle Maßnahmen eines Unternehmens, die durchgeführt werden, um BI-Agilität umzusetzen, werden unter dem Begriff „Agile Busienss Intelligence“ zusammengefaßt.

Page 4: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

Agiles Manifest: http://www.agilemanifesto.org/ 4

„Wir zeigen bessere Wege auf, Software zu entwickeln, indem wir es selbst tun und anderen dabei helfen, es zu tun. Durch unsere Arbeit sind wir zu folgender Erkenntnis gekommen:

‣  Menschen und Interaktionen sind wichtiger als Prozesse und Werkzeuge.

‣  Funktionierende Software ist wichtiger als umfassende Dokumentation.

‣  Zusammenarbeit mit dem Kunden ist wichtiger als die ursprünglich formulierten Leistungsbeschreibungen.

‣  Eingehen auf Veränderungen ist wichtiger als Festhalten an einem Plan.

Das heißt: obwohl die Punkte auf der rechten Seite durchaus wichtig sind, halten wir die Punkte links für wichtiger.“

Agile BI und BI-Agilität Agiles Manifest

Page 5: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

TDWI: Memorandum für Agile Business Intelligence: http://www.tdwi.eu/wissen/agile-bi/memorandum/ 5

‣  Werte und Prinzipien (TDWI), angelehnt an das Agile Manifest

‣  Unternehmensnutzen ist wichtiger als das Festhalten an Methoden und Architekturkonzepten

‣  Kontinuierliche Zusammenarbeit und Interaktion zwischen Anforderern und Umsetzern sind wichtiger als Prozesse und Werkzeuge

‣  Eingehen auf Veränderungen ist wichtiger als Festhalten an einem Plan

‣  Funktionierende BI-Lösungen sind wichtiger als detaillierte Spezifikation

Agile BI und BI-Agilität Memorandum für Agile Business Intelligence

Page 6: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

‣  Historische Berichte !" Vorhersagen

‣  Vordefinierte Aggregate !" Alle granulare Daten

‣  Strukturierte Daten !" Polystrukturierte Daten

‣  Schema-on-write !" Schema-on read

‣  Regelbewirtschaftung !" Ad-hoc Analysen

6

Agile BI und BI-Agilität Beschleunigter Paradigmen-Wechsel durch Big Data

Optimierung der „Time to Insights“

Page 7: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

7 http://www.inovex.de/big-data-ebook

Agile BI und BI-Agilität Wieviel Agilität ist sinnvoll? Schnell, ausfallsicher, skalierbar Wartungsfreundlich Investitions- und innovationssicher !!

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 8: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

8 TDWI: Memorandum für Agile Business Intelligence: http://www.tdwi.eu/wissen/agile-bi/memorandum/

Agile BI und BI-Agilität

Unternehmensfaktoren (Vision, Strategie, Kultur, Prozesse,

Standards, Menschen)

Umwelteinflüsse (Märkte, Gesetze)

Einflußfaktoren: Wieviel darf es denn sein?

BI-Aufbauorganisation BI-Ablauforganisation/Prozesse BI-Architektur

Prinzipien Vorgehens-modelle Methoden Technologien

Page 9: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

‣  Statistik ‣  Machine Learning

‣  Data Mining

‣  IT Engineering

‣  Daten Architektur

‣  Software Engineering

‣  Visualisierung

‣  Business Analyst

9

Agile Teams 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 10: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

‣  Statistik ‣  Machine Learning

‣  Data Mining

‣  IT Engineering

‣  Daten Architektur

‣  Software Engineering

‣  Visualisierung

‣  Business Analyst

#  Business Intelligence Competency Center

#  Agiles Projekt-Team

10

Agile Teams Cross-functional Team aus „spezialisierte Generalisten“

Bilder:: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development

Class A extends Mapper…

ROI, $$, …

apt-get install…

Page 11: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

11

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 12: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

12 Bild Ken Schwaber: http://wikipedia.de

Agiles Projektmanagement Rollen in Scrum

Scrum Master

Product Owner

Team

Page 13: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

13

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 14: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

‣  Auf Anwender-Nutzen fokussieren

‣  „Vertikal“ statt „horizontal“ arbeiten

‣  Akzeptanz-Kriterien formulieren

‣  Definition of Done beachten

14

Agiles Projektmanagement User Stories für das Product Backlog

Page 15: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

15

Agiles Projektmanagement PM-Tools: Redmine

Page 16: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

16

‣  Eingesetzte BI-Werkzeuge reglementieren Architektur und Entwicklung ‣  Häufig werden bestehende Systeme spezifisch erweitert

‣  Fehlende Kapselung erschwert Refactoring

‣  Historisierung der Bestandsdaten ist zu gewährleisten

‣  Viele Schnittstellen zu vielen Quellsystemen

‣  Abstimmungsbedarf

‣  Änderungshäufigkeit

‣  BI-Anwendung stiftet erst Nutzen, wenn sie die richtigen Ergebnisse liefert

‣  Unbekannte Datenqualität

‣  Funktionale Korrektheit ist nur ein Teilaspekt

‣  Testen und Validieren hängen stark von Daten ab

‣  E2E-Tests sind wichtiger als funktionale Unit-Tests

‣  Repräsentative Testdaten sind erforderlich

‣  Performance-Tests

Agile BI Entwicklung Besonderheiten und Herausforderungen

Page 17: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

17

Agile BI-Entwicklung Standardisiertes DWH Design

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

OLAP Cubes

OLAP Cubes

ETL

Page 18: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

‣  Pentaho – eine leistungsfähige, ausgereifte und stabile Open-Source-Lösung für BI-Anwendungen.

‣  Anbindung verschiedenster Datenquellen

‣  ETL mit PDI ‣  Reporting & Dashboards

‣  Interaktive Analysen ‣  Machine Learning

‣  Relationale Datenbank als DWH

‣  z.B. PostgreSQL

‣  ...

18#

Agile BI Entwicklung Tool Stack: BI Tool Suite plus RDBMS

Grafik: Pentaho Corporation

Page 19: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

‣  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

19

Agile BI-Entwicklung Änderungsfreundliches Software Design Pattern

Beispiel: PDI Transformationen

Page 20: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

20

Agile BI-Entwicklung Big Data: „individuelles“ System Design

Applicationsand Analytics"

Server"

Systems M

anagement"

Transport & Speed"

Batch Processing &Storage"

STORM!

Page 21: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

‣  Scale-out !" Scale-up

‣  Shared-nothing Architecture !" Virtualisierung

‣  Commodity Hardware !" Enterprise Hardware

‣  Cloud Lösungen

‣  Andere Backup und Failover Strategien

21

Agiles Datacenter Management Paradigmenwechsel durch Big Data in der IT

http://www.flickr.com/photos/dahlstroms/4083220012/"

Page 22: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

22

Agiles Datacenter Management

Physical Network

Virtual Network

HostedVirtual

RealForeman REST API

CMDB

Deployment

Lifecycle Mgm

t.

Open Source Datacenter Managment

Page 23: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

23 Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development

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 24: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

24 Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development

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 25: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

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

‣  (fast) natürlichsprachliche Test Spezifikation

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

25

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

Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development

„fully integrated standalone wiki and acceptance testing framework”

Page 26: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

26 Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development

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 27: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

‣  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

27

Agiles Testen von BI und Big Data Lösungen Testdaten

Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development

Page 28: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

28 Siehe: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development

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

Page 29: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

29

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

Hadoop-Fixture Kettle-Fixture

Xebium-Fixture

Pig-Fixture DBSlim

Shell-Fixture Git pull

Page 30: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

‣  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

30

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

Page 31: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

‣  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

31

Agile Dokumentation Schnittstellen im Griff

Page 32: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

‣  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

32

Agile Dokumentation Data Lineage automatisieren

Page 33: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

33

Agile Dokumentation Data Lineage automatisieren – Fragen des Betriebs beantworten

Page 34: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

‣  Automatisierung der Integration

‣  Automatisierung der Tests

‣  Automatisierung der Deployments

‣  Automatisierung der Dokumentation

34

Agile BI-Entwicklung Änderungsfreundlichkeit durch Automatisierung

http://de.wikipedia.org/wiki/Hydraulis, Wasserorgel nach Heros von Alexandria

Page 35: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

Agile BI

36

Scrum in BI-Projekten

Agile BI-Entwicklung

Continuous Integration

Data Driven Testing

Automatisierte Dokumentation

Schnittstellen-Management

Agilität in BI Projekten Resume

Page 36: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

37

Page 37: Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

38

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]