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

Slides:



Advertisements
Présentations similaires
Présentation des technologies SharePoint 2007
Advertisements

Réalités du développement logiciel avec des études de cas Mario Cardinal Le 16 mars 2011.
Les technologies décisionnelles et le portail
Service Software Factory François MERAND Responsable groupe architectes DPE – Division Plateformes & Ecosystème Microsoft France
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Test et Développement Visual Studio Team System Eric Mittelette – Benjamin Gauthey – Yann Faure DevDays 2006 Equipé aujourdhui, prêt pour demain !
Personnalisation des sites SharePoint avec SharePoint Designer 2007
Prototype de plate-forme de Tribus Instantanées :
L’intégration continue
Les Méthodes Agiles (Scrum, Xp)
Phase de préparation des itérations Produit Story 11 Release1 Story 1mStory 21 Release2 Story 2m… …
François Potentier, 10 octobre 2008
Les Ateliers de Génie Logiciel
Maîtrise des données et des métadonnées de l’ODS
MDX pour les nuls développeurs
Les outils d’intégration continue
SSIS Design Patterns David Joubert Thomas Ricquebourg.
#JSS2013 Les journées SQL Server 2013 Un événement organisé par GUSS.
MIAGE MASTER 1 Cours de gestion de projet
Démarche Analyse des OGL et des Méthodes Objectifs : Activités :
Réalisé par: COLIN Yann DECAP Clément HAJJI Emna NICOLETTI Anthony
Sommaire Objectif de Peakup Principes de fonctionnement
Développement Rapide dApplications Web avec.NET « Mon premier site »
Le Product Management : la clé du succès des produits et services numériques Yves Mahé Mars 2014.
10 ans après… Ma première expérience agile. PLAN mieux vaut un mauvais plan que pas de plan du tout Présentation des acteurs Premier jour : – je suis.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Modèle, Méthode et Conception
Projet de Master première année 2007 / 2008
Avec TFS2013, l'Agilité au service de votre entreprise
•Présentation de Team Edition for Database Professionals •La méthodologie •Etude de cas.
Entity Framework 4 Mitsuru FURUTA Relations techniques développeurs
2 Industrialisation des développements sur SQL Server avec Visual Studio 2010 Mardi 8 Février – 17h30 Karim Zegour – Winwise Michel Perfetti – MVP VS.
1 journée, 5 sessions, 1 réalisation.NET Enterprise Realization Day.
Visio. Copyright© 2012 Microsoft CorporationConfidentiel Les défis pour l'entreprise Environnement complexe Explosion du volume de données Un monde plus.
Jean-Baptiste savansongkham
Marc Bouissou, Guillaume Torrente, EDF
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
Céline STAUDER 27 Octobre 2010
Jeux Vidéos Analyses Post-Mortem Nicolas Demange, Pierre Gallice, Mickael Gutkind, Antoine Tallon Pierre Thomas Jeudi 17 Novembre 2005.
Stratégie d’entreprise - Alstom Transport – Marco Férrogalini
Soutenance Développement web Lebrun Laura Licence PER
Huseyin OZENICI Soutenu le 11 Septembre 2009 Soutenance des mémoires Apprentissage / Projet
Introduction au développement Office 2007
Supports de formation au SQ Unifié
Développement logiciel en méthode agile
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Mise en œuvre d’un portail « OpenSocial » s’appuyant sur la gestion documentaire Nuxeo-DM JRES 2011 –
Introduction au Génie Logiciel
Code Contracts Gilles TOURREAU - MVP C# Architecte .NET / Formateur
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Ceci est une session expert Cette session est déconseillée aux novices des moteurs Analysis Services 2000 ou 2005 La session « Découverte de Analysis.
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Améliorer la performance des organisations en apportant à toutes les équipes la meilleure compréhension de leur activité pour des décisions plus rapides.
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
10 février 2010 Sylvain Quéméner et Caroline Moulin Consultants
ISNET-43 Atelier de génie logiciel Approche fonctionnelle ou objets Concurrence ou complémentarité ? Synthèse.
Soutenance Phase 1 Bibliographie et Analyse des besoins
Bases de données avancées UV 19722
Dessine-moi un workflow
Victor Victor Sabourin Marie Sévilla Fraysse Pauline They
Gestion de projets AGILE
Les outils Multidimensionnels SAS ® 9 Atelier Technique SAS ® Eric WOLFF Jeudi 2 juin 2005.
2 Alain METGE SOGETI
La méthode SCRUM méthode agile dédiée à la gestion de projets
@GUSS_FRANCE.
SQLSaturday Paris 2015 SSDT-DB pour les sceptiques! Cédric L. Charlier.
L’APPROCHE AGILE AVEC SCRUM
Transcription de la présentation:

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

