Agile Methoden als Erfolgsfaktor in BI

Werbung
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
Optimierung der „Time to Insights“
‣  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
Wieviel Agilität ist sinnvoll?
Schnell, ausfallsicher, skalierbar
Wartungsfreundlich
Klassisches Vorgehen
Investitions- und!! innovationssicher
Agiles Vorgehen
Report request!
Requirement
Engineering!
time to insights!
Data modeling!
Implementation!
refine
question"
ask
question"
business goal!
verify
answer"
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)
BI-Aufbauorganisation
Prinzipien
Umwelteinflüsse
(Märkte, Gesetze)
BI-Ablauforganisation/
Prozesse
Vorgehensmodelle
BI-Architektur
Methoden
TDWI: Memorandum für Agile Business Intelligence: http://www.tdwi.eu/wissen/agile-bi/memorandum/
Technologien
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
apt-get
install…
‣  Software Engineering
‣  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
Fertigeim
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
Vision-Sprint
4 Wochen
•  Initiales Backlog
•  ProjektInfrastruktur
•  Grob-Architektur
•  Technischer
Durchstich
Release 1
Release 2
Sprint 1
2-3 Wochen
Sprint 2
2-3 Wochen
•  Datenquelle
•  DWH
•  ETL
•  Datamart
•  Cube
•  Analyse/Report
•  Datenquelle
•  DWH
•  ETL
•  Datamart
•  Cube
•  Analyse/Report
...
2-3 Wochen
•  ...
•  ...
•  ...
•  ...
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
Adhoc Queries
Reporting
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-SourceLö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, QuellcodeRepository 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
Server"
Systems Management"
Applications
and
Analytics"
Batch
Processing &
Storage"
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
Hosted
Deployment
Virtual
Virtual Network
CMDB
Real
Lifecycle Mgmt.
Foreman REST API
Physical Network
22
Agiles Testen von BI und Big Data Lösungen
Viele Rollen – unterschiedliche Schwerpunkte
DatenValidierung
Fachliche
Tests
DWH
ETL-/
MR-Jobs
Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-dataapplication-development
Workflows
Deployments
23
Agiles Testen von BI und Big Data Lösungen
Herausforderungen von „Test Driven BI“
?
Testdaten
bereitstellen
?
Verteilte Umgebung
(binäre) Datenformate
?
Reports
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
Fixtures
script | !
check | !
num results |
3 |!
public int
numResults
{ ... }
FitNesse
Server
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
Hadoop-Fixture
Kettle-Fixture
Xebium-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 ETLDokumentation
‣  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 BIProjekten
SchnittstellenManagement
Agile BIEntwicklung
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
[email protected]
38
Herunterladen