L enseignement de méthodes agiles dans un contexte d apprentissage actif



Documents pareils
Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Agile 360 Product Owner Scrum Master

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

REX Scrum Master du terrain

backlog du produit Product Owner

25/12/2012

Agilitéet qualité logicielle: une mutation enmarche

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Le cycle de développement des produits à la Société GRICS : une nouvelle approche

GESTION DE PROJET : LA METHODE AGILE

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche

Guide de Préparation. EXIN Agile Scrum. Foundation

Scrum + Drupal = Julien Dubois

Cours Ephec Niv. 2 : Technique et gestion de projet. Par Monsieur Bertieaux Année Académique Quelles sont les 4 valeurs Agiles?

Modernisation et gestion de portefeuilles d applications bancaires

Le Product Owner Clé de voute d un projet agile réussi

SECTION 5 BANQUE DE PROJETS

INTRODUCTION À LA GESTION DE PROJET AGILE (BACKLOG, TABLEAUX DE BORD, BURNDOWN, PLANIFICATION D ITERATIONS)

Méthodologies SCRUM Présentation et mise en oeuvre

Le Product Backlog, qu est ce c est?

Eclipse Process Framework et Telelogic Harmony/ITSW

1/15. Jean Bernard CRAMPES Daniel VIELLE

Gestion de projet Agile. STS IRIS Module «Gérer et organiser un projet informatique»

Jean-Pierre Vickoff

Développement itératif, évolutif et agile

Formation Certifiante Scrum Master

Certification Scrum Master

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?

Méthode Agile de 3 ème génération J-P Vickoff

Retour d expérience implémentation Scrum / XP

CQP Développeur Nouvelles Technologies (DNT)

AGILE IPHONE DEVELOPMENT

Scrum Une méthode agile pour vos projets

Soyez agile. Dans l industrie du logiciel, la. De plus chaque projet informatique

Isabelle Nicolas

Enfants Agiles. La méthode Agile appliquée à l éducation

IFT785 Approches Orientées Objets. FINAL Été Remise : Jeudi 19 août 2002 à 9h00 am

Maîtrise d ouvrage agile

Plan de la Formation. GESTION de PROJET

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

Les méthodes itératives. Hugues MEUNIER

SCRUM chez BWIN : implémentation d une méthode agile dans Focalpoint Spasija Taseva et Corinne Bacle

L Université Nice Sophia Antipolis

Génie logiciel (Un aperçu)

PHP 2 Pratique en santé publique fondée sur des données probantes

Enseignement au cycle primaire (première partie)

Estimer et mesurer la performance des projets agiles avec les points de fonction

Pré-requis Diplôme Foundation Certificate in IT Service Management.

Tuesday, October 20, Nantes

CHAPITRE 3 : LES METHODES AGILES?

User stories et Backlog de produit

L'agilité appliquée à nous-mêmes. Philippe Krief, PhD Development Manager IBM France Lab

Paul FLYE SAINTE MARIE

Profil d études détaillé. Section : Informatique et systèmes Finalité : Technologie de l informatique

Présentation UBO 12/2008 Présentation des méthodes agiles

Rapport de Post- Campagne 1

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

La solution IBM Rational pour une ALM Agile

JOURNÉE THÉMATIQUE SUR LES RISQUES

Programmation Agile Mise en oeuvre via Scrum et l'extreme Programming (XP)

Scrum Le guide pratique de la méthode agile la plus populaire 3 e édition Claude Aubry 320 pages Dunod, 2013

Architecture pragmatique pour la gestion du cycle de vie des applications (ALM)

Le génie logiciel. maintenance de logiciels.

Avant propos. Parcours de lecture : combien de sprints vous faut il?

LA MÉTHODE AGILE VS LE CYCLE EN V UNE RÉVOLUTION DANS LA GESTION DE PROJET. Franck BEULÉ

Introduc)on à l Agile

