SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

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

BATbern52 SBB zu Data Products und Knacknüsse
BATbern52 SBB zu Data Products und KnacknüsseBATbern52 SBB zu Data Products und Knacknüsse
BATbern52 SBB zu Data Products und KnacknüsseBATbern
 
Dv 20 sdlc_oss_automation
Dv 20 sdlc_oss_automationDv 20 sdlc_oss_automation
Dv 20 sdlc_oss_automationTorsten Glunde
 
Reporting & Business Intelligence
Reporting & Business IntelligenceReporting & Business Intelligence
Reporting & Business IntelligenceInnovabee GmbH
 
Didi rueetschi business intelligence power hour
Didi rueetschi business intelligence   power hourDidi rueetschi business intelligence   power hour
Didi rueetschi business intelligence power hourDigicomp Academy AG
 
Jens Bleiholder und Rico Grossmann Unterstützung agiler Vorgehensmodelle du...
Jens Bleiholder und Rico Grossmann   Unterstützung agiler Vorgehensmodelle du...Jens Bleiholder und Rico Grossmann   Unterstützung agiler Vorgehensmodelle du...
Jens Bleiholder und Rico Grossmann Unterstützung agiler Vorgehensmodelle du...Stephan Trahasch
 
worldiety GmbH - Datenanalyse
worldiety GmbH - Datenanalyse worldiety GmbH - Datenanalyse
worldiety GmbH - Datenanalyse worldiety GmbH
 
Big Data Konnektivität
Big Data KonnektivitätBig Data Konnektivität
Big Data KonnektivitätTrivadis
 
Modellierung agliler Data Warehouses mit Data Vault
Modellierung agliler Data Warehouses mit Data VaultModellierung agliler Data Warehouses mit Data Vault
Modellierung agliler Data Warehouses mit Data VaultTrivadis
 
Modellierung agiler Data Warehouses mit Data Vault Dani Schnider
Modellierung agiler Data Warehouses mit Data Vault Dani SchniderModellierung agiler Data Warehouses mit Data Vault Dani Schnider
Modellierung agiler Data Warehouses mit Data Vault Dani SchniderDésirée Pfister
 
Schulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BWSchulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BWA. LE
 
Data Governance: Problemfelder in der Umsetzung von BI-Initiativen und Lesson...
Data Governance: Problemfelder in der Umsetzung von BI-Initiativen und Lesson...Data Governance: Problemfelder in der Umsetzung von BI-Initiativen und Lesson...
Data Governance: Problemfelder in der Umsetzung von BI-Initiativen und Lesson...Daniel Eiduzzis
 
Datenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBaseDatenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBaseBenjamin Schmid
 
Big Data Discovery + Analytics = Datengetriebene Innovation!
Big Data Discovery + Analytics = Datengetriebene Innovation!Big Data Discovery + Analytics = Datengetriebene Innovation!
Big Data Discovery + Analytics = Datengetriebene Innovation!Harald Erb
 
Data Lake Architektur: Von den Anforderungen zur Technologie
Data Lake Architektur: Von den Anforderungen zur TechnologieData Lake Architektur: Von den Anforderungen zur Technologie
Data Lake Architektur: Von den Anforderungen zur TechnologieJens Albrecht
 
Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)
Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)
Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)Praxistage
 
Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...
Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...
Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...Andreas Jung
 

Ähnlich wie Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte (20)

BATbern52 SBB zu Data Products und Knacknüsse
BATbern52 SBB zu Data Products und KnacknüsseBATbern52 SBB zu Data Products und Knacknüsse
BATbern52 SBB zu Data Products und Knacknüsse
 
Dv 20 sdlc_oss_automation
Dv 20 sdlc_oss_automationDv 20 sdlc_oss_automation
Dv 20 sdlc_oss_automation
 
Reporting & Business Intelligence
Reporting & Business IntelligenceReporting & Business Intelligence
Reporting & Business Intelligence
 
Agiles Enterprise Big Data Testmanagement
Agiles Enterprise Big Data TestmanagementAgiles Enterprise Big Data Testmanagement
Agiles Enterprise Big Data Testmanagement
 
Didi rueetschi business intelligence power hour
Didi rueetschi business intelligence   power hourDidi rueetschi business intelligence   power hour
Didi rueetschi business intelligence power hour
 
