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

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

on

  • 231 views

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

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.

Statistics

Views

Total Views
231
Views on SlideShare
231
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte Best Practices aus unseren Projekten Dr. Stefan Igel Karlsruhe, 20.02.2014
  • 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
  • ‣  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
  • 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
  • ‣  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
  • ‣  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 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 Agiles Projektmanagement Rollen in Scrum Scrum Master Product Owner Team
  • 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
  • ‣  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 Agiles Projektmanagement PM-Tools: Redmine
  • ‣  Automatisierung der Integration ‣  Automatisierung der Tests ‣  Automatisierung der Deployments ‣  Automatisierung der Dokumentation 12 Agile BI-Entwicklung Änderungsfreundlichkeit durch Automatisierung
  • 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 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
  • ‣  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 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 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
  • ‣  „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 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…
  • ‣  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 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-Fixture Pig-Fixture DBSlim Shell-Fixture Git pull
  • ‣  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
  • ‣  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
  • ‣  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 Scrum in BI- Projekten Agile BI- Entwicklung Continuous Integration Data Driven Testing Automatisierte Dokumentation Schnittstellen- Management Agilität in BI Projekten Resume
  • 27
  • 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