HERMES 5.1. Méthode de gestion pour tous les projets MANUEL DE REFERENCE

Méthodes Agiles et gestion de projets

Scrum et itk : adaptation de la méthode au développement d OAD. D après Henrik Kniberg Scrum et XP depuis les tranchées

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

Modèle de changement d organisation. Leanpizza.net présente. Petit Guide Rapide du jeu de cartes Modèle de Changement d Organisation

Evaluation de l organisation interne

MANAGEMENT DES SERVICES INFORMATIQUES

Formation Scrum. 2 jours

Formation pour Product Owner

Optimisez votre gestion de temps avec Outlook. «trucs et astuces pour un professionnel»

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Plateforme de capture et d analyse de sites Web AspirWeb

Comment optimiser l utilisation des ressources Cloud et de virtualisation, aujourd hui et demain?

Talend Technical Note

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O. 30 ans - 6 ans d'expérience

Identification du module

Enterprise Scrum Organisation des développements chez exo. Agile Tour Rennes 2010 / 10 / 07

Les «méthodes Agiles»

Intégration de l interface graphique de Ptidej dans Eclipse

Notre programme de formations

Z i e d Z a i e r ( )

GL BE FLYER. Chef de projet de l équipe : SCIONICO Pierre

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com 04/09/2008

Automatisation de l administration système

La situation financière des Canadiens

Analyse structurée de solutions pour BMC Remedy IT Service Management v 7

Politique des stages. Direction des études

Liste des Formations

Transcription:

L enseignement de méthodes agiles dans un contexte d apprentissage actif Ruben González-Rubio Eugène Morin Balkrishna Sharma Gukhool Groupe ɛ X it C1-3019 Département de génie électrique et de génie informatique Université de Sherbrooke, Sherbrooke, QC, J1K 2R1, Canada Agile Tour 6 novembre 2013 R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 1 / 38

Plan de la présentation 1. Introduction 2. Cadre de l enseignement 3. L APP en bref 4. Application des méthodes Agiles 5. Leçons de la programmation Agile 6. Conclusion R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 2 / 38

Section 1 Introduction R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 3 / 38

Introduction Motivation Présenter les leçons apprises sur la formation de la méthodologie Agile dans un cadre d apprentissage par problèmes (APP). R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 4 / 38

Introduction Cadre particulier APP : Apprentissage par problèmes et par projet. Enseignement actif : l étudiant doit chercher à acquérir des compétences et les appliquer. Connaissances Déclaratives (Quoi?) : Notions d héritage, polymorphisme,... Procédurales (Comment?) : Implémentation d un design pattern,... Conditionnelles (Quand?) : Réusinage pour introduire un design pattern,... R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 5 / 38

Introduction Cadre particulier APP : Apprentissage par problèmes et par projet. Enseignement actif : l étudiant doit chercher à acquérir des compétences et les appliquer. Connaissances Déclaratives (Quoi?) : Notions d héritage, polymorphisme,... Procédurales (Comment?) : Implémentation d un design pattern,... Conditionnelles (Quand?) : Réusinage pour introduire un design pattern,... R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 5 / 38

Section 2 Cadre de l enseignement R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 6 / 38

Cadre de l enseignement Les modules Agiles Les modules Agiles sont sur deux trimestres Chaque module comporte 3 APPs. Ayant chacun au moins un thread conducteur commun et un distinct. Chaque APP est sur 2 semaines. Comprenant 5 jours de travail encadré + examens. Apprentissage très dirigé (pour éviter la dispersion) S assurer de l acquisition des compétences visées. Réutilisation des compétences acquises à chaque APP. Temps très limité, chaque seconde compte. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 7 / 38

