44
#JSS2013 es journées SQL Server 2013 n événement organisé par GUSS

Pratiques et expériences du Projet BI Agile ( Biml / NBi ) Florian Eiden Thomas Morisson Jordan Mootoosamy

  • Upload
    nerys

  • View
    47

  • Download
    4

Embed Size (px)

DESCRIPTION

Pratiques et expériences du Projet BI Agile ( Biml / NBi ) Florian Eiden Thomas Morisson Jordan Mootoosamy. Merci à nos sponsors. Les speakers. Florian Eiden Architecte décisionnel / MVP SQL Server Blog : La BI ça vous gagne ( fleid.net) Twitter : @ fleid_bi Jordan Mootoosamy - PowerPoint PPT Presentation

Citation preview

Page 1: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Les journéesSQL Server 2013

Un événement organisé par GUSS

Page 2: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Les journéesSQL Server 2013

Un événement organisé par GUSS

Pratiques et expériences du Projet BI Agile (Biml/NBi)

Florian EidenThomas MorissonJordan Mootoosamy

Page 3: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Merci à nos sponsors

Page 4: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Les speakers• Florian Eiden

• Architecte décisionnel / MVP SQL Server• Blog : La BI ça vous gagne (fleid.net)• Twitter : @fleid_bi

• Jordan Mootoosamy• Consultant décisionnel

• Thomas Morisson• Senior Consultant BI

Page 5: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Introduction• Agilité ?

– Valeurs, priorités– Des méthodes de gestion de projet ET des techniques de

développement• Un des objectifs premiers

– Atteindre une fréquence de livraison la plus fluide possible sans risque sur les fonctionnalités livrées

• Notre session– Retour d’expérience, SCRUM en équipe BI– Développements automatiques : BIML– Tests automatiques : NBi

Page 6: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Retour d’expérience, SCRUM en équipe BI• Remarques

– Ceci n’est pas un cours sur l’agilité– Ceci est une interprétation de l’agilité, dans un

cas particulier

=> Identifier les points positifs, les points à améliorer=> Proposer des solutions

Michel Perfetti à 17h en salle

Rubis

Page 7: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Retour d’expérience, SCRUM en équipe BI• Plan

– Contexte– Rôles– Outils– Evènements

Page 8: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Retour d’expérience, SCRUM en équipe BI• Contexte

– Suivi d’activité : Réalisé, Objectifs– Technologies MS : SSIS, SSAS, SSRS– Portail SharePoint / BI Personnelle– Besoins évolutifs– Maturité décisionnelle du client– Maturité technique de l’équipe

Page 9: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

En quoi un processus agile est-il différent ?• Méthode itérative,

incrémentale et adaptative– Réactivité aux demandes du client

– Priorité à la satisfaction réelle du client

• Méthode Agile vs Cycle en V

Page 10: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Les rôles dans l’équipe• Scrum Master : 1 personne

– garant du respect des principes de l'agilité– anime les différents évènements

• Product Owner (PO) : 4 personnes– définit les User-Story (US) en collaboration avec les utilisateurs

• Développeurs : 11 personnes– réalisent les US– équipe indépendante techniquement

Page 11: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

OutilsLe mur de post-it

Mingle : la version virtuelle du mur

Page 12: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Le sprint2/

Planification

3/ Stand-Up Meeting

4/ Rétrospecti

ve

1/ Revue

1 sprint=

3 semaines

Page 13: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

EvènementsEvènement Qui Objectifs OutilsRevue de sprint0,5 jour

Scrum MasterPODev

Présenter les USChiffrageDéfinir objectif principal

Mingle

Planification0,5 jour

Dev Création des post-itAttribution des tâches

Post-it

Stand-up meetingQuotidien

Scrum MasterPODev

AvancementAttribution des tâches

Mur de post-it

Rétrospective 0,5 jour

Scrum MasterPODev

BilanPrésentationsAxe positifs / à améliorer

Mingle

Page 14: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Retours d’expériencePositifs A surveiller

Management+ Chiffrage collégial+ Vision globale du sprint grâce au mur= Bon pilotage à l’itération

- Planning global

Développeurs+ Interventions de tous les acteurs aux stand-up meeting= Partage de la connaissance facilité

- Temps de parole- Seuls les PO sont en contact avec les utilisateurs- Documentation, Versionning

Utilisateurs

+ Adaptation aux évolutions du besoin+ Priorisation dans la livraison des fonctionnalités= Satisfaction

- Etendue des modifications sur le périmètre déjà développé

