EN / FR

La complexité des projets augmentant, il est parfois difficile de recruter au niveau de compétence désiré. Ce qui nécessite de faire croître la compétence des équipes sur la durée de vie des projets, voire sur la carrière. Il faut alors mettre en place un environnement d'apprentissage adapté, qui se concentre sur des compétences fondamentales qui vont durer dans le temps.

Nous nous focalisons sur les compétences et pratiques mises en œuvre sur tous les projets, beaucoup moins sur des outils ou bibliothèques spécifiques.

Tous nos formateurs sont expérimentés avec une vraie expérience de terrain.

De vieux livres

Nos formations

Méthodes Agiles

Cette formation vise à améliorer la compréhension des parties prenantes de vos projets (métier, développeurs, testeurs, managers) sur les méthodes Agiles. Les participants y voient comment fonctionnent ce type d'approche opérationnellement sur les projets. Nous avons pour objectif de ne pas seulement rester au niveau de la théorie mais de montrer comment faire vivre ces méthodes au jour le jour sur les projets.
Plus de détails…

Architecture logicielle

Cette formation vise à maintenir et compléter la culture générale des développeurs en terme d'architecture logicielle. Quelque soit leur niveau d'expérience, les participants y voient des techniques pour gérer ces sujets dans le temps long. Le but est de dépasser les effets de mode et de volontairement assurer une architecture durable parfois difficile à trouver en appliquant des approches "Agiles".
Plus de détails…

Développement piloté par les tests

Cette formation vise à améliorer la compréhension du développement piloté par les tests souvent mal pratiqué ou mal compris. Les participants y voient comment travailler de manière à pouvoir piloter le résultat et la qualité du code produit.
Plus de détails…

Code legacy, modernisation et refactoring

Cette formation vise à apprendre aux développeurs les moyens pour mettre une grande base de code non maîtrisée à nouveau sous contrôle. Les participants y voient ensuite les techniques nécessaires pour moderniser une base de code ancienne et appliquer du refactoring de manière responsable.
Plus de détails…

Gestion de version et collaboration avec Git

Cette formation vise à améliorer et renforcer la connaissance des systèmes de gestion de version. Les participants y apprendront à mieux utiliser Git, mais verrons aussi à quel point la gestion de version est un point central du travail en équipe et d'une bonne démarche qualité.
Plus de détails…

Notre approche

Pédagogie et déroulement

La pédagogie enioka Haute Couture se repose sur un apprentissage actif avec de nombreux exercices pratiques. Tous les moyens pédagogiques mis en place et le déroulement de nos formations tendent vers l'objectif d'une formation vivante où les participants apprennent du formateur et de leurs pairs. Ce sont aussi des formations exigeantes où les participants sont sollicités par de nombreux exercices.
Découvrir notre pédagogie…

Nos formateurs

Tous nos formateurs ont une vraie expérience de terrain. Ils travaillent au quotidien sur des projets client, mais ils se rendent aussi disponibles pour partager leurs connaissances.
Découvrir les formateurs…

Formation méthodes Agiles

Présentation

Les méthodes Agiles sont aujourd'hui officiellement partout. Malheureusement, en devenant officiellement la nouvelle norme pour gérer les projets logiciels, les approches mises en place ont perdu en efficacité. De plus, certaines difficultés inhérentes aux approches Agiles sont trop souvent ignorées.

Dans cette formation, les participants reviendront sur les bases des approches Agiles pour en assurer une bonne compréhension. Ils y verront aussi comment le déroulement d'une telle approche de travail se fait opérationnellement sur les projets. Ils pourront comprendre les raisons derrière les activités à mener sur un projet Agile depuis les spécifications jusqu'à la livraison en passant par le développement et le test.

Pourquoi se former sur les méthodes Agile ?

Il s'agit d'un domaine sur lequel beaucoup a été dit mais peu a été réellement compris. En se formant, les équipes pourront mieux maîtriser les méthodes Agile et déterminer les pratiques adéquates pour leurs projets.