Cadre de l enseignement Les modules Agiles Les modules Agiles sont sur deux trimestres Chaque module comporte 3 APPs. Ayant chacun au moins un thread conducteur commun et un distinct. Chaque APP est sur 2 semaines. Comprenant 5 jours de travail encadré + examens. Apprentissage très dirigé (pour éviter la dispersion) S assurer de l acquisition des compétences visées. Réutilisation des compétences acquises à chaque APP. Temps très limité, chaque seconde compte. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 7 / 38

Cadre de l enseignement Horaire d activités d un APP sur deux semaines Lu Ma Me Je Ve Matin 09h00-10h30 9-12h 9-12h Tutorat Procédural Collaboration Après-midi 14-17h 14-17h Conf. outils Laboratoire Figure 1 : Semaine 1 Lu Ma Me Je Ve Matin 9-12h 9-12h 9-11h Procédural Validation Consultation Après-midi 14-17h 13h30-17h 13-17h Laboratoire Tutorat Examen Figure 2 : Semaine 2 R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 8 / 38

Cadre de l enseignement Profils des étudiants Études + Stages Six trimestres d étude en génie informatique. Six projets de développement logiciel en équipe, un par trimestre. Quatre ou cinq stages de 4 mois. Niveau des étudiants Le niveau est très hétérogène. Certains étudiants possèdent: Des compétences en programmation orientée-objet. Ont expérimenté des problèmes liés au développement logiciel. Dans l ensemble, ils sont ouverts et motivés à acquérir de nouvelles compétences. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 9 / 38

Cadre de l enseignement Profils des étudiants Études + Stages Six trimestres d étude en génie informatique. Six projets de développement logiciel en équipe, un par trimestre. Quatre ou cinq stages de 4 mois. Niveau des étudiants Le niveau est très hétérogène. Certains étudiants possèdent: Des compétences en programmation orientée-objet. Ont expérimenté des problèmes liés au développement logiciel. Dans l ensemble, ils sont ouverts et motivés à acquérir de nouvelles compétences. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 9 / 38

Section 3 L APP en bref R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 10 / 38

L APP en bref Contenu Sommaire des activités Tutorat 1 : Découverte de la problématique. Configuration des outils : S assurer que tous les étudiants ont le même environnement de travail. Procéduraux : Partie théorique. Laboratoire : Développement de l application. Validation : Vérification de l application (interne et externe). Tutorat 2 : Révision des connaissances et compétences acquises. Examen sommatif et final. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 11 / 38

L APP en bref Langage, outils et projets Choix technologiques, Ce n est pas de la publicité Java. Eclipse, avec plug-ins pour svn, métriques, junit et autres. Outil de suivi Scrum : Projectus. La communication dans les équipes est auto-organisée. Les projets développés Premier module : jfig, qui est un logiciel de dessin vectoriel. Deuxième module : graphicus, qui est un logiciel d édition 3D. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 12 / 38

L APP en bref Langage, outils et projets Choix technologiques, Ce n est pas de la publicité Java. Eclipse, avec plug-ins pour svn, métriques, junit et autres. Outil de suivi Scrum : Projectus. La communication dans les équipes est auto-organisée. Les projets développés Premier module : jfig, qui est un logiciel de dessin vectoriel. Deuxième module : graphicus, qui est un logiciel d édition 3D. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 12 / 38

L APP en bref Deux applications jfig Figure 3 : Applications jfig réalisées au cours du 1er module Deux équipes, deux applications similaires, mais deux livrables distincts! R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 13 / 38

L APP en bref Une application GraphicUS Figure 4 : Application graphicus réalisée au cours du 2e module R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 14 / 38

L APP en bref Application de la méthode Scrum Mise en contexte Trois APPs de deux semaines, comprenant un sprint par semaine. Six sprints en six semaines. La méthode Scrum est expliquée au premier procédural. Pour certains étudiants, la méthode Scrum est nouvelle. La pratique Suivi continu des itérations de chaque équipe. Le backlog et les sprints sont faits par les étudiants selon les exigences du client. Le premier sprint est fortement guidé par l enseignant. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 15 / 38

