Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte Best Practices aus unseren Projekten Dr. Stefan Igel Mainz, 13.05.2014
Agenda 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 2
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. TDWI: Memorandum für Agile Business Intelligence: http://www.tdwi.eu/wissen/agile-bi/memorandum/ 3
Agile BI und BI-Agilität Agiles Manifest 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. Agiles Manifest: http://www.agilemanifesto.org/ 4
Agile BI und BI-Agilität Memorandum für Agile Business Intelligence 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 TDWI: Memorandum für Agile Business Intelligence: http://www.tdwi.eu/wissen/agile-bi/memorandum/ 5
Agile BI und BI-Agilität Beschleunigter Paradigmen-Wechsel durch Big Data Historische Berichte!" Vorhersagen Optimierung der Time to Insights 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 Wieviel Agilität ist sinnvoll? Schnell, ausfallsicher, skalierbar Wartungsfreundlich Klassisches Vorgehen Investitions- und innovationssicher!! Report request! Agiles Vorgehen time to insights! Requirement Engineering! Data modeling! Implementation! refine question" verify answer" business goal! ask question" datamine answer" Delivery! http://www.inovex.de/big-data-ebook 7
Agile BI und BI-Agilität Einflußfaktoren: Wieviel darf es denn sein? Unternehmensfaktoren (Vision, Strategie, Kultur, Prozesse, Standards, Menschen) Umwelteinflüsse (Märkte, Gesetze) BI-Aufbauorganisation BI-Ablauforganisation/ Prozesse BI-Architektur Prinzipien Vorgehensmodelle Methoden Technologien TDWI: Memorandum für Agile Business Intelligence: http://www.tdwi.eu/wissen/agile-bi/memorandum/ 8
Agile Teams Data Scientist - The sexiest job of the 21. century * Statistik Machine Learning Data Mining IT Engineering Daten Architektur Software Engineering Visualisierung Business Analyst *http://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century/ www.vecteezy.com 9
Agile Teams Cross-functional Team aus spezialisierte Generalisten Statistik Machine Learning Data Mining IT Engineering Daten Architektur Software Engineering apt-get install Visualisierung Business Analyst # Business Intelligence Competency Center Class A extends Mapper # Agiles Projekt-Team ROI, $$, Bilder:: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-applicationdevelopment 10
Agiles Projektmanagement Scrum Fertige im Software Überblick im Zweiwochentakt... Die geordnete, abgeschätzte Liste aller Anforderungen an das zu entwickeln-de Produkt. Die im nächsten Sprint umzusetzenden 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. 11
Agiles Projektmanagement Rollen in Scrum Product Owner Team Scrum Master Bild Ken Schwaber: http://wikipedia.de 12
Agiles Projektmanagement Projektablauf konkret Release 0 Release 1 Release 2 Vision-Sprint Sprint 1 Sprint 2... 4 Wochen 2-3 Wochen 2-3 Wochen 2-3 Wochen Initiales Backlog Projekt- Infrastruktur Grob-Architektur Technischer Durchstich Datenquelle DWH ETL Datamart Cube Analyse/Report Datenquelle DWH ETL Datamart Cube Analyse/Report............ 13
Agiles Projektmanagement User Stories für das Product Backlog Auf Anwender-Nutzen fokussieren Vertikal statt horizontal arbeiten Akzeptanz-Kriterien formulieren Definition of Done beachten 14
Agiles Projektmanagement PM-Tools: Redmine 15
Agile BI Entwicklung Besonderheiten und Herausforderungen 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 16
Agile BI-Entwicklung Standardisiertes DWH Design Access Reporting Adhoc Queries Data Export DWH OLAP Cubes OLAP Cubes Relational Database Reporting Layer (Dependent Datamarts) Integration Layer (Core DWH) E T L Acquisition Layer (Staging Area) BI Source Systems Source Data Fileserver Replicated Source Data 17
Agile BI Entwicklung Tool Stack: BI Tool Suite plus RDBMS 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... Grafik: Pentaho Corporation 18#
Agile BI-Entwicklung Änderungsfreundliches Software Design Pattern 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 Beispiel: PDI Transformationen 19
Agile BI-Entwicklung Big Data: individuelles System Design Applications and Analytics" Batch Processing & Storage" Server" Systems Management" Transport & Speed" STORM! 20
Agiles Datacenter Management Paradigmenwechsel durch Big Data in der IT Scale-out!" Scale-up Shared-nothing Architecture!" Virtualisierung Commodity Hardware!" Enterprise Hardware Cloud Lösungen Andere Backup und Failover Strategien http://www.flickr.com/photos/dahlstroms/4083220012/" 21
Agiles Datacenter Management Open Source Datacenter Managment Deployment Lifecycle Mgmt. Foreman REST API CMDB Hosted Virtual Real Virtual Network Physical Network 22
Agiles Testen von BI und Big Data Lösungen Viele Rollen unterschiedliche Schwerpunkte Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-dataapplication-development Daten- Validierung Fachliche Tests DWH ETL-/ MR-Jobs Workflows Deployments 23
Agiles Testen von BI und Big Data Lösungen Herausforderungen von Test Driven BI?? Testdaten Verteilte Umgebung Reports bereitstellen (binäre) Datenformate validieren? DWH Modultests E2E-Tests Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-dataapplication-development 24
Agiles Testen von BI und Big Data Lösungen Testautomatisierung mit FitNesse ausführbare Wiki-Seiten (Test Ergebnisse als Rückgabewerte) (fast) natürlichsprachliche Test Spezifikation Verbindung zum SUT via (Java-) Fixtures fully integrated standalone wiki and acceptance testing framework Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-dataapplication-development 25
Agiles Testen von BI und Big Data Lösungen FitNesse Architektur Browser script! check! num results 3! FitNesse Server Fixtures public int numresults {... } System under Test # Aufruf von Java Methoden aus dem Wiki # Vergleich der Rückgabewerte # Integration mit REST, Jenkins Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-dataapplication-development 26
Agiles Testen von BI und Big Data Lösungen Testdaten 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 Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-dataapplication-development 27
Agiles Testen von BI und Big Data Lösungen Ein exemplarischer FitNesse Test Siehe: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development 28
Agiles Testen von BI und Big Data Lösungen FitNesse: Erweiterbar durch Fixtures Pig-Fixture DBSlim Xebium-Fixture Hadoop-Fixture Kettle-Fixture Shell-Fixture Git pull 29
Agiles Testen von BI und Big Data Lösungen Continuous Integration mit FitNesse 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
Agile Dokumentation Schnittstellen im Griff 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 Data Lineage automatisieren 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 Fragen des Betriebs beantworten 33
Agile BI-Entwicklung Änderungsfreundlichkeit durch Automatisierung Automatisierung der Integration Automatisierung der Tests Automatisierung der Deployments Automatisierung der Dokumentation http://de.wikipedia.org/wiki/hydraulis, Wasserorgel nach Heros von Alexandria 34
Agilität in BI Projekten Resume Scrum in BI- Projekten Schnittstellen- Management Agile BI- Entwicklung Agile BI Automatisierte Dokumentation Continuous Integration Data Driven Testing 36
37
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 38