Jens Bleiholder und Rico Grossmann Unterstützung agiler Vorgehensmodelle du...
Jens Bleiholder und Rico Grossmann   Unterstützung agiler Vorgehensmodelle du...Jens Bleiholder und Rico Grossmann   Unterstützung agiler Vorgehensmodelle du...
Jens Bleiholder und Rico Grossmann Unterstützung agiler Vorgehensmodelle du...
 
worldiety GmbH - Datenanalyse
worldiety GmbH - Datenanalyse worldiety GmbH - Datenanalyse
worldiety GmbH - Datenanalyse
 
Big Data Konnektivität
Big Data KonnektivitätBig Data Konnektivität
Big Data Konnektivität
 
Modellierung agliler Data Warehouses mit Data Vault
Modellierung agliler Data Warehouses mit Data VaultModellierung agliler Data Warehouses mit Data Vault
Modellierung agliler Data Warehouses mit Data Vault
 
Modellierung agiler Data Warehouses mit Data Vault Dani Schnider
Modellierung agiler Data Warehouses mit Data Vault Dani SchniderModellierung agiler Data Warehouses mit Data Vault Dani Schnider
Modellierung agiler Data Warehouses mit Data Vault Dani Schnider
 
Agile BI in der Praxis - Agiles Testen
Agile BI in der Praxis - Agiles TestenAgile BI in der Praxis - Agiles Testen
Agile BI in der Praxis - Agiles Testen
 
Agile BI in der Praxis - DevOps4BI
Agile BI in der Praxis - DevOps4BIAgile BI in der Praxis - DevOps4BI
Agile BI in der Praxis - DevOps4BI
 
Schulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BWSchulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BW
 
Data Governance: Problemfelder in der Umsetzung von BI-Initiativen und Lesson...
Data Governance: Problemfelder in der Umsetzung von BI-Initiativen und Lesson...Data Governance: Problemfelder in der Umsetzung von BI-Initiativen und Lesson...
Data Governance: Problemfelder in der Umsetzung von BI-Initiativen und Lesson...
 
Datenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBaseDatenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBase
 
Big Data Discovery + Analytics = Datengetriebene Innovation!
Big Data Discovery + Analytics = Datengetriebene Innovation!Big Data Discovery + Analytics = Datengetriebene Innovation!
Big Data Discovery + Analytics = Datengetriebene Innovation!
 
Data Lake Architektur: Von den Anforderungen zur Technologie
Data Lake Architektur: Von den Anforderungen zur TechnologieData Lake Architektur: Von den Anforderungen zur Technologie
Data Lake Architektur: Von den Anforderungen zur Technologie
 
Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)
Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)
Gerhard Jungwirth (mobilkom austria), Andreas Icha (Aschauer EDV)
 
Webinar big data für unternehmen
Webinar big data für unternehmenWebinar big data für unternehmen
Webinar big data für unternehmen
 
Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...
Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...
Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...
 

Mehr von inovex GmbH

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegeninovex GmbH
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIinovex GmbH
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolutioninovex GmbH
 
Network Policies
Network PoliciesNetwork Policies
Network Policiesinovex GmbH
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learninginovex GmbH
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungeninovex GmbH
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeteninovex GmbH
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetesinovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systemsinovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreiheninovex GmbH
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenteninovex GmbH
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?inovex GmbH
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Projectinovex GmbH
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretabilityinovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use caseinovex GmbH
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessinovex GmbH
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumiinovex GmbH
 

Mehr von inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

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

  • 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 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. ‣  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. 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. ‣  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. ‣  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 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 Agiles Projektmanagement Rollen in Scrum Scrum Master Product Owner Team
  • 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. ‣  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
  • 12. ‣  Automatisierung der Integration ‣  Automatisierung der Tests ‣  Automatisierung der Deployments ‣  Automatisierung der Dokumentation 12 Agile BI-Entwicklung Änderungsfreundlichkeit durch Automatisierung
  • 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 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. ‣  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 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 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. ‣  „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 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. ‣  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 Agiles Testen von BI und Big Data Lösungen Ein exemplarischer FitNesse Test
  • 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. ‣  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. ‣  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. ‣  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 Scrum in BI- Projekten Agile BI- Entwicklung Continuous Integration Data Driven Testing Automatisierte Dokumentation Schnittstellen- Management Agilität in BI Projekten Resume
  • 27. 27
  • 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