L APP en bref Application de la méthode Scrum Mise en contexte Trois APPs de deux semaines, comprenant un sprint par semaine. Six sprints en six semaines. La méthode Scrum est expliquée au premier procédural. Pour certains étudiants, la méthode Scrum est nouvelle. La pratique Suivi continu des itérations de chaque équipe. Le backlog et les sprints sont faits par les étudiants selon les exigences du client. Le premier sprint est fortement guidé par l enseignant. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 15 / 38

Section 4 Application des méthodes Agiles R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 16 / 38

Application des méthodes Agiles Développement de jfig Listes des compétences à acquérir (1er module) Rappel sur les principes de la conception orientée objet. Abstraction, encapsulation, polymorphisme et héritage. Les principes avancés de programmation orientée objet. La qualité et les développements de logiciel. Utiliser le TDD (développement piloté par les tests). Les modèles de conception. Le pair programming 1. Les métriques et la qualité interne. Le réusinage. 1 Programmation en couple sonne trop romantique. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 17 / 38

Application des méthodes Agiles Développement de jfig (suite) Les activités de formation comprennent : Des exemples théoriques et pratiques enseignés pendant tout le module. Selon l APP, certains concepts sont plus approfondis. Par exemple : Au premier APP, la qualité est mentionnée. Au deuxième, c est le sujet principal et elle est quantifiée (à l aide des métriques). Dans le troisième, elle doit être maintenue ou améliorée. L enseignant joue également le rôle de client, de guide et selon cas, de scrum master et product owner. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 18 / 38

Section 5 Leçons de la programmation Agile R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 19 / 38

Leçons de la programmation Agile Vue de l enseignant... R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 20 / 38

Leçons de la programmation Agile Vue de l enseignant Points positifs de la méthode Scrum Faire une planification des tâches. Passer des fonctionnalités aux tâches. Estimation du temps pour réaliser une tâche. Réaliser un logiciel qui fonctionne et y ajouter des fonctionnalités. Travail en équipe (l équipe est responsable de tout). Amélioration continue chez les étudiants. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 21 / 38

Leçons de la programmation Agile Vue de l enseignant Points difficiles de la méthode Scrum Déterminer le temps d une tâche. Exploser une tâche en sous tâche. Assigner les bonnes tâches à un sprint (oublis / interdépendance) Répartition de toutes les tâches au début de l itération. Apprendre à acquérir des tâches en cours d itération. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 22 / 38

Leçons de la programmation Agile Vue de l enseignant Sujets enseignés et leçons Les principes avancés de la conception orientée-objet Concepts difficiles à intégrer. L usage de modèle de conception prédéfinis cache les principes qu ils utilisent. Les modèle de conception Mise en pratique rapidement (avec des imperfections). Temps nécessaire pour bien comprendre quand et/ou les utiliser. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 23 / 38

Leçons de la programmation Agile Vue de l enseignant Sujets enseignés et leçons (suite) TDD, développement piloté par les tests Réticence à l appliquer. Requiert un bon encadrement pour le développement. Plus spécifiquement pour les méthodes et les tests. Le réusinage est une révélation, Modifier un programme qui fonctionne n a jamais été pratiqué (ou presque). R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 24 / 38

Leçons de la programmation Agile Vue de l enseignant Observations La première impression est souvent que le logiciel jfig sera trop difficile à réaliser. Ils ne savent pas par où commencer. Le travail en équipe favorise l échange de connaissances. Ainsi que pair programming. La conception Agile ne fonctionne pas bien si le niveau est bas. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 25 / 38

Leçons de la programmation Agile Vue de l enseignant Acquis de base requis : Pour bien comprendre les concepts. Design Pattern OOP Bonne pratique Réusinage Tests unitaires R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 26 / 38

