3. Objectifs et mise en contexte
1. Partager pourquoi l'agile s'arrime bien au BI/DW et ce qu'on
espère obtenir en considérant un tel cadre
2. Vous offrir une piste de réflexion en adressant les défis
auxquels sont confrontés les projets BI qui sont développés à
l'aide d'un cadre Agile. C'est un survol.
3. La conférence vous offrira des outils afin de vous permettre
d'appliquer un cadre Agile à vos projets
BI ou DW
4. Nous assumons que vous êtes familiers avec Scrum, ses
bénéfices et le cadre de base (terminologie)
4. Complexité naturelle du BI = défis
1. Besoins pas clairs au début
2. Compréhension des besoins
se raffine avec temps
3. Découverte des sources
4. Découverte des liens entre les
sources
5. Découverte de la capacité des
sources et des liens à remplir
les besoins
Beaucoup d'inconnu
Tendance vers une approche plus
empirique
5. Nos objectifs avec l'agilité
1. Le temps au marché
2. Meilleure qualité
3. Plus grande satisfaction de la clientèle
4. Estimation plus précise et fiable
Mais Scrum adapté
au BI n'est pas
facile
Conférence
Planifica/on des
Tâches
Développement
Démo
Rétrospec/ve
Modules candidats à être mis en production
Sprint
15 jours
Carnet de commandes
(Besoins du projet)
6. Les 7 piliers permettant l’agilité
Ces éléments sont
chacun clés afin
d’appliquer Scrum/XP à
un projet DW/BI
avec succès
• La technologie
• L’assurance qualité
• La décomposition de la livraison
• L’estimation
• L’adaptation des sprints
• L’équipe
• L’interfacte à
l’organisation
8. Rôles sur une équipe Scrum DW/BI
– Product Owner: à lui le résultat, il décide
– Scrum Master: à lui le processus, pas un PM
– Architecte de projet: gère les besoins et les solutions
– Analyste/Modélisateur de données
Définie tables, profilage, définie modules ETL
– Développeurs: front-end & back-end
– Ingénieur de tests: organisation des tests, automatisation,
gestion des jeux de test
6-9 joueurs
9. Partir une équipe: degré de maturité
Sprints requis
Étape dans cycle de maturité
Vite
Moins vite
0: Scrum générique
1
2
1: Livraison en pipelines
1
2
2: Estimés fondés sur la taille & plan de
publication (vélocité)
2
4
3: Développement mené par les tests
2
4
4: Modèle de référence
3
6
5: Gestion des besoins & tests
automatisés
3
6
Total des sprints
12
24
Temps écoulé
24-36
semaines
48-72
semaines
11. Les sprints non standards
– Itérations -1 et 0 permettent :
• le démarrage du projet et mise en place de la plateforme
• l'architecture de la solution
• la modélisation conceptuelle des données
• visez le 80/20 pour un démarrage rapide des projets
– Sprint d'architecture
• permet de travailler sur une architecture réutilisable et de haute qualité
– Sprint de recherche (Spike)
• permet de suspendre l'approche time-box pour travailler à la recherche
de solution d'un problème majeur
– Sprint d'implantation
• permet de mettre en production une application
12. Le Pipeline : adaptation Scrum au BI
– Donne à chaque
métier un sprint
complet pour
exécuter son
travail
– Les rencontres
quotidiennes et de
planification sont
nécessaires pour
assurer la
continuité de la
livraison d'un
package
Itera/on
Solu/on
Architect
Data Modeler
/ Sys Analyst
Coders
Sys Test
Solu/on Reqts
Technical Reqts
Poten/ally Shippable
Shippable Code
-‐1
0
1
2
3
4
A
B
B
B
B
A
A
A
C
C
C
C
D
D
D
14. Le problème avec l'estimation
– Distribution des estimés traditionnels
– Pour avoir 95% de certitude, on doit multiplier les estimés des
développeurs par 4
(Étude de 400 projets chez Haliburton)
1x
2x
3x
4x
Ratio des estimés réels
95% degré de confiance
Moyenne
Fréquence
15. Estimation fondée sur la taille
– Agile utilise une méthode en
pair fondée sur la taille
comparative
– L'estimation de ce qui peut
être
livré dans un sprint ne se fait
pas en heures
– Le cerveau humain compare
très bien
– Facilité à comparer un
nouveau
module à un déjà livré
Qu'est-ce qui est plus facile à
soulever?
Formes différentes, mais intuitivement nous
savons que la pomme et la banane pèsent
environ la même chose
16. Carte de base d'estimation (CBE)
– Consensus d'équipe sur tâches
requises pour chaque objet DW/BI
majeur
– Estimés pro forma
– Heures d'efforts
– Utilisé comme guide
– Évite de repenser chaque fois
– Permets la conception et
l'estimation par exception
– Revisité lors des rétrospectives &
peut-être ajusté
Type 2 Slowly Changing
Dimension
• High-level design conference
2hr
• Low-Level design conference
3hr
• Finalize table DDL
3hr
• Create table & indexes
1hr
• Create view for incremental source
1hr
• Create incremental load mapping
- Row-level meta data columns
6hr
- Straight through columns
3hr
- Derived columns
?
• Create view for initial source
1hr
• Adapt for initial load mapping
6hr
• Create session
3hr
• Add to workflow
2hr
• Move to nightly build folder
2hr
• Create parm setting script
2hr
• Update tar ball & version control
1hr
• Code walk through
3hr
• Document per dept stds
3hr
22. Deux éléments souhaitable
– Tests automatisés
• Découverte immédiate d'erreurs de code
• Plus facile de cibler les erreurs
• Définition implicite de "complété" (pas d'extras)
• Démontre au client que le DW est correct
• Permets de réaliser des tests quotidiennement
• Moins d'erreurs opérationnelles
– Référentiel de jeux de données de test
• On doit vraiment penser aux besoins pour créer ceci
• Permets de rouvrir le code pour maintenance
23. Maintenir la vitesse des développeurs
– Développeurs doivent travailler indépendamment
• leur procurer un sandbox
– Ont besoin de tests unitaires rapides et utiles
• gestion de petits jeux de données statiques
– Doivent répéter les tests unitaires souvent
• gestion des jeux de données "attendus" pour comparaison
– Doivent détecter les modules problèmes rapidement
• validations automatisées
• build chaque soir et exécution des chargements staging-marts
– Doivent simuler les deltas
• plusieurs échantillons de temps dans les jeux de données
24. Toute l'équipe a un rôle à jouer
– Architecte de projet
• Requêtes-utilisateur pour chaque étoile, sujet
• Scripts de démo
• Récupère les tests d'acceptation formels
– Analyste
• Cas de tests unitaires source-cible
• Valide les métadonnées au niveau des rangées
– Modélisateur de données
• Cas de tests d'intégration à partir du modèle
• Assure la cohérence inter-table
– Ingénieur de Test
• Compile tous les tests, organise
• Assure les exécutions tous les soirs
26. Deux points importants
– Un environnement technologique complexe freine l'agilité
• Viser à simplifier
• Viser à standardiser
– S'outiller pour mieux tirer avantage de l'agilité
• Automatisation des tests (Cruise Control, Finesse + DbFit)
• Communication + collaboration
28. Gestion des besoins agile BI 80/20
Phase initiation
Concept du
système
(Analyste Aff.)
Demande
client
(Analyste Aff.)
Document de
Vision
(Architecte
projet)
Phase
de Création
Cas d’u/l. de solu/on
(Architecte Projet)
Phase
d’Élaboration
Cas d’u/l. applica/f
(Analyste BI/TI)
“Comment
nous allons
créer de la
valeur”
“Voici ce qui
ne marche pas
et comment
nous ferions
pour y
remédier”
“Voici les
problèmes que
nous
comprenons et
une ébauche de
solution ”
“Voici un schéma en étoile
que nous allons construire
pour vous”
“Voici un module ETL que
nous allons construire pour
eux”
Besoins
d’affaires
Besoins
fonctionnels
Spécifications
TI
Sprint -1
Débute avec sprint 0
29. S'intégrer à l'organisation
Phases typiques
Réponse Agile DW
80/20, 25% du temps
Phase gérée en
Identification ou
Bonne idée
N/A
Traditionnel accéléré
Étude préliminaire ou
faisabilité
Concept & Demande
(2 page)
Traditionnel accéléré
Architecture ou Conception
Document de vision
(10-20 pages)
Sprint -1
Traditionnel accéléré
Réalisation
Cas utilisation solutions
Cas utilisation applicatifs
Scrum
Gouvernance traditionnelle
Transition production
N/A
Traditionnel
30. Livrables: détails
Concept du
système
• Jus/fica/on
• Impacts sur
l’expérience client
• Impacts sur les
secteurs visés
• Mesures de succès
• Budgets, /ming,
champions
• Demandes client
• Problèmes
• Contournements
actuels
• Votre vision
• U/lisateurs
• Autres applica/ons
avec lesquelles
u/lisateurs
interagissent
Vision
• Énoncés de
problèmes
• Fonc/ons et
bénéfices
• Diagrammes de
contexte (emphase
données sources)
• Modèle
conceptuel des
données
• Architecture haut -‐
niveau
Cas U/lisa/on
Solu/on
• Descrip/on
• Acteurs/personas
• Détails des sources
• Tables de faits
• Dimensions
• Sous-‐ensemble
modèle conceptuel
• Requêtes typiques
à répondre
Cas U/lisa/on
Applica/f
• CUS +
• Data flows (le
découpage ETL)
• Déclencheurs
• Précondi/ons
• Ini/al load
• Ges/on erreurs
• Valeurs défauts
• Restart
• No/fica/ons
32. Sommaire des piliers
• La technologie
• L’assurance qualité
• La décomposition de la livraison
• L’estimation
• L’adaptation des sprints
• L’équipe
• L’interfacte à l’organisation
Doit aider et non freiner l’agilité
Automatisation et jeux de tests
Simplifier portée, découper
livrable
Focus sur valeur au client
Fondée sur la taille, CBE
Sprints non-standards, pipeliine
La maturité agile ne sera pas
immédiate
Scrum s’applique à la réalisation,
gestion des besoins 80/20