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.
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten
1. Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte
Best Practices aus unseren Projekten
Dr. Stefan Igel
Mainz, 13.05.2014
2. 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
3. 3TDWI: 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.
4. 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
5. 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
6. ‣ 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“
7. 7http://www.inovex.de/big-data-ebook
Agile BI und BI-Agilität
Wieviel Agilität ist sinnvoll?
Schnell, ausfallsicher, skalierbar
Wartungsfreundlich
Investitions- und innovationssicher!!
timetoinsights!
Report request!
Data modeling!
Implementation!
Delivery!
Requirement
Engineering!
ask
question"
datamine
answer"
verify
answer"
refine
question"
business goal!
Klassisches Vorgehen Agiles Vorgehen
8. 8TDWI: 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
9. ‣ 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
10. ‣ 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…
11. 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
12. 12Bild Ken Schwaber: http://wikipedia.de
Agiles Projektmanagement
Rollen in Scrum
Scrum Master
Product Owner
Team
16. 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
17. 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
E
T
L
18. ‣ 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
20. 20
Agile BI-Entwicklung
Big Data: „individuelles“ System Design
Applications
and
Analytics"
Server"
SystemsManagement"
Transport &
Speed"
Batch
Processing &
Storage"
STORM!
21. ‣ 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/"
25. ‣ „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”
27. ‣ 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
29. 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
30. ‣ 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
31. ‣ 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
32. ‣ 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
34. ‣ 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
35. 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
37. 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
Stefan.igel@inovex.de