Leçons de la programmation Agile Vue de l enseignant Points importants à surveiller : Éviter l implémentation de fonctions trop complexe. Interdépendance entre les classes / fonctions. Tests unitaires. Découpage en modules (couplage faible). Qualité interne et externe (UI sophistiqué). R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 27 / 38

Leçons de la programmation Agile Vue de l enseignant Points difficiles pour les étudiants : Travaux en équipe. Travaux en pair programming. Respecter les exigences du client. Présenter un prototype rapidement au client. Commencer par l interface usager. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 28 / 38

Leçons de la programmation Agile Vue de l enseignant Le tuteur doit : Guider l étudiant. Éviter de forcer la main. Jouer le rôle de client. Suivre l évolution du logiciel. Suggérer des modifications et ajouts en cours de développement. Donner la revue de code. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 29 / 38

Leçons de la programmation Agile Vue par l étudiant... R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 30 / 38

Leçons de la programmation Agile Vue par l étudiant Points positifs du développement Agile : Simplifie la gestion de projet. Permet parfois de débuter un projet de zéro. Première expérience pour certains. Peut s avérer très stimulant. Force à estimer le temps requis de réalisation des tâches. Aide aussi à l estimation de tâches futures. Simplifie la planification des tâches par itération. Grâce à la priorisation des tâches. Ainsi qu aux temps estimés pour chacune d elles. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 31 / 38

Leçons de la programmation Agile Vue par l étudiant Points plus difficiles : Travailler en équipe lorsque les forces et faiblesses des membres sont inconnues. Questionnement sur la pertinence des tests et leur quantité. Augmentation de la pression sur chacun des membres (comptes à rendre à l équipe). R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 32 / 38

Leçons de la programmation Agile Vue par l étudiant Mauvaises pratiques rencontrées lors des premiers sprints: Mauvaise subdivision des tâches. Occasionnant une mauvaise estimation du temps de réalisation. Temps de réusinage non planifié. À quelle tâche doit-on attribuer ce temps de travail? Certains membres s attribuent des tâches pour l ensemble de l itération. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 33 / 38

Leçons de la programmation Agile Vue par l étudiant Trois points aidant à la réussite d un projet Agile : 1. Faciliter l intégration des membres d une équipe nouvellement formée. Identifier les forces et faiblesses de chacun. Permettre un temps d adaptation et de mise à niveau. 2. Promouvoir la programmation en pair. Pour niveler les forces et faiblesses des membres de l équipe. Pour s instruire et s améliorer. 3. Satisfaire le client rapidement, et ce : Selon ses besoins. Sans faire d ajouts superflus. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 34 / 38

Section 6 Conclusion R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 35 / 38

Conclusion Récapitulatif de la présentation. Les APPs se prêtent bien à l enseignement des méthodes agiles. En deux semaines. on constate rapidement des améliorations, tel que : Une augmentation de la qualité des logiciels Une diminution de la peur du changement. Un fort enthousiasme sur les nouvelles compétences acquises. Et les étudiants sortent ressourcés. L interaction dans les APPs à également permis aux enseignants d apprendre beaucoup. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 36 / 38

Conclusion (suite) La rétroaction avec les étudiants à permis de: Cibler les points forts de la formation et ceux à améliorer. Appliquer le principe d amélioration continue aux cours. De constater la diversité des opinions entre les enseignants et étudiants (respect des individus). La formation pourrait être transposée à un contexte de travail en entreprise. Tel que : Développer un mini projet. Faire des itérations très courtes. Planifier des périodes de rétroaction sur la nouvelle manière de développer. R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 37 / 38

Contact Les courriels Ruben Gonzalez-Rubio Ruben.Gonzalez-Rubio@USherbrooke.ca Eugène Morin Eugene.Morin@USherbrooke.ca Balkrishna Sharma Gukhool Balkrishna.Sharma.Gukhool@USherbrooke.ca R. González-Rubio, E. Morin, B.-S. Gukhool L enseignement de méthodes Agiles Agile Tour 2013 38 / 38