View
217
Download
0
Category
Preview:
Citation preview
Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte
Best Practices aus unseren Projekten
Dr. Stefan Igel Mainz, 13.05.2014
2
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
Agenda
3 TDWI: Memorandum für Agile Business Intelligence: http://www.tdwi.eu/wissen/agile-bi/memorandum/
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.
Agiles Manifest: http://www.agilemanifesto.org/ 4
„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.“
Agile BI und BI-Agilität Agiles Manifest
TDWI: Memorandum für Agile Business Intelligence: http://www.tdwi.eu/wissen/agile-bi/memorandum/ 5
‣ 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
Agile BI und BI-Agilität Memorandum für Agile Business Intelligence
‣ 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 Beschleunigter Paradigmen-Wechsel durch Big Data
Optimierung der „Time to Insights“
7 http://www.inovex.de/big-data-ebook
Agile BI und BI-Agilität Wieviel Agilität ist sinnvoll? Schnell, ausfallsicher, skalierbar Wartungsfreundlich Investitions- und innovationssicher !!
time to insights
!
Report request!
Data modeling!
Implementation!
Delivery!
Requirement Engineering! ask
question"
datamine answer"
verify answer"
refine question"
business goal!
Klassisches Vorgehen Agiles Vorgehen
8 TDWI: Memorandum für Agile Business Intelligence: http://www.tdwi.eu/wissen/agile-bi/memorandum/
Agile BI und BI-Agilität
Unternehmensfaktoren (Vision, Strategie, Kultur, Prozesse,
Standards, Menschen)
Umwelteinflüsse (Märkte, Gesetze)
Einflußfaktoren: Wieviel darf es denn sein?
BI-Aufbauorganisation BI-Ablauforganisation/Prozesse BI-Architektur
Prinzipien Vorgehens-modelle Methoden Technologien
‣ Statistik ‣ Machine Learning
‣ Data Mining
‣ IT Engineering
‣ Daten Architektur
‣ Software Engineering
‣ Visualisierung
‣ Business Analyst
9
Agile Teams 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 ‣ Machine Learning
‣ Data Mining
‣ IT Engineering
‣ Daten Architektur
‣ Software Engineering
‣ Visualisierung
‣ Business Analyst
# Business Intelligence Competency Center
# Agiles Projekt-Team
10
Agile Teams Cross-functional Team aus „spezialisierte Generalisten“
Bilder:: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development
Class A extends Mapper…
ROI, $$, …
apt-get install…
11
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
12 Bild Ken Schwaber: http://wikipedia.de
Agiles Projektmanagement Rollen in Scrum
Scrum Master
Product Owner
Team
13
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 2 Release 1
‣ Auf Anwender-Nutzen fokussieren
‣ „Vertikal“ statt „horizontal“ arbeiten
‣ Akzeptanz-Kriterien formulieren
‣ Definition of Done beachten
14
Agiles Projektmanagement User Stories für das Product Backlog
15
Agiles Projektmanagement PM-Tools: Redmine
16
‣ 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
Agile BI Entwicklung Besonderheiten und Herausforderungen
17
Agile BI-Entwicklung Standardisiertes DWH Design
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
OLAP Cubes
OLAP Cubes
ETL
‣ 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
‣ ...
18#
Agile BI Entwicklung Tool Stack: BI Tool Suite plus RDBMS
Grafik: Pentaho Corporation
‣ 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
19
Agile BI-Entwicklung Änderungsfreundliches Software Design Pattern
Beispiel: PDI Transformationen
20
Agile BI-Entwicklung Big Data: „individuelles“ System Design
Applicationsand Analytics"
Server"
Systems M
anagement"
Transport &Speed"
BatchProcessing &Storage"
STORM!
‣ Scale-out !" Scale-up
‣ Shared-nothing Architecture !" Virtualisierung
‣ Commodity Hardware !" Enterprise Hardware
‣ Cloud Lösungen
‣ Andere Backup und Failover Strategien
21
Agiles Datacenter Management Paradigmenwechsel durch Big Data in der IT
http://www.flickr.com/photos/dahlstroms/4083220012/"
22
Agiles Datacenter Management
Physical Network
Virtual Network
HostedVirtual
RealForeman REST API
CMDB
Deployment
Lifecycle Mgm
t.
Open Source Datacenter Managment
23 Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development
Agiles Testen von BI und Big Data Lösungen Viele Rollen – unterschiedliche Schwerpunkte
Fachliche Tests
Daten-Validierung
Workflows Deploy-ments
ETL-/ MR-Jobs
DWH
24 Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development
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“
25
Agiles Testen von BI und Big Data Lösungen Testautomatisierung mit FitNesse
Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development
„fully integrated standalone wiki and acceptance testing framework”
26 Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development
Agiles Testen von BI und Big Data Lösungen FitNesse Architektur
script | !check | !num results | 3 |!
Browser
FitNesse Server
public int numResults { ... }
System under Test
Fixtures
# 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
27
Agiles Testen von BI und Big Data Lösungen Testdaten
Dominik Benz: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development
28 Siehe: http://2013.berlinbuzzwords.de/sessions/bug-bites-elephant-test-driven-quality-assurance-big-data-application-development
Agiles Testen von BI und Big Data Lösungen Ein exemplarischer FitNesse Test
29
Agiles Testen von BI und Big Data Lösungen FitNesse: Erweiterbar durch Fixtures
Hadoop-Fixture Kettle-Fixture
Xebium-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
30
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
31
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
32
Agile Dokumentation Data Lineage automatisieren
33
Agile Dokumentation Data Lineage automatisieren – Fragen des Betriebs beantworten
‣ Automatisierung der Integration
‣ Automatisierung der Tests
‣ Automatisierung der Deployments
‣ Automatisierung der Dokumentation
34
Agile BI-Entwicklung Änderungsfreundlichkeit durch Automatisierung
http://de.wikipedia.org/wiki/Hydraulis, Wasserorgel nach Heros von Alexandria
Agile BI
36
Scrum in BI-Projekten
Agile BI-Entwicklung
Continuous Integration
Data Driven Testing
Automatisierte Dokumentation
Schnittstellen-Management
Agilität in BI Projekten Resume
37
38
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
Recommended