Arolla formation

Arolla est aussi un institut de formation spécialisé dans les bonnes pratiques de développement. Nos experts et coachs techniques vous proposent des formations sur les sujets qui nous passionnent :

Téléchargez notre catalogue de formationTéléchargez le contenu complet de notre offre.


Test Driven Development (TDD)

Objectif : Après cette formation, vous saurez utiliser des tests automatisés comme moyen de spécification, de conception et bien sûr de test. Vous saurez développer des tests pour du code existant hérité. Vous connaîtrez les techniques et outils, tels les doublures et Mocks, pour développer efficacement en TDD.

Les objectifs de qualité ambitieux fixés en début de projet résistent rarement aux contraintes du quotidien. Comment maintenir la qualité d’un code, qui tend naturellement à diminuer, si les tentatives d’amélioration se traduisent par des régressions incontrôlées ? Le développement piloté par les tests (TDD) propose une solution radicale pour reprendre la maîtrise du code et de la conception : les tests systématiques sont écrits avant le code à tester ! Le retour sur investissement peut être important (qualité du code, non régression, évolutivité, maintenabilité). Encore faut-il éviter les écueils d’une mise en œuvre inadaptée de la démarche.

Programme :

  • Découverte des principes fondamentaux et des bonnes pratiques du TDD
  • Utilisation des Frameworks de test dans une approche TDD
  • Utilisation des techniques avancées d’écriture de tests
  • Mise en œuvre du TDD en présence de code hérité (legacy)
  • Application du TDD dans des contextes particuliers (bases de données, IHM)
  • Pratique du refactoring d’un code développé en TDD

Méthode pédagogique :
60% de travaux pratiques

A savoir :
Vous verrez le TDD à l’œuvre au travers d’exemples concrets et d’outils disponibles sur les plates-formes Java et .Net. Une étude de cas réaliste vous permettra d’acquérir les réflexes du TDD, d’aborder les divers problèmes rencontrés par les développeurs en TDD et de mettre en œuvre les bonnes pratiques, des plus simples aux plus élaborées. Cette formation pourra aussi être proposée dans d’autres langages comme C++.

Public : Développeurs, responsables tests, chefs de projets, responsables qualité

Pré-requis :
Pratique de la conception objet
Pratique du développement avec Java ou C#

Durée : 2 jours

Tarif : 1 200€ HT

Sessions 2016: 22/23 février, 11/12 avril, 13/14 juin 12/13 septembre et 21/22 novembre

Behavior Driven Development (BDD) - ou comment construire le bon produit!

Objectif : Découvrir une approche agile permettant d’améliorer la communication, la compréhension des besoins et de réaliser le produit qu’il faut!

Nous verrons comment l’utilisation d’exemples permet d’enrichir les spécifications de manière efficace en construisant un langage commun, partagé et compréhensible de tous. L’objectif de cette formation est de montrer que l’écriture des spécifications et l’écriture des tests d’acceptation sont des activités  complémentaires qui devraient être menées simultanément pour peu qu’elles soient abordées de manière collaborative. Nous verrons comment cela aboutit d’ailleurs à une meilleure compréhension et réalisation des demandes.

A travers plusieurs exercices, nous aborderons notamment différentes manières de:

  • remettre la collaboration au centre du développement
  • rendre nos spécifications « non ambigües »
  • réfléchir à plusieurs pour être le plus « complet » possible
  • d’éliciter et décomposer des besoins complexes en tâches appréhendables
  • rendre des spécifications exécutables
  • constituer une documentation vivante
  • mettre en place des ateliers de spécification

A l’issue de cette formation vous maîtriserez les points suivants:

  • comprendre les différences entre TDD et BDD
  • comment mettre en place BDD dans mon organisation
  • comment écrire des exemples sur des cas complexes
  • challenger des exemples déjà écrits

Programme :

  • BDD : le pourquoi et le comment

                * Les spécifications, un constat d’échec?

                * Origines du BDD

                * Collaboration et responsabilité collective

  • Écriture d’exemples

                * C’est quoi un exemple

                * Critères d’acceptation vs exemples

                * Gherkin ou la revanche du Given/When/Then

                                – Du passé à l’impératif

                                – « I »

  • User Stories et exemples?

                * L’agilité dans tous ses états

                * Découpons, découpons! …mais pas trop!

  • Automatisation et documentation vivante

                * La pyramide de tests

                * Gherkin un langage pas comme les autres

  •   Steps

                * Table

                * Scenario Outline

                * Background et Hook

                * Revue rapide des différents outils d’automatisation (jBehave, Cucumber, Specflow…)

                * Introduction rapide à l’outil Cucumber (pour tout autre outil: jBehave, Specflow, nous consulter…)

                * Intégration Continue

                * Un bien beau rapport d’exécution, des spécifications vérifiées ?!?

