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

Scrum Developer

Reference : ZESM04
5 jours - 2750 € HT Télécharger la fiche
Prochaines sessions
    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

    Public visé

    Tout public

    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