Page 15: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Biml et Mist pour une BI plus agile• Malgré toutes les qualités de la suite MSBI,

on trouve toujours certains aspects qui freinent le respect des bonnes pratiques de développement:– SSIS ne facilite pas la réutilisation du code– SSIS ne permet pas réellement une abstraction du

développement• Biml et Mist ont été créés pour pallier à ces

inconvénients

Page 16: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

• Business Intelligence Markup Language• Langage basé sur XML, créé et maintenu par Varigence• Permet de décrire des solutions MSBI de manière

déclarative et facilement lisible• Possibilité d’injecter du code BimlScript pour générer

dynamiquement des objets• Intégré à BIDS Helper depuis 2011

Biml

Page 17: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

<Biml> <Connections> <Connection Name=« C1 » […] /> </Connections> <Packages> <Package Name=« P1 » […]> […] <Tasks> <Dataflow Name=« DFT1 » […]> […] </Dataflow> </Tasks> </Package> </Packages></Biml>

Connection C1

Package P1

[…]

Dataflow Task DFT1

Biml – principe de base

Page 18: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

• IDE créé par Varigence pour développer des solutions MSBI

• Permet de développer de manière visuelle à partir de Biml• Versioning et source control• Permet de rajouter un niveau d’abstraction entre le design

des packages et leur implémentation

Mist

Page 19: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

demoPrésentation de BIML

Page 20: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

• Une base Source, une base de Staging• Pour chaque table de la base Source:

– Récupérer les données de toutes les colonnes de la table– Charger les données dans une table identique en Staging

• On veut récupérer les données de toutes les tables sources et charger les données dans la base de Staging

• Phase 1 : Premier script Biml de package statique• Phase 2 : Automatisation des packages avec du

BimlScript

TODO

Page 21: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Points positifs• Une abstraction du code

pour une réutilisabilité facilitée

• Un coût réduit du changement sur les packages déjà développés

• Permet une qualité de développement constante

Points négatifs• Des compétences

préalables sont nécessaires sur les différents outils

• Un certain temps d’apprentissage du langage

• Coût de licence de Mist– Abo mensuel : 250$ /

mois– Abo perpétuel : 4 000$

Conclusion

Page 22: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Pourquoi des tests automatiques?• Monde idéal:

– On me demande une nouvelle fonctionnalité– Je développe– Je déploie

… le tout en moins d’1 journée?

Page 23: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Pourquoi des tests automatiques?• Pour le rendre possible:

– On me demande une nouvelle fonctionnalité– Je développe

> Je teste en un clic: ma fonctionnalité et toutes mes régressions> Si c’est valide: je livre en un clic– Je déploie

… le tout en moins d’1 journée!

Page 24: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Pourquoi des tests automatiques?• Effet bonus:

– On me demande une nouvelle fonctionnalité– Je développe

> Je teste en un clic: ma fonctionnalité et toutes mes régressions> Si c’est valide: je livre en un clic– Je déploieJe reviens 6 mois plus tard, je n’ai pas peur de toucher au code !

• Je sais qu’il est propre• Je sais que si je casse quelque chose, je le détecterai tout de suite

Page 25: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Les outils à disposition• Un minimum de code : Frameworks Open Source sur

