La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.

Présentations similaires


Présentation au sujet: "#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS."— Transcription de la présentation:

1 #JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS

2 #JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS Pratiques et expériences du Projet BI Agile (Biml/NBi) Florian Eiden Thomas Morisson Jordan Mootoosamy

3 #JSS2013 Merci à nos sponsors

4 #JSS2013 Les speakers Florian Eiden Architecte décisionnel / MVP SQL Server Blog : La BI ça vous gagne (fleid.net)La BI ça vous gagne Twitter Jordan Mootoosamy Consultant décisionnel Thomas Morisson Senior Consultant BI

5 #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

6 #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

7 #JSS2013 Retour d’expérience, SCRUM en équipe BI Plan – Contexte – Rôles – Outils – Evènements

8 #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

9 #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

10 #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

11 #JSS2013 Outils Le mur de post-it Mingle : la version virtuelle du mur

12 #JSS2013 Le sprint 2/ Planification 3/ Stand-Up Meeting 4/ Rétrospective 1/ Revue 1 sprint = 3 semaines

13 #JSS2013 Evènements EvènementQuiObjectifsOutils Revue de sprint 0,5 jour Scrum Master PO Dev Présenter les US Chiffrage Définir objectif principal Mingle Planification 0,5 jour DevCréation des post-it Attribution des tâches Post-it Stand-up meeting Quotidien Scrum Master PO Dev Avancement Attribution des tâches Mur de post-it Rétrospective 0,5 jour Scrum Master PO Dev Bilan Présentations Axe positifs / à améliorer Mingle

14 #JSS2013 Retours d’expérience PositifsA 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é

15 #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

16 #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

17 #JSS2013 […] […] Connection C1 Package P1 […] Dataflow Task DFT1 Biml – principe de base

18 #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

19 #JSS2013 demo Présentation de BIML

20 #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

21 #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

22 #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?

23 #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!

24 #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éploie Je 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

25 #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 StudioTests automatiques pour SSAS avec Visual Studio – Article de Charles-Henri Sauget et Fabrice Michellonet Article

26 #JSS2013 NBi : Composants Framework Microsoft.NET NUnit – Framework de tests unitaires Open Source pour Microsoft.NET – Source : 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 PackMicrosoft 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 : – Attention : il existe un tutorial pour l’installation mais un peu pénible quand mêmetutorial

27 #JSS2013 NBi : Structure du projet de test Projet de Tests : Déclaration des projets côté NUnit Répertoire du projet NUnit

28 #JSS2013 NBi : Structure du projet de test Projet de Tests : Déclaration des projets côté NUnit Répertoire du projet NUnit

29 #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 NUnit Répertoire d’installation de NBi Framework NBi

30 #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 NUnit Répertoire d’installation de NBi Framework NBi Fichier config qui pointe vers les.nbits Fichier config qui pointe vers les.nbits

31 #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 XMLNotePad++ – Fichiers XML :.nbits

32 #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 XMLNotePad++ – Fichiers XML :.nbits – Format documenté sur

33 #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

34 #JSS2013 Structure XML des.nbits Nouveau fichier texte > NotePad++ > Enregistrer sous.nbits

35 #JSS2013 Structure d’un test Une suite contient plusieurs tests

36 #JSS2013 Contenu d’un test : System-Under-Test et Assert Ce qui va être testé Les critères du test

37 #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) fasterThan syntacticallyCorrect Check par le moteur associé Structure (Multidim) Measure, MG, Hierarchy, Dimension (Tabular) Column, Table (Multidim) Hierarchies, Dimensions exists contain count / contain / ordered matchPattern (Regex) Members (Multidim) Level, Hierarchy System-Under-Test Assert

38 #JSS2013 NBi : Exemple

39 #JSS2013 NBi : Démonstration

40 #JSS2013 NBi : Industrialisation Scriptabilité de l’exécution – Via ligne de commande NUnit (nunit-console monprojet.nunit)ligne de commande – Via MSBuildMSBuild 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 : GenbiGenbi – Génère des séries de test à partir d’un CSV

41 #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

42 #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…

43 #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!

44 #JSS2013


Télécharger ppt "#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS."

Présentations similaires


Annonces Google