NB : selon les profils présents, la partie sur l’automatisation pourra être plus ou moins approfondie.

Méthodes pédagogiques :
Cette formation est constituée à 30% de théorie et 70% de pratique.

Formateur :
Arnauld Loyer est développeur logiciel depuis une quinzaine d’années. Contributeur sur les projets BDD, notamment JBehave, il intervient en tant que coach technique pour accompagner les équipes dans leur conversion aux bonnes pratiques de développement.

Il anime de nombreuses conférences et formations sur le BDD.

Public :
Cette formation s’adresse à toute personne impliquée dans le développement logiciel: responsable d’application, chef de projet, maîtrise d’ouvrage, analyste fonctionnel, maîtrise d’œuvre, développeur, testeur, architecte…

Pré-requis :
Aucune connaissance technique n’est requise, cette formation s’adresse aussi bien à des managers, chefs de projets, AMOA, MOA, Business Analysts qu’à des développeurs. Les exemples seront principalement fournis en Java (pour les personnes ayant un background en C#, ou dans un autre langage, nous consulter).

Matériel pédagogique :
Le formateur distribuera les supports de la formation au format électronique PDF à la fin de la formation.

Durée : 2 jours

Tarif : 1 200€ HT

Sessions 2016: 21/22 mars et 10/11 octobre

Domain Driven Design (DDD) pour de vrai!

Objectifs : L’objectif n’est pas de couvrir tout DDD mais de bien comprendre ce qui est important et comment tous ces concepts s’imbriquent entre eux.

Vous souhaitez passer à la vitesse supérieure en design ? Vous vous intéressez à DDD mais ce sujet vous paraît difficile et mystérieux ?

Venez découvrir Domain-Driven Design à Paris, avec Cyrille Martraire et en français à l’oral !

Lors de cette formation de deux jours, vous apprendrez les points essentiels de DDD par la pratique, grâce à de nombreux exercices entrecoupés de présentations des concepts théoriques.

Domain-Driven Design est une approche complète et approfondie de design pour construire des logiciels qui résolvent des problèmes complexes. DDD apporte des façons de penser pour raisonner efficacement et prendre des décisions éclairées, quel que soit le langage de programmation et l’environnement technologique.

En s’intéressant de très près au domaine métier et en particulier au cœur de métier, DDD vise à aligner le plus littéralement possible le code avec une compréhension approfondie du métier. Cela permet de répondre très rapidement aux évolutions des demandes, et même de libérer des opportunités de nouvelle valeur pour le business.

Programme :

  • Aperçu général de Domain-Driven Design
  • Comment découvrir un nouveau domaine métier, identifier les sources de savoir-faire et identifier les invariants
  • Comprendre la notion d’Ubiquituous Language (langage omniprésent), l’importance du langage, les pièges fréquents et les astuces pour améliorer la communication
  • Relation entre DDD et BDD
  • Model-Storming pour analyser un métier sous forme de brainstorming collectif
  • Expérimenter le design émergent et modéliser itérativement directement en code
  • Bien comprendre les Bounded Contexts
  • Strategic Design avec Context Mapping et les aspects organisationnels
  • Utiliser les patterns tactiques: Value Object, Entity, Domain Service, Hexagonal Architecture
  • Aperçu de CQRS et d’Eventual Consistency
  • Documentation et Domain-Driven Design

Méthodes pédagogiques :
50% théorique, 50% pratique (en code et jeux)

A savoir :

  • La formation est donnée en français.
  • Les supports écrits sont pour la plupart en anglais.
  • Les exemples de code éventuels sont en Java.

Formateur :
Cyrille Martraire développe des logiciels avec passion depuis 14 ans. Après des aventures dans plusieurs startups, banques et éditeurs dans des métiers riches, Cyrille est co-fondateur et directeur technique d’AROLLA, une société spécialisée dans les pratiques modernes de développement logiciel.

Passionné de design sous tous ses aspects (Clean Code, TDD, BDD) et en particulier de Domain-Driven Design, il a aussi fondé la communauté Software Craftsmanship Paris.

Public :
Pour permettre les exercices et des échanges de qualité, la formation se fait en petit groupe de 4 à 8 personnes.

Vous êtes développeur logiciel avec une bonne expérience de développement orienté objet et/ou fonctionnel, avec idéalement plusieurs années d’expérience sur des domaines complexes.

Pré-requis :
Avoir lu le livre d’Eric Evans est un plus, mais non requis.

Matériel pédagogique :
Le formateur distribuera les supports de la formation au format électronique PDF à la fin de la formation.

Durée : 2 jours

Tarif : 1 200€ HT

Sessions 2016: 15/16 février et 19/20 septembre

Working On Legacy Code – ou comment vaincre la peur de l’inconnu!

Objectif : Découvrir les meilleures techniques permettant de :

  1. Reprendre le contrôle d’une application devenue au fil du temps sauvage et incompréhensible
  2. La réfectionner dans les règles de l’art et à iso fonctionnalités
  3. Transformer un étalon engourdi et indiscipliné en un pur-sang tout aussi malléable que fougueux, qui vous obéira au doigt et à l’œil.

Jeune Padawan ! Nous passerons en revue tout un ensemble d’outils et de techniques dignes d’un Grand Maître Jedi du Code Legacy. Ensemble, nous nous entraînerons dur, à travers toute une panoplie d’exercices pratiques qui vous permettront d’intégrer les bons réflexes et de reprendre à la fois confiance en vous et en votre code. L’objectif de cette formation est de vous armer d’un bagage méthodologique qui vous permettra de devenir autonome face à du code Legacy.

Néanmoins ne vous faites pas d’illusion : vous confronter à du code Legacy restera toujours un exercice très difficile ! Cependant, cette tâche ne vous semblera plus jamais insurmontable.

A travers cette formation, nous aborderons notamment différents thèmes:

  • Rendre testable une application a priori réputée non testable en l’état
  • Contrôler des dépendances sur lesquelles on n’a pas forcément la main à l’aide de bouchons
  • Savoir par où commencer et avec quelles stratégies
  • De l’importance de connaître parfaitement son IDE
  • De la nécessité d’automatiser au maximum

A l’issue de cette formation vous maîtriserez les points suivants:

  • Définir ce qu’est du code Legacy et l’identifier
  • Faire la différence entre un mock et un stub
  • Établir la stratégie la plus adaptée pour rendre du code Legacy testable
  • Maîtriser son IDE pour éviter des erreurs manuelles

Programme :
Jour 1

  • Définir et identifier ce qu’est du code Legacy
  • Reconnaître les « code smells »
  • Entraînement aux techniques de refactoring en s’appuyant sur un IDE
  • Casser les dépendances afin de pouvoir placer un harnais de tests à l’aide des bouchons

Jour 2

  • La journée entière sera consacrée à des mises en situation, à travers le traitement de plusieurs petits projets legacy qui permettront de mettre en œuvre ce qui a été abordé en première journée.

Méthodes pédagogiques :
Cette formation est constituée à 30% de théorie et 70% de pratique.

Public :
Cette formation s’adresse à un public de développeurs.

Pré-requis :

  • Avoir pratiqué le TDD (Test-Driven Development) et être familier de la notion de Clean Code est un plus.
  • Savoir utiliser Git/SVN.
  • Bonne pratique de la conception objet
  • Pour les développeurs Java, savoir utiliser Maven.
  • Pour les développeurs C#, la connaissance de Resharper et NCrunch est recommandée.

Les participants doivent avoir un poste de travail avec un environnement de développement (si besoin, nous consulter).

  • Git ou SVN
  • Pour les développeurs Java, un IDE similaire à Eclipse avec le plugin infinitest ou JUnit Loop et Eclemma
  • Pour les développeurs C#, Visual Studio avec Resharper et NCrunch

Matériel pédagogique :
Le formateur distribuera les supports de la formation au format électronique PDF à la fin de la formation

Durée: 2 jours

Tarif : 1 200€ HT

Prochaine session: 16 et 17 mai

 

Nos formations comprennent systématiquement une présentation théorique et surtout des mises en pratique sous la forme de code retreats ou de coding dojo par exemple.

Nous organisons régulièrement des formations inter entreprises et, sur demande, nous mettons en place des formations en interne pour votre entreprise.

 

INSCRIPTION & RENSEIGNEMENTS

[contact-form-7 404 "Not Found"]

Response (1)

  1. TDD, une affaire de design | Blog Arolla
    21 avril 2015 at 16 h 24 min ·

    […] aussi notre approche chez Arolla. TDD d’abord, mais en entremêlant assez tôt les techniques de base de design. […]

Back to Top