EXPERIENCES PROFESSIONNELLES
Depuis avril 2015 AGENCE FRANCE PRESSE
Consultant/expert en développement, auprès de la direction du système d’information de l’agence.
Mission 1 : intégrer l’équipe technique et améliorer l’expérience utilisateur sur la principale (CA > 50%) plateforme de livraison des dépêches AFP. Auditer et préconiser un ou plusieurs plans de remédiation. Mise en œuvre et suivi du/des plan(s) d’amélioration.
Travail effectué :
Audit du code C# (application web), Transat SQL (base de données), Exalead (moteur de recherche plein texte) de l’application.
Revue de code quotidienne sur la production.
Atelier de conception et retro conception. Détection des patterns candidats et gestion de la documentation technique (formalisation, classement et granularité). Utilisation efficace d’ALM (Team Foundation Server) dans un contexte technique.
Formation et application des principes avancées de codification. Approche S.O.L.I.D. (SRP, OCP, LSP et DIP) et loi de connaissance minimum (loi de Demeter).
Utilisation d’UML dans un contexte technique.
Refactoring du code et design.
Amélioration des performations par intégration d’un CDN (AKAMAÏ). Utilisation des automates à état finis pour la gestion des cas d’utilisation complexe.
Amélioration des performations du moteur de recherche plein texte.
Audit de l’API Exalead V6.
Définition d’une architecture logicielle de référence.
Gestion des dépendances.
Modèles en couche.
Principe de conception avancée des composants.
Mission 2 : Mise en place d’une approche d’amélioration continue de la qualité statique du code source et mise en place du modèle qualimétrique (Type SQALE (Software Quality Assessment based on Lifecycle Expectations).
Travail effectué :
Installation et paramétrage de SonarQube (********/)
Couplage avec TFS et MSBuild.
Analyse des cubes avec les équipes techniques.
Mise en place d’une « douane applicative » pour l’équipe AFPForum.
Revue des violations des règles avec les développeurs.
Suivi des plans de remédiation.
Mission 3 : Industrialisation du processus de développement de l’agence. Mise en place des outils et des procédures nécessaires. Formation des intervenants.
Mise en place d’un ALM (Application lifecycle management) Team Foundation Server (Template CMMI) :
Paramétrage du processus de développement générique.
Formation des développeurs, et de tous les intervenants sur l’ALM (environ 100 personnes).
Mission 4 : Mise en place des processus de gestion MOA/AMOA.
Processus MOA
Principaux sujets abordés :
Introduction à la gestion de projet itératif piloté par un ALM.
Comprendre la notion de fonctionnalité et de spécification.
Comprendre les notions de conception logicielle versus conception technique.
Comment planifier un projet itératif et définir un zonage efficace ?
Comment concevoir un « backlog spécification » efficace ?
Comment gérer plusieurs « backlog » de spécification ?
Comment capturer les exigences fonctionnelles et impératives de qualités de service des projets logiciels ?
Comment estimer efficacement le cout réel des projets avec un ALM.
Comment spécifier graphiquement un produit numérique ?
Formation à UML avancé
Participant et intégration dans des projets AFP comme coach.
Processus AMOA :
Principaux sujets abordés :
Introduction à la gestion de projet itératif piloté par un ALM.
Comprendre la notion de fonctionnalité et de spécification.
Comprendre les notions de conception logicielle versus conception technique.
Comment planifier un projet itératif et définir un zonage efficace ?
Comment concevoir un « backlog spécification » efficace ?
Comment gérer plusieurs « backlog » de spécification ?
Comment capturer les exigences fonctionnelles et impératives de qualités de service des projets logiciels ?
Comment estimer efficacement le cout réel des projets avec un ALM.
Comment spécifier graphiquement un produit numérique ?
Formation à UML avancé
Participant et intégration dans des projets AFP comme coach.
Technologies : Visual studio 2015, C#, Transact SQL, ADO.net, ILSpy, Json, Exalead, Astah, SonarQube.
Groupe TraceOne (Editeur logiciel en mode SAAS)
avril 2010 à avril 2015
Architecte technique et fonctionnel du groupe TraceOne :
Editeur logiciel en mode SaaS. Trentième éditeur français. Leader mondial des solutions de traçabilité et la gestion du cycle de vie des produits (PLM) de marque de distributeur.
Responsable de la stratégie technique de groupe, de la qualité logiciel et de la R&D.
Management technique de 2 assistants architectes (architecture GUI-JS, architecture UI- Web) de 10 chefs de projet et 80 développeurs répartis sur 4 labs (Paris, Londres, Brasov et Iasi (Roumanie), Da Nang (VietNam)).
Responsable des Formations techniques internes et validation techniques des recrutements.
Responsable technique pour les recherches et développements :
Documentation et diffusion des artéfacts d’ingénie (Format UML).
Principal rédacteur des dossiers du Crédit Impôt Recherche (représente 1,5 M€ en 2013, 0.8 M€ en 2012, 0.7 M€ en 2011).
Conception d’une architecture technique de référence permettant d’obtenir (voir liste des modules réalisés ci-après) :
une qualité de code unifié sur le parc applicatif (représente environ 2 000 000 lignes de code).
Réduire les coûts de développement
Augmenter la vélocité d’implémentation.
Responsable de la qualité statique du code :
Mise en place d’un plan d’action qualité au niveau code source :
Mise en place d’un outil d’analyse statique de la qualité « Cast SoftWare ».
Renforcement du modèle qualimétrique standard pour des règles de qualité spécifique TraceOne (+ de 400 règles .net).
Gestion de la note global de TQI (Total Quality Index) > 3.5 /4.
Responsable des analyses techniques hebdomadaires des « snapshots ».
Responsable des Plans de remédiation.
Performance :
BenchMark du frameWork technique (ORM spécifique TraceOne, Modèle de sécurité, modèle d’injection de dépendance) par société extérieure (Avanade).
ORM TraceOne, 30 % supérieur au meilleur du marché (BL Tools Kit et NHibernate 3.0).
Mise en place d’un protocole de test sur plateforme Cloud Azure pour les lignes de produit.
Responsable de la conception de l’architecture fonctionnelle :
Définition et conception de l’architecture fonctionnelle.
Activités d’analyse avec les Product Managers et experts métiers.
Diagramme de domaine,
Modèle de déploiement
Urbanisation des composants, etc …
Modélisation et cartographies de l’architecture fonctionnelle.
Implémentation des abstractions et tests unitaires.
Principaux travaux techniques que j’ai personnellement réalisés :
Conception d’une architecture technique prenant en charge la globalité des patrons de conception d’application distribuée (conforme aux publications de Buschmann, Fowler, Vlissides, Cecil Martin, Larman).
Conception et réalisation d’un moteur de persistance générique (ORM).
Conception du modèle d’injection de dépendances adapté aux contraintes Saas.
Conception du modèle de sécurité de type RBAC conforme aux recommandations du NSIT (National Institute of Standards and Technology).
Conception et réalisation d’un moteur de génération et de gestion des automates à états finis et non-finis.
Conception et réalisation d’un moteur de gestion des règles métiers (BRE).
Conception et réalisation d’une infrastructure de prise en charge technique des cas d’utilisation selon les base du patron « GRAP-Controler » publication Craig Larman 2002.
Conception et réalisation d’un FrameWork metier TraceOne
Technologies : Visual studio 2013 Ultimate, C#, Transact SQL, ADO.net, Unity, MEF, ILSpy, UML,
Pour le groupe CELLA Informatique.
Juin 2009 à avril 2010 Projet interne au Groupe CELLA
Conception et réalisation d’un outil d’industrialisation de production logiciel pour les langages .NET (VB, C#) (obtention du CIR) :
Mise à disposition pour le groupe Cella Informatique une infrastructure technique capable de supporter une industrialisation des projets aux forfaits.
Framework d’industrialisation à croissance interne de classe.
Modèle de production et d’invocation d’entité (ORM).
Génération des interfaces tous supports, tous langages .NET
Invocation des modèles produits en mode Provider classique ou SOA (validé sur des volumes > 1 millions d’enregistrement).
Modèle d’intégration des automates à états finis « à chaud ».
Modèle d’intégration de codes sources « à chaud » par post compilation.
Modèle de traçabilité statique et dynamique vers un datawarehouse.
Modèle d’intégration des règles d’habilitation et de sécurité par post compilation.
Outil d’intégration dans VS 2008
Add-in de CRUDING et de génération automatique des interfaces (Web et Win forms VB ou C#).
Add-in de gestion des règles métiers statiques et dynamiques
Add-in de conception des automates à états finis (DSL TOOLS + XAML)
Add-in de gestion de la traçabilité applicative.
Add-in de gestion de la sécurité applicative.
Portage des outils sous plateforme hébergée pour utilisation en mode SaaS.
Mai 2009 à Juin Audit technique pour un éditeur de logiciel RH (RFLEX)
Audit technique du framework interne écrit en C# et de l’organisation de production.
Fourniture de préconisations techniques court termes et long termes.
Fourniture de préconisations sur l’organisation de la production.
Déploiement des préconisations d’organisation.
Mise en place d’un processus MDA sous TFS 2008.
Formation
2005 - Mai 2009 MAF (Mutuelle des Architectes Français)
Architecte logiciel SI et Direction de projets à la Mutuelle des Architectes Français (10-15 personnes)
Projet de refonte global du système d’information (Production, Sinistre, Contrat, Contentieux, Comptabilité).
Réalisation d’un Ba...