Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte
Best Practices aus unseren Projekten
Dr. Stefan Igel
Mainz, ...
2
1.  Agile BI und BI Agilität
2.  Agile Teams
3.  Agil BI-Projekte managen
4.  Agile BI-Lösungen entwickeln
5.  Agil test...
3TDWI: Memorandum für Agile Business Intelligence: http://www.tdwi.eu/wissen/agile-bi/memorandum/
Agile BI und BI-Agilität...
Agiles Manifest: http://www.agilemanifesto.org/ 4
„Wir zeigen bessere Wege auf, Software zu entwickeln, indem wir es selbs...
TDWI: Memorandum für Agile Business Intelligence: http://www.tdwi.eu/wissen/agile-bi/memorandum/ 5
‣  Werte und Prinzipien...
‣  Historische Berichte !" Vorhersagen
‣  Vordefinierte Aggregate !"
Alle granulare Daten
‣  Strukturierte Daten !"
Polyst...
7http://www.inovex.de/big-data-ebook
Agile BI und BI-Agilität
Wieviel Agilität ist sinnvoll?
Schnell, ausfallsicher, skali...
8TDWI: Memorandum für Agile Business Intelligence: http://www.tdwi.eu/wissen/agile-bi/memorandum/
Agile BI und BI-Agilität...
‣  Statistik
‣  Machine Learning
‣  Data Mining
‣  IT Engineering
‣  Daten Architektur
‣  Software Engineering
‣  Visualis...
‣  Statistik
‣  Machine Learning
‣  Data Mining
‣  IT Engineering
‣  Daten Architektur
‣  Software Engineering
‣  Visualis...
11
Fertige Software im Zweiwochentakt...
Die geordnete,
abgeschätzte Liste aller
Anforderungen an das
zu entwickeln-de
Pro...
12Bild Ken Schwaber: http://wikipedia.de
Agiles Projektmanagement
Rollen in Scrum
Scrum Master
Product Owner
Team
13
Vision-Sprint
4 Wochen
•  Initiales Backlog
•  Projekt-
Infrastruktur
•  Grob-Architektur
•  Technischer
Durchstich
Spr...
‣  Auf Anwender-Nutzen fokussieren
‣  „Vertikal“ statt „horizontal“ arbeiten
‣  Akzeptanz-Kriterien formulieren
‣  Definit...
15
Agiles Projektmanagement
PM-Tools: Redmine
16
‣  Eingesetzte BI-Werkzeuge reglementieren Architektur und Entwicklung
‣  Häufig werden bestehende Systeme spezifisch e...
17
Agile BI-Entwicklung
Standardisiertes DWH Design
BI Source
Systems
Source Data
Fileserver Replicated
Source Data
DWH
Ac...
‣  Pentaho – eine leistungsfähige,
ausgereifte und stabile Open-Source-
Lösung für BI-Anwendungen.
‣  Anbindung verschiede...
‣  ETL als kleine, modulare Einheiten (PDI:
Jobs, Transformationen) entwickeln
‣  Datenbank-Änderungen pro Release als
ALT...
20
Agile BI-Entwicklung
Big Data: „individuelles“ System Design
Applications

and

Analytics"
Server"
SystemsManagement"
T...
‣  Scale-out !" Scale-up
‣  Shared-nothing Architecture !"
Virtualisierung
‣  Commodity Hardware !"
Enterprise Hardware
‣ ...
22
Agiles Datacenter Management
Physical Network
Virtual Network
HostedVirtualReal
Foreman REST API
CMDB
DeploymentLifecyc...
23
Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-
applic...
24
Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-
applic...
‣  „ausführbare“ Wiki-Seiten
(Test Ergebnisse als Rückgabewerte)
‣  (fast) natürlichsprachliche
Test Spezifikation
‣  Verb...
26
Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-
applic...
‣  Synthetische Daten
‣  Definition in FitNesse-Wiki
‣  Quellen (Files, DBs, ...)
‣  Formate (CSV, Thrift, Avro, ... )
‣  ...
28Siehe: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-dev...
29
Agiles Testen von BI und Big Data Lösungen
FitNesse: Erweiterbar durch Fixtures
Hadoop-Fixture
Kettle-Fixture
Xebium-Fi...
‣  Tests können zu Test-Suites
zusammengefasst werden
‣  Nächtliche Ausführung einplanen
‣  Integrationssystem aktualisier...
‣  BI-Projekte haben typischerweise viele
Schnittstellen
‣  Mittlerweile oft parallele Entwicklung von
Quellsystem und BI-...
‣  Dokumentation so nah wie
möglich am Artefakt
‣  DB-Kommentare
‣  Kommentare in Kettle
‣  Dokumentation generieren
‣  Ke...
33
Agile Dokumentation
Data Lineage automatisieren – Fragen des Betriebs beantworten
‣  Automatisierung der Integration
‣  Automatisierung der Tests
‣  Automatisierung der Deployments
‣  Automatisierung der ...
Agile BI
36
Scrum in BI-
Projekten
Agile BI-
Entwicklung
Continuous
Integration
Data Driven
Testing
Automatisierte
Dokumen...
37
38
Vielen Dank für Ihre Aufmerksamkeit
Kontakt
Dr. Stefan Igel
Head of Big Data Solutions
inovex GmbH
Office Karlsruhe
Lud...
Nächste SlideShare
Wird geladen in …5
×

Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

726 Aufrufe

Veröffentlicht am

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.

Veröffentlicht in: Technologie
0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
726
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
11
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 12. 12Bild Ken Schwaber: http://wikipedia.de Agiles Projektmanagement Rollen in Scrum Scrum Master Product Owner Team
  13. 13. 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 2Release 1
  14. 14. ‣  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
  15. 15. 15 Agiles Projektmanagement PM-Tools: Redmine
  16. 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. 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. 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
  19. 19. ‣  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
  20. 20. 20 Agile BI-Entwicklung Big Data: „individuelles“ System Design Applications
 and
 Analytics" Server" SystemsManagement" Transport &
 Speed" Batch
 Processing &
 Storage" STORM!
  21. 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/"
  22. 22. 22 Agiles Datacenter Management Physical Network Virtual Network HostedVirtualReal Foreman REST API CMDB DeploymentLifecycleMgmt.Open Source Datacenter Managment
  23. 23. 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
  24. 24. 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
  25. 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”
  26. 26. 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…
  27. 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
  28. 28. 28Siehe: 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
  29. 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. 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. 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. 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
  33. 33. 33 Agile Dokumentation Data Lineage automatisieren – Fragen des Betriebs beantworten
  34. 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. 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
  36. 36. 37
  37. 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

×