Merci à nos sponsors

Les speakers Florian Eiden Jordan Mootoosamy Thomas Morisson 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

Introduction Agilité ? Un des objectifs premiers Notre session 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

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 Avant d’aborder la première partie de cette session qui concerne les retours d’expérience, je voudrais simplement faire 2 remarques CECI 1 : je vais simplement aborder les grandes lignes de cette méthodologie, le but n’est absolument pas d’être exhaustif. Non seulement nous n’avons pas assez de temps pour le faire, mais en plus il existe déjà des experts qui font ça très bien Par contre CECI 2 : j’ai eu l’occasion de mettre en pratique la méthode SCRUM, dans un projet décisionnel, ceci en respectant plus ou moins les règles de l’art, suivant les contraintes imposées par le client. Ne soyez donc pas surpris de voir que la méthode n’est pas toujours appliquée, le but maintenant est d’identifier ….

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

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

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 Les méthodes agiles sont des groupes de pratiques pouvant s'appliquer à divers types de projets Elles impliquent au maximum le demandeur (client) et permettent une grande réactivité à ses demandes. Elles visent la satisfaction réelle du client en priorité aux termes d'un contrat de développement. Différentes méthode existent, avec une structure commune (itérative, incrémentale et adaptative)> celle appliquée ici se nomme SCRUM Itérative : affinement du besoin mis en œuvre dans des fonctionnalités Incrémentale : livraison des fonctionnalités faite en plusieurs fois Adaptative : permet au client de modifier ses exigences au cours du projet

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

Outils Le mur de post-it Mingle : la version virtuelle du mur Mingle : logiciel édité par ThoughtWorks => Rapports supplémentaires : vélocité, burndown chart etc. Mingle : la version virtuelle du mur

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

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

Retours d’expérience Positifs 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é

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 Les packages SSIS sont complètement liés au projet pour lequel ils ont été définis, il faut faire des modifications manuellement pour les adapter à un autre contexte. Si vous avez déjà développé sur SSIS, vous avez déjà probablement passé plusieurs heures à répéter le même type de package X fois en changeant simplement la table de source et de destination Ce travail devrait être automatisé, en passant par une plus forte abstraction du développement – principe du write once, run anywhere

Biml 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 C’est un langage développé par Varigence qui permet de créer des assets SQL Server de manière déclarative (des packages SSIS, des cubes, tout ce qu’on peut créer dans BIDS). Le langage est basé sur du XML, ce qui le rend facilement interprétable. La force de Biml, c’est la possibilité de placer du code BimlScript (en pratique c’est du C#ou du VB) pour pouvoir générer dynamiquement du XML, et donc les assets SQL Server qui vont avec. Biml est intégré à BIDS Helper depuis 2011, et on y a donc accès gratuitement en téléchargeant l’add-on. -> Je passe rapidement sur la présentation pour passer plus de temps sur la démo de l’outil

Biml – principe de base Connection C1 Package P1 […] <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

Mist 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 En complément du langage Biml à proprement parler, Varigence a créé un environnement de développement pour utiliser plus facilement Biml On peut gérer la majorité des types de projets BI, que ce soit une database, un projet SSIS ou SSAS. On ne peut juste pas créer de projet SSRS avec. L’outil est compatible avec SVN et TFS, pour faciliter le travail en équipe.

Présentation de BIML

TODO 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

Conclusion Points positifs Points négatifs 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 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$

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?

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!

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

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

NBi : Composants Framework Microsoft .NET NUnit ADOMD.NET NBi 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

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

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

NBi : Structure du projet de test Projet de Tests : Déclaration des projets côté NUnit Pointe vers le framework NBi Framework NBi Répertoire d’installation de NBi Répertoire du projet NUnit

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

NBi : Structure du projet de test Projet de Tests : Déclaration des projets côté NUnit Création des tests: NotePad++ ou autre éditeur XML Fichiers XML : .nbits Répertoire d’installation de NBi

NBi : Structure du projet de test 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 Répertoire d’installation de NBi

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

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

Structure d’un test Une suite contient plusieurs tests

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

NBi : Eventail de tests (non exhaustif) System-Under-Test Assert 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 Members (Multidim) Level, Hierarchy count / contain / ordered matchPattern (Regex)

NBi : Exemple

NBi : Démonstration

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

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

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… Synthèse outil

Conclusion Etat de l’art : BI Agile Les autres sujets à ne pas rater: 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!