Compétences professionnelles visées

  • Connaître le vocabulaire des méthodes Agiles
  • Comprendre la construction d'un processus Agile et ses intérêts
  • Dérouler l'enchaînement des sprints et des livraisons
  • Structurer et faire vivre la roadmap du projet
  • Savoir utiliser les indicateurs de suivi projet
  • Savoir organiser son travail et comprendre son rôle dans un projet Agile

Thèmes abordés

  • Historique des approches Agiles et les différentes méthodes existantes (par ex. Scrum, XP, Kanban)
  • Vocabulaire, étapes et rôles dans un processus Agile
  • Artefacts produits dans un projet Agile et traçabilité
  • Différents types de travaux sur un projet et comment bien structurer les tâches correspondantes
  • Roadmaps et epics
  • Cérémonies d'un projet Agile
  • Gestion de la cadence et des différents rythmes possibles en fonction des projets
  • Estimations et priorisation du travail dans un projet Agile
  • Suivi du travail et métriques utilisables dans un projet Agile
  • Coordination et intégration entre différentes équipes, liens avec l'architecture par la loi de Conway
  • Stratégies de passage à l'échelle pour les approches Agiles
  • Pratiques de développement et conception dans un projet Agile
  • Mise en place des cas de test dans un projet Agile
  • Gestion des défauts en aval du test

Résultats

À l'issue de la formation, les participants sont capables d'appliquer leurs nouvelles compétences en méthodes agiles et ont une meilleure capacité à travailler efficacement ensemble.

Information pratique

  • Public visé :
    • tech lead, lead dev, développeurs
    • product owner, ingénieur métier, chef de projet
    • lead QA, testeur
    • tout niveau d'expérience
  • Durée :
    • 2 jours de tronc commun
    • 1 jour spécifique au profil des participants
    • Par exemple:
      • pour une équipe de 4 développeurs, 2 tech leads et deux PO
      • 2 jours de tronc commun pour 8 personnes
      • 1 jour spécifique profils technique pour 6 personnes (développeurs et tech leads)
      • 1 jour spécifique produit pour 2 personnes (PO)
  • Prérequis : une première expérience en développement logiciel pour les profils techniques, pas de prérequis pour les profils produit ou métier

Formation architecture logicielle

Présentation

Les choix d'architecture logicielle sont essentiels à la bonne tenue d'un produit ou d'un projet. Malheureusement, ils sont trop souvent à la merci d'effets de mode. Pire ces choix sont parfois faits de façon inconsciente et non coordonnée au nom des approches "Agile".

Dans cette formation, les participants apprendront les techniques nécessaires pour obtenir une architecture logicielle adaptée à l'organisation de l'entreprise et suffisamment flexible pour évoluer dans le temps. Ils y complèteront leur culture des types d'architectures existantes pour un vocabulaire partagé. Mais aussi, ils verront des outils opérationnels pour organiser et documenter les travaux d'architecture logicielle sur leurs projets.

Pourquoi se former à l'architecture logicielle ?

Il s'agit d'un domaine en constante évolution qui nécessite de se maintenir à jour et compléter sa culture générale sur le sujet régulièrement. En se formant en architecture logicielle les équipes de développement pourront faire de meilleur choix sur leurs projets.

Compétences professionnelles visées

  • Reconnaître les architectures logicielles classiques
  • Choisir la bonne architecture pour une organisation et un type de solution donnée
  • Faire évoluer une architecture logicielle
  • Animer et planifier les travaux d'architecture logicielle d'une équipe
  • Documenter une architecture logicielle et ses évolutions

Thèmes abordés

  • Historique des approches d'architecture logicielle
  • L'impact des démarches "Agiles" sur l'architecture logicielle
  • Architecture logicielle et effets de mode
  • Une typologie d'architectures logicielles
  • Les impacts de Loi de Conway
  • Comment mettre en place une architecture évolutive
  • UML et C4 pour exprimer une architecture logicielle
  • Méthodes et outils pour la gestion documentaire d'une architecture logicielle

Résultats

À l'issue de la formation, les participants ont de nouvelles compétences en architecture logicielle leur permettant de mieux gérer leurs projets ou produits sur le long terme.

Information pratique

  • Public visé :
    • architectes, tech lead, lead dev, développeurs
    • tout niveau d'expérience
  • Durée : 2 jours
  • Prérequis :
    • des compétences en développement logiciel
    • avoir déjà rencontré un projet avec une architecture logicielle bien documentée est un plus mais pas essentiel

Formation développement piloté par les tests

Présentation

La robustesse et la bonne maintenance d'un projet ou produit sur des années nécessite de pouvoir valider ce qui est produit. Cela nécessite donc d'écrire des tests en plus du code produit afin d'automatiser autant que possible les vérifications nécessaires. Ces tests forment aussi une bonne base pour s'assurer que ce qui est développé est bien ce qui est attendu et ainsi revoir les spécifications.

Dans cette formation, les participants apprendront les techniques permettant d'obtenir du code et des tests de qualité. Ils y verront comment aller des spécifications jusqu'aux tests dans une approche incrémentale. Ils aborderont aussi tous les outils aujourd'hui à leur disposition pour bien concevoir, organiser et maximiser l'utilité de leurs tests.

Pourquoi se former sur le développement piloté par les tests ?

Il s'agit d'une pièce maîtresse pour la qualité du logiciel produit par une équipe mais qui est souvent mal comprise ou appliquée. En se formant les développeurs pourront mettre en place de meilleures pratiques pour améliorer la robustesse de leur code.

Compétences professionnelles visées

  • Choisir la bonne conception pour écrire du code testable
  • Savoir créer une liste de tests à implémenter
  • Savoir appliquer une approche incrémentale pour l'écriture de tests
  • Savoir concevoir des tests robustes et les maintenir dans le temps
  • Identifier la bonne doublure de test pour gérer les dépendances lors de l'exécution
  • Organiser ses tests pour maintenir une traçabilité avec les spécifications

Thèmes abordés

  • Approches de conception permettant d'écrire du code testable
  • La conception des tests
  • Les liens entre la conception logicielle et les tests
  • Les doublures de test et leur usage
  • La factorisation des tests par les fixtures et la paramétrisation
  • La correction de bugs par les tests
  • La traçabilité de la spécification jusqu'au test

Résultats

À l'issue de la formation, les participants sont capables d'appliquer leur nouvelle compréhension du développement piloté par les tests sur leurs projets. Ils seront aussi capables d'introduire progressivement des tests dans du code n'en disposant pas ou très peu.

Information pratique

  • Public visé :
    • tech lead, lead dev, développeurs
    • tout niveau d'expérience
  • Durée : 3 jours
  • Prérequis : une première expérience en développement logiciel, avec ou sans tests

Formation code legacy, modernisation et refactoring

Présentation

Les équipes de développement héritent souvent de code ancien dont la maintenance n'a pas été correctement assurée sur une longue période. Le réflexe répandu est de vouloir réécrire ce que l'on ne comprend initialement pas. Il y a pourtant d'autres approches permettant de ne pas perdre la connaissance accumulée dans l'ancien code.

Dans cette formation, les participants apprendront à utiliser des outils et techniques de tests pour sécuriser un ancien code peu maintenu. Ils verront ensuite les techniques de refactoring utilisables plus généralement sur leurs projets et comment les appliquer de manière sûre. Enfin ils verront comment conduire un projet de modernisation ou de portage du socle technique d'une application.

Pourquoi se former sur le code legacy, sa modernisation et le refactoring ?

Les projets démarrant d'une table rase ne sont pas communs. Or, les développeurs sont peu formés à travailler avec du code existant. Il existe des techniques permettant de reprendre le contrôle de grands projets afin de les nettoyer et les moderniser.

Compétences professionnelles visées

  • Utiliser des outils de snapshot testing comme approval tests
  • Comprendre le lien entre couverture de code et sécurisation d'un composant logiciel
  • Savoir appliquer des techniques de refactoring
  • Connaître les refactorings les plus utiles
  • Savoir moderniser une base de code tout en maintenant la stabilité du système
  • Mener un projet de portage vers un nouveau socle technique