Codeplex– BI.Quality : très facile, très limité, abandonné :’(– NBi : on va en parler, vivant, contributeur francophone: Cédric!

• Avec du code: Visual Studio, et donc en bonus toute l’intégration ALM– Session à suivre: Tests automatiques pour SSAS avec Visual Studio– Article de Charles-Henri Sauget et Fabrice Michellonet

Page 26: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

NBi : Composants• Framework Microsoft .NET• NUnit

– Framework de tests unitaires Open Source pour Microsoft .NET– Source : http://www.nunit.org

• ADOMD.NET – Fournisseur ADO.NET complémentaire à .NET pour interroger les métadonnées et

données de SSAS– Source: Microsoft SQL Server 2008R2 SP2 Feature Pack

• NBi– Framework complémentaire à NUnit, utilisant ADOMD.NET pour implémenter des

tests spécifiques à SQL Server et SSAS– Source : http://nbi.codeplex.com– Attention : il existe un tutorial pour l’installation mais un peu pénible quand même

Page 27: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

NBi : Structure du projet de test• Projet de Tests : Déclaration des projets côté

NUnit

Répertoire du projet NUnit

Page 28: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

NBi : Structure du projet de test• Projet de Tests : Déclaration des projets côté

NUnit

Répertoire du projet NUnit

Page 29: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

NBi : Structure du projet de test• Projet de Tests : Déclaration des projets côté

NUnit– Pointe vers le framework NBi

Répertoire du projet NUnitRépertoire

d’installation de NBi

Framework NBi

Page 30: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

NBi : Structure du projet de test• Projet de Tests : Déclaration des projets côté

NUnit– Pointe vers le framework NBi– Pointe vers un fichier de config qui définit la solution de test

Répertoire du projet NUnitRépertoire

d’installation de NBi

Framework NBi

Fichier config

qui pointe vers

les .nbits

Page 31: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

NBi : Structure du projet de test

Répertoire d’installation de

NBi

• Projet de Tests : Déclaration des projets côté NUnit

• Création des tests: NotePad++ ou autre éditeur XML– Fichiers XML : .nbits

Page 32: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

NBi : Structure du projet de test

Répertoire d’installation de

NBi

• Projet de Tests : Déclaration des projets côté NUnit

• Création des tests: NotePad++ ou autre éditeur XML– Fichiers XML : .nbits– Format documenté sur http://nbi.codeplex.com

Page 33: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

NBi : Structure du projet de test• Projet de Tests : Déclaration des projets côté

NUnit• Création des tests: NotePad++• Exécution des tests : NUnit

Page 34: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Structure XML des .nbits

<?xml version="1.0" encoding="utf-8" ?><testSuite name="Ma série de tests" xmlns="http://NBi/TestSuite">

</testSuite>

• Nouveau fichier texte > NotePad++ > Enregistrer sous .nbits

Page 35: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Structure d’un test• Une suite contient plusieurs tests

Page 36: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Contenu d’un test : System-Under-Test et Assert

Ce qui va être testé

Les critères du test

Page 37: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

NBi : Eventail de tests (non exhaustif)Execution

• Query (SQL,MDX,DAX)• Paramétrables• Variabilisables (code dynamique)

• Assembly (dll.class.method)

equalTo• Valeurs en dur• CSV• Query (SQL,MDX,DAX)

fasterThansyntacticallyCorrect

• Check par le moteur associéStructure

• (Multidim) Measure, MG, Hierarchy, Dimension• (Tabular) Column, Table• (Multidim) Hierarchies, Dimensions

existscontain

count / contain / orderedmatchPattern (Regex)

Members• (Multidim) Level, Hierarchy

System-Under-Test Assert

Page 38: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

NBi : Exemple

Page 39: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

NBi : Démonstration

Page 40: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

NBi : Industrialisation• Scriptabilité de l’exécution

– Via ligne de commande NUnit (nunit-console monprojet.nunit)– Via MSBuild

• Métadonnées des tests– Ignore, Description, Auteurs, Changelists, Catégorisation…

• Paramétrage des Query : – Paramètres et Variabilisation du code, dans le test ou via le fichier de config

• Partage des sources– Fichiers XML hébergeables sur TFS/SVN

• Génération automatique de tests : Genbi– Génère des séries de test à partir d’un CSV

Page 41: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Stratégies de test• Cahiers de tests, de recette• Approche exhaustive :

– Flux (Sources vs ODS, ODS vs DWH)• Données agrégées dans le flux : Comptages distincts, sommes, moyennes…• Données non agrégées : Comptages, répartitions sur les clefs, match 1:1…

– DWH vs Cube• Agrégations de haut niveau (CA 2012…)• Structure des dimensions, hiérarchies, indépendamment des faits• Valeurs des mesures à chaque clef de chaque dimension indépendamment des

autres• Des scénarios de référence, bien connus de tous. Si possible

prendre les pires cas métiers possibles• Toutes les requêtes d’identification de bug générés

naturellement dans le projet

Page 42: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

NBi : mon avis• Outil simple qui fait le job : j’aime

• Mais encore du chemin avant le scénario idéal : intégré à l’IDE, visuel, automatique…

Page 43: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013

Conclusion• Etat de l’art : BI Agile

– Méthodologies projet : enfin la légitimité– Outillage pour le développement :

• Ça s’améliore, mais par des initiatives externes à MS• La BI, toujours la 5ème roue du carrosse ALM .NET• Quid des nouveaux produits Power BI? Quid de SSRS?

• Les autres sujets à ne pas rater: – Le TDD, Test Driven Development : à suivre tout de

suite!– Tests automatiques avec Visual Studio : session

suivante!

Page 44: Pratiques et expériences du Projet BI Agile ( Biml / NBi )  Florian  Eiden Thomas Morisson Jordan  Mootoosamy

#JSS2013#JSS2013