Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte
Best Practices aus unseren Projekten
Dr. Stefan Igel
Karlsru...
2
1.  Agile Ziele
2.  Agile Teams
3.  Agil BI-Projekte managen
4.  Agile BI-Lösungen entwickeln
5.  Agil testen
6.  Agil d...
‣  Regelbewirtschaftung vs.
Ad-hoc Analysen
‣  Strukturierte vs.
semi- und unstrukturierte Daten
‣  Aggregate vs.
Rohdaten...
KEFs für BI-Lösungen
‣  Adaptiv und flexibel
‣  Schnell, ausfallsicher, skalierbar
‣  Wartungsfreundlich
‣  Investitions- ...
‣  Statistik
‣  Mathematik
‣  Machine Learning
‣  Data Mining
‣  IT Engineering
‣  Daten Architektur
‣  Software Engineeri...
‣  Statistik
‣  Mathematik
‣  Machine Learning
‣  Data Mining
‣  IT Engineering
‣  Daten Architektur
‣  Software Engineeri...
7
Fertige Software im Zweiwochentakt...
Die geordnete,
abgeschätzte Liste
aller Anforderungen
an das zu entwickeln-
de Pro...
8
Agiles Projektmanagement
Rollen in Scrum
Scrum Master
Product Owner
Team
9
Vision-Sprint
4 Wochen
•  Initiales Backlog
•  Projekt-
Infrastruktur
•  Grob-Architektur
•  Technischer
Durchstich
Spri...
‣  Auf Anwender-Nutzen fokussieren
‣  „Vertikal“ statt „horizontal“ erzählen
‣  Akzeptanz-Kriterien formulieren
‣  Definit...
11
Agiles Projektmanagement
PM-Tools: Redmine
‣  Automatisierung der Integration
‣  Automatisierung der Tests
‣  Automatisierung der Deployments
‣  Automatisierung der ...
13
Agile BI-Entwicklung
DWH-Architektur
BI Source
Systems
Source Data
Fileserver Replicated
Source Data
DWH
Access
Reporti...
14
Agile BI-Entwicklung
Big Data Architektur: Make your Choice!
Applications

and

Analytics"
Server"
SystemsManagement"
T...
‣  ETL als kleine, modulare Einheiten
(PDI: Jobs, Transformationen)
entwickeln
‣  Datenbank-Änderungen pro Release
als ALT...
16
Agiles Testen von BI und Big Data Lösungen
Viele Rollen – unterschiedliche Schwerpunkte
Fachliche
Tests
Daten-
Validier...
17
Agiles Testen von BI und Big Data Lösungen
Herausforderungen von „Test Driven BI“
DWH
Testdaten
bereitstellen
? Verteil...
‣  „ausführbare“ Wiki-Seiten
(Test Ergebnisse als Rückgabewerte)
‣  (fast) natürlichsprachliche
Test Spezifikation
‣  Verb...
19
Agiles Testen von BI und Big Data Lösungen
FitNesse Architektur
script | !
check | !
num results |
3 |!
Browse
r
FitNes...
‣  Synthetische Daten
‣  Definition in FitNesse-Wiki
‣  Quellen (Files, DBs, ...)
‣  Formate (CSV, Thrift, Avro, ... )
‣  ...
21
Agiles Testen von BI und Big Data Lösungen
Ein exemplarischer FitNesse Test
22
Agiles Testen von BI und Big Data Lösungen
FitNesse: Erweiterbar durch Fixtures
Hadoop-Fixture
Kettle-Fixture
Kettle-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...
26
Scrum in BI-
Projekten
Agile BI-
Entwicklung
Continuous
Integration
Data Driven
Testing
Automatisierte
Dokumentation
Sc...
27
28
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 für BI und Big Data Projekte

1.011 Aufrufe

Veröffentlicht am

Datengetriebene Anwendungssysteme wie Business Intelligence oder Big Data Lösungen haben ihre ganz eigenen Herausforderungen sowohl in der Entwicklung als auch im Betrieb:

BI- und Big Data Anwendungen integrieren in der Regel Informationen aus vielen verschiedenen Vorsystemen und habe entsprechend viele Schnittstellen. Die beste Implementierung liefert keinen Nutzen, wenn die Datenqualität nicht das hält, was sie verspricht. Die Performance der Anwendungen hängt massiv vom Datenvolumen ab, das in Entwicklungs- und Testumgebungen nicht zur Verfügung steht.

Agile Konzepte wie DevOps, Test Driven Deveolpment und Scrum liefern hervorragend geeignete methodische Ansätze, um diesen Herausforderungen erfolgreich zu begegnen. In diesem Vortrag möchte ich einige Best Practices vorstellen, wie sich diese agilen Methoden in „Data-driven Applications“ erfolgreich einsetzen lassen und wie Open Source Werkzeuge uns in unseren Projekten dabei unterstützen.

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

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.011
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
8
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

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

  1. 1. Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte Best Practices aus unseren Projekten Dr. Stefan Igel Karlsruhe, 20.02.2014
  2. 2. 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
  3. 3. ‣  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
  4. 4. 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“ !! timetoinsights! Report request! Data modeling! Implementation! Delivery! Requirement Engineering! ask question" datamine answer" verify answer" refine question" business goal! Klassisches Vorgehen Agiles Vorgehen
  5. 5. ‣  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
  6. 6. ‣  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…
  7. 7. 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
  8. 8. 8 Agiles Projektmanagement Rollen in Scrum Scrum Master Product Owner Team
  9. 9. 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 2Release 1
  10. 10. ‣  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
  11. 11. 11 Agiles Projektmanagement PM-Tools: Redmine
  12. 12. ‣  Automatisierung der Integration ‣  Automatisierung der Tests ‣  Automatisierung der Deployments ‣  Automatisierung der Dokumentation 12 Agile BI-Entwicklung Änderungsfreundlichkeit durch Automatisierung
  13. 13. 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
  14. 14. 14 Agile BI-Entwicklung Big Data Architektur: Make your Choice! Applications
 and
 Analytics" Server" SystemsManagement" Transport &
 Speed" Batch
 Processing &
 Storage" STORM! !  Extrem hoher Innovationsgrad !  System-Design individuell
  15. 15. ‣  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
  16. 16. 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
  17. 17. 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
  18. 18. ‣  „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”
  19. 19. 19 Agiles Testen von BI und Big Data Lösungen FitNesse Architektur script | ! check | ! num results | 3 |! Browse r FitNesse Server public int numResults { ... } System under Test Fixture s !  Aufruf von Java Methoden „aus dem Wiki“ !  Vergleich der Rückgabewerte !  Integration mit REST, Jenkins…
  20. 20. ‣  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
  21. 21. 21 Agiles Testen von BI und Big Data Lösungen Ein exemplarischer FitNesse Test
  22. 22. 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
  23. 23. ‣  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
  24. 24. ‣  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
  25. 25. ‣  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
  26. 26. 26 Scrum in BI- Projekten Agile BI- Entwicklung Continuous Integration Data Driven Testing Automatisierte Dokumentation Schnittstellen- Management Agilität in BI Projekten Resume
  27. 27. 27
  28. 28. 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 Stefan.igel@inovex.de

×