Thèmes abordés

  • Le snapshot testing pour accélérer la reprise en main d'une base de code
  • Comment guider la sécurisation d'un projet sans test avec la couverture de code
  • La définition du refactoring et les idées reçues associées
  • Un petit catalogue de refactorings utiles
  • La modernisation de code ancien de façon responsable
  • Comment conduire un projet de modernisation ou de portage

Résultats

À l'issue de la formation, les participants sont capables d'appliquer leur nouvelle compréhension des techniques nécessaires pour reprendre le contrôle de grandes bases de code et pour les moderniser. Ils seront capables de mieux choisir les actions nécessaires pour nettoyer leur projet, le rendre plus testable ou l'amener vers un nouveau socle technique.

Information pratique

  • Public visé :
    • tech lead, lead dev, développeurs
    • tout niveau d'expérience
  • Durée : 2 jours
  • Prérequis : une première expérience de maintenance

Formation gestion de version et collaboration avec Git

Présentation

Le système de gestion de version est trop souvent vu comme un outil comme un autre ou avec lequel il faut composer. Bien utilisé, il s'agit pourtant de la pièce maîtresse pour démarrer un cycle vertueux d'amélioration continue de la qualité.

Dans cette formation, les participants apprendront comment fonctionne un système de gestion de version. Ils verront aussi comment bien gérer les branches de leur projet et maintenir un historique propre. Enfin ils apprendront en quoi le système de gestion de version est particulier dans la vie d'un projet, ses liens avec les activités d'amélioration de la qualité, et à quel point il est central pour la collaboration dans une équipe.

Pourquoi se former sur la gestion de version et la collaboration ?

Les développeurs passent une grande part de leur temps à travailler leurs compétences personnelles. Cela dit les projets logiciels nécessitent un travail en équipe efficace. Cela passe par une maîtrise des outils de gestion de version et des compétences de collaboration associées.

Compétences professionnelles visées

  • Comprendre comment fonctionne un système de gestion de version moderne
  • Gérer correctement les branches dans le cycle de vie d'un projet
  • Retoucher l'historique d'une branche temporaire pour maintenir un historique propre
  • Gérer les fusions, conflits et rebase
  • Savoir utiliser l'outil au mieux pour maximiser les bénéfices de la qualimétrie et du CI/CD
  • Maîtriser les bons comportements lors de la relecture de code et comment mieux communiquer
  • Savoir utiliser Git de ses opérations de base jusqu'aux opérations avancées les plus utiles

Thèmes abordés

  • L'utilisation de Git en pratique pour gérer un projet en version
  • Le modèle mental des systèmes de gestion de version modernes
  • La gestion des branches et les différents stratégies associées
  • Comment maintenir un historique propre et lisible
  • La gestion des fusions, conflits et rebase
  • L'intégration de la gestion de version dans la forge logicielle
  • Les liens entre les activités de gestion de version et de gestion de la qualité
  • La relecture de code du point de vue de l'auteur et du relecteur

Résultats

À l'issue de la formation, les participants sont capables d'appliquer leur nouvelle compréhension des outils de gestion de version et techniques de collaboration sur leurs projets. Ils seront capables de mieux naviguer dans les activités d'un projet de la production du code jusqu'à a livraison en passant par la relecture de code.

Information pratique

  • Public visé :
    • développeurs avec ou sans expérience de Git
    • tout niveau d'expérience
  • Durée : 2 jours
  • Prérequis : une première expérience de développement logiciel en équipe

Nos formateurs

Thomas

Thomas Cordival

Développeur et directeur général chez enioka Haute Couture, Thomas a plus de 15 ans d'expérience. Il a travaillé auprès de grands comptes dans différents secteurs d'activité. Il est intervenu sur des projets d'architecture ou pour aider à améliorer l'organisation de processus de développement. Thomas a un diplôme d'ingénieur en génie logiciel.

Cyril

Cyril Rossi

Tech lead chez enioka Haute Couture, Cyril a plus de 15 ans d'expérience. Il a travaillé sur des projets allant du système embarqué au grand système d'entreprise. Cyril a un diplôme d'ingénieur en informatique.

