[wpms_breadcrumb reverse="0"]
Méthode Agile

Scrum Developer

Reference : ZESM04
5 jours - 2750 €
Prochaines sessions

Nous consulter.

Scrum Developer
Objectifs

  • Comprendre le cadre de travail Scrum : ses acteurs, ses cérémonies et ses livrables
  • Adopter les réflexes d’un bon développeur Scrum grâce à une première expérience réelle
  • Mettre en place une politique de Test Agile pour augmenter la qualité du produit
  • Elaborer une stratégie d’Intégration Continue pour limiter les risques du projet
  • Comprendre la Conception Agile pour limiter la dette technique d’une application

Pré requis

  • Avoir participé à un projet informatique et avoir lu un ouvrage sur l’Agilité/Scrum ou avoir suivi la journée de formation « Découverte de l’Agilité »

Modalités pédagogiques

Cours dispensé en mode présentiel avec une alternance d’apports théoriques et méthodologiques, et de mises en situations pratiques

Inscription

Programmes de Scrum Developer

Introduction

  • Présentation du programme de 5 jours
  • Le Manifeste Agile et ses pratiques

Le fonctionnement de Scrum

  • La progression par Sprint : pourquoi, comment ?
  • Caractéristiques d’un Backlog de Produit
  • Caractéristiques d’un Backlog de Sprint

Les cérémonies du Sprint

  • La planification : Sprint Planning
  • Le point quotidien : Daily Scrum
  • La revue : Sprint Review
  • L’amélioration continue : Retrospective

Les rôles Scrum

  • Product Owner : rôle et responsabilités du responsable de produit
  • ScrumMaster : rôle et responsabilités du facilitateur
  • L’équipe : rôle et responsabilités des membres de l’équipe de développement
  • Les rôles et responsabilités des intervenants extérieurs
  • L’optimisation des relations et des échanges entre intervenants

Planifier un projet et visualiser son avancée

  • Les outils visuels indispensables : ScrumBoard, Burdown chart
  • Calcul de la Vélocité, Estimation et Planification des Sprints et des Releases
  • Le Planning Poker : un outil d’estimation collaboratif pour l’équipe

Lancement de la journée

  • Le but : vivre les phases d’un projet Scrum sur une journée dans la peau d’un développeur
  • Contenu de la journée, élaboration d’un agenda et répartition des rôles
  • Présentation du contexte du projet et de l’application fil rouge
  • Rappels techniques Java/JEE

Déroulement des Sprints

  • Planification : Sprint Planning et Planning Poker
  • Développement Java/JEE
  • Point quotidien : Daily Scrum, mise à jour du ScrumBoard et reste à faire
  • Revue : Sprint Review, démonstration et validation des développements
  • Amélioration continue : Retrospective

Test Driven Development

  • Description de l’approche TDD et de ses bénéfices
  • Comment améliorer la qualité et le design du code par les tests ?
  • Les différents types de tests : unitaire, intégration, fonctionnel

Les tests unitaires avec JUnit

  • Comprendre le cycle de vie d’un test dans le framework JUnit
  • Respect du principe d’isolation et contrôle du résultat des tests
  • Les mocks ou comment simuler le code périphérique au code testé
  • Utilisation de frameworks de simulation de code comme EasyMock

Organisation des activités de test

  • Méthodologie de correction d’un Bug
  • Automatiser l’exécution de JUnit
  • Génération de rapports
  • Intégration avec Ant, Maven et Eclipse

Tests d’intégration

  • Comprendre la notion de test in-container par opposition aux tests unitaires
  • Test d’une couche de persistance avec DBUnit

ATDD et BDD

  • Principes de l’Acceptance Test Driven Development
  • Conséquences d’ATDD sur le Sprint Planning et la Sprint Review
  • Principes du Behavior Driven Developement
  • Mettre en pratique BDD avec JBehave : installation, écriture de Stories, production de rapports
  • Rôle du ProductOwner et de l’équipe lors de l’écriture des scénarios d’acceptance

Présentation de l’Intégration Continue

  • Principes, environnement et infrastructure
  • Eviter les cinq risques liés à l’intégration
  • Les types de processus d’intégration
  • Les solutions d’Intégration continue : Husdon, Jenkins, CruiseControl, Bamboo, TeamCity, Apache Continum, …

Jenkins : la solution de référence du monde Open-Source

  • Tableau de bord et santé des projets
  • Architecture et principe d’extension
  • Installation, configuration et utilisation de Jenkins
  • Automatisation des builds avec Jenkins et Maven
  • Automatisation des Tests avec JUnit (TDD) et JBehave (ATDD)

Métriques

  • Les risques de dérive du code source
  • Lien entre rapports de construction et qualité logicielle
  • Respect des standards de développement avec Checkstyle et PMD
  • Couverture de test avec Cobertura

Notification

  • Intérêt des indicateurs visuels et bonnes pratiques
  • Indicateurs de Jenkins et indicateurs étendus
  • Historisation et suivi des tendances

Principes Objet fondamentaux

  • Fondamentaux Objets
  • Conception et développement Agile : SRP, DIP, ISP, OCP, LSP
  • Gestion des dépendances

Conception de Frameworks

  • Définition et principes des frameworks
  • Quand choisir de créer un framework ?
  • Principe d’extensibilité et mise en oeuvre

Refactoring

  • Conséquence de la dette technique et risque de « casse » du code
  • Où ? Quand ? Comment refactorer ?
  • Les sept catégories d’outils de refactoring
  • L’aide de TDD et d’ATDD durant le refactoring
  • Best practices et limitations