Kevin

Kevin Ottens

Tech lead et manager chez enioka Haute Couture, Kevin a plus de 20 ans d'expérience. Il a pu participer à des projets embarqués, des logiciels de bureau ou des applications web. Il a aussi accompagné des équipes sur leurs pratiques de développement et a pu former des centaines d'ingénieurs. Kevin a une maîtrise en génie logiciel et un doctorat en intelligence artificielle.

Yuri

Yuri Vital

Tech lead chez enioka Haute Couture, Yuri a plus de 17 ans d'expérience. Il a participé a des grands systèmes d'entreprise. Il a aussi audité de nombreuses applications et accompagné des équipes pour améliorer leurs pratiques de développement. Yuri est diplomé en informatique industrielle.

Pédagogie et déroulement

Approche pédagogique

La pédagogie enioka Haute Couture repose sur plusieurs principes. Tout d'abord, nous favorisons un apprentissage actif avec de nombreux exercices pratiques. Ces exercices représentent en général plus de la moitié du temps de formation. Les participants sont constamment sollicités.

Cette mobilisation constante des participants sert notre deuxième principe. Nous poussons les participants à apprendre du formateur, mais aussi entre eux en croisant leurs expériences.

Enfin, tous les exercices et exemples proposés sont concrets et ancrés dans le monde du logiciel. L'adaptation au contexte des participants nous tient particulièrement à cœur.

Formateurs

La société enioka Haute Couture possède une forte expérience en développement logiciel dans de nombreux contextes opérationnels. Les formations enioka Haute Couture se nourrissent des expérience de nos développeurs sur des projets réels, des missions d'expertise ou d'audit.

Tous nos formateurs reçoivent préalablement une formation pédagogique en interne. Les nouveaux formateurs accompagnent d'abord un autre formateur plus expérimenté sur d'autres sessions avant de voler de leurs propres ailes.
Découvrir les formateurs…

Moyens pédagogiques

Le support de formation est régulièrement mis à jour pour suivre les évolutions de l'industrie et tenir compte de l'expérience opérationnelle accumulée par enioka Haute Couture. L'approche pédagogique appliquée pousse à un apprentissage actif. De nombreux exercices pratiques et d'invitations à discuter les notions introduites sont proposés au participant lors de chaque chapitre. Les exercices seront effectués sur ordinateur, sur papier ou au tableau suivant les cas.

Le support de formation est fourni par mail en PDF nominatif à chaque participant. Ce même support est projeté (formations en présentiel) ou diffusé par partage d'écran (formations en distanciel) durant la formation.

Les points de départ des exercices pratiques sont aussi envoyés par mail à chaque participant avant le début de la formation. Ces exercices sont adaptés au contexte technique des participants.

Pour les formations en présentiel, chaque participant peut utiliser son ordinateur pour les exercices. Les participants doivent prévoir au moins un ordinateur pour deux participants.

Pour les formations en distanciel, une solution de visio-conférence est utilisée pendant toute la formation. En cas de soucis technique, le mail de convocation indique aussi comment contacter le formateur indépendamment de la visio-conférence (par SMS et téléphone) afin de débloquer la situation.

Evaluation

Une évaluation écrite faite à la fin de la dernière journée de formation permet d'établir le niveau des participants à l'issue de la formation.

Après l'examen individuel, les réponses sont discutées et débattues en séance pour un dernier apport de connaissance adapté au groupe. Le résultat individuel de chaque partipant lui est communiqué de façon privée après la fin de la formation.

Dans le cas d'une formation à distance, le questionnaire est envoyé par email au moment de l'évaluation. Les participants renvoient leurs réponse par email.

Suivi après formation

Il est possible de compléter la formation par une autre des formations associées à la formation courante. enioka Haute Couture recommande d'attendre 6 mois afin de prendre le temps de d'abord mettre en pratique ce qui vient d'être vu.

Il est aussi possible de commander une mission d'expertise auprès d'enioka Haute Couture pour un suivi de plus long terme sur la bonne application de ce qui a été vu en formation.

CPF

Nos formations ne sont pas éligibles au CPF.