Processus de développement agile

Slides:



Advertisements
Présentations similaires
Programmation Financière (PF) Gestion financière des projets.
Advertisements

Outils et scénarios d’édition collaborative en Haute École Étienne Vandeput Projet HETICE © CRIFA - ULg.
Reformulation  L’AFPA promoteur du projet souhaite mettre en place une application WEB afin de remplacer une solution en Java. Pour ce projet 4 mandataires.
Présentation LabPlus v3. Solution novatrice en Technologies de l’information Solution novatrice en Technologies de l’information Application pour la Gestion.
Encadrés par C. Recanati et N. Rolin. 11/01/2016année universitaire: Plan Objectifs du module Evaluation et livrables Premier rapport Réalisation.
Des outils pour travailler la compréhension au cycle 2 Je lis, je comprends CE1.
1 TER 2012 Engilberge, Lludice, M'rah Flex Web Roster /32.
2 Conception objet et UML 3 Sources ● Cours de Martine Gauthier ● Cours de François Charoy ● Slides de Lou Franco ●
Refonte du portail eaufrance Présentation du cadre de référence pour avis GCIB – 14/10/2014 – Anne Macaire.
Que faire? La recherche découverte. Dans une recherche découverte Sensibilisation ; Discussion ; Préparation-projet ; Opération-activités ; Réflexion.
Plan Présentation de 2TUP 2TUP, un processus UP 2TUP et UML Les apports de 2TUP 2TUP en détail 2TUP dans la pratique.
Introduction à Scrum par la pratique Florence Chabanois (25/06/09)
Les Méthodes De Conception Dans les Systèmes D’information Réaliser par : Bouriche Imane Gramez Nadjet 2014/2015 Université Ferhat Abbas – Sétif Faculté.
DOTC Loire Vallée du Rhône - DFI - Antoine MICHE
Reforme du collège physique chimie au cycle 4
DropBox Projet App’Ifa.
Les 4 valeurs du développement agile
Usine de Développement.
Le nouveau brevet 29 et 30 Juin 2017
Conférence Aviq soins et santé
MODULE 1 Contexte des directives relatives à la VBG
Comment accroître le nombre de contributions externes ?
Le Cycle de vie d’un logiciel
Séminaire Novembre 2006 Zephir : Déploiement et supervision des serveurs Eole.
MOT Éditeur de modèles de connaissances par objets typés
7.10 Le suivi des évaluations annuelles Textes de référence Norme AFNOR NF X § 5 Compétences requises liées aux fonctions 7.10 Le suivi.
Trois démarches pédagogiques complémentaires et imbriquées
Les 4 valeurs du développement agile
Ecole Normale Supérieure de Mostaganem
Activités algorithmiques
Presentation title Convention-cadre sur les changements climatiques
Virtualisation d’applications mobiles dans un réseau de Cloudlets
STRATÉGIES ET INSTRUMENTS D´ÉVALUATION
Réunion du mardi 20 septembre 2016
Enseigner la Technologie au collège
Projet de « cellule Europe mutualisée »
Tableau de bord des risques
Offres Viveris Systèmes
INF362 : projet logiciel.
L’évaluation positive en maternelle
Démarche de conception. Démarche didactique.
Épreuve E5 Diagnostic opérationnel et proposition de solutions
Notion De Gestion De Bases De Données
INF05 Conduite de projet Séance 1
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
ERP Réalisé par : Chelly Fatma Fehri Saif Weli Amer Classe : 1TSI 2.
Développement d’applications interactives
PROJET D’ORGANISATION DES PROCESSUS
Technologie 4° Le cours : Au collège
Continuité sur le cycle
Benali Fellague Mouhamed
Modélisation objet avec UML
Épreuve écrite E4.1 BTS CG Session /02/2017.
Architectures Logicielles Java GLG203 GLG204
Base de donnée de support
Le Diplôme National du Brevet
Serveurs d’applications
Bilan de projet pour [Nom du projet]
JDepend - Analyse de la qualité du code Java -
Un Mécanisme d‘Adaptation Guidé par le Contexte en Utilisant une Représentation par Objets Manuele Kirsch Pinheiro Laboratoire LSR – IMAG, Équipe SIGMA.
Circulation du modèle de Community Based Planning : une méthode participative agile et inhérente aux communautés ? Présentation finale (2nd Partie) Tuteur.
Points de vue et sémantiques ad hoc
Réussir en TAD: mission possible
Présenter une méthode d’apprentissage - Aider à la mise en
Chap. 4 : Préparer les contrats commerciaux
Sigle optionnel en français FBD
Conférence Témoignage-Métiers
MOT Éditeur de modèles de connaissances par objets typés
Nom élève 1 - Nom élève 2 - Nom élève 3 - Nom élève 4
CR-GR-HSE-414 Exigences HSE pour l’opération des pipelines
Transcription de la présentation:

Processus de développement agile Application à l’enseignement François Charoy LORIA/Inria/TELECOM Nancy

Références

Processus de développement Activités du développement de logiciel Spécification Conception Implantation Vérification Maintenance

Modèle de processus en cascade

Modèle de processus en V

Pourquoi changer ? Frustration des développeurs Echec des projets Evolution des besoins des clients Nouvelles façons de Distribuer le logiciel Consommer le logiciel

Les principes Implication du client Livraison incrémentale Les développeurs avant les processus Le changement est naturel La simplicité est primordiale

Les pratiques Planification incrémentale Livraisons fréquentes Conception simple Tester d’abord Refactoring

Les pratiques (2) Programmation par paire Appartenance collective du code Intégration continue Rythme de développement soutenable Client disponible

Cycle de développement Choisir les histoires Transformer les histoires en taches Planifier la livraison Evaluer Livrer Développer/ Intégrer/Tester

Les histoires Petites, utiles, testables, évaluable En tant qu’étudiant, je peux accéder à mes notes en ligne En tant qu’enseignant, je peux modifier les notes de mes étudiants

Les cartes

La progression

Les Tests Les tests sont importants ! Il faut tester tout le temps Ecrire les tests avant Développer les tests sur la base des histoires Impliquer le client dans les tests Automatiser l’exécution des tests

Exemple (test a little – Junit 4)

Exemple (suite)

Exemple (code a little)

Pair programming

Pair programming Partage de connaissance Partage du code Revue de code Productivité équivalente

Le changement Avant : concevoir pour permettre le changement XP : anticiper le changement complique le code => Courage et Refactoring

Refactoring Améliorer le code de façon continue et sure Transformer le code pour le rendre plus clair et plus structuré Le code est la documentation

Exemples Renommer des méthodes ou des attributs Réorganiser la hiérarchie des classes Transformer une partie de code en fonction …

Outillage

Méthode agile en classe Contexte différent Pas de vrai client Productivité plus faible Itérations plus petites Mais Progression plus régulière Suivi plus efficace

Objectifs conduire en équipe un projet informatique de bout en bout, de la phase d’analyse des besoins jusqu’à la livraison d’un produit fini, selon un processus itératif, concevoir et développer en Java un produit logiciel ayant une architecture claire et de qualité, en particulier en faisant appel à des patrons de conception (design patterns), maîtriser les fonctionnalités des ateliers de développement, et se familiariser avec les outils de gestion de version et de suivi des bogues.

Quel sujet ? Amusant ? Qui puisse être réalisé progressivement Exemple Jeux avec des variantes Gestionnaire de photos Client Twitter On peut ajuster la cible en cours de route

Composer les groupes Les groupes seront constitués de 4 étudiants. Les groupes rencontreront leur encadrant à chaque itération et fourniront systématiquement un produit fini. La fréquence des réunions peut être augmentée en fonction des difficultés rencontrées par le groupe. Nous entendons par produit fini : une version compilée et packagée de l’application associée à une documentation contenant les instructions de lancement, l’ensemble du code source utilisé dans cette version de l’application, identifié dans le gestionnaire de version (utilisation de la fonction de tagging du gestionnaire de versions). Le code source doit être documenté (javadoc) et respecter un certain nombre de conventions de nommage (cf. section dédiée). Un document contenant les instructions de compilation de ce code source doit également être présent.

Planning Semaine 39 : constitution des groupes. Semaine 40 : affectation des encadrants, première réunion avec l’encadrant. Semaine 41 : première version des use cases, classement et planification des  itérations. La suite de la progression suivra une démarche itérative selon une méthode de type agile (extreme programming). Semaine 45 : première itération (démonstration des scénarios implantés, mise à jour du planning), Semaine 47 : deuxième itération (démonstration, mise à jour du planning). Semaine 50 : troisième (dernière) itération Semaine 51 : soutenance finale (démonstration et rendu du projet).

Utiliser une plateforme (redmine) Partage du code Suivi de l’avancée du projet et des contributions

Gestion de version (SVN, GIT)

Historique des versions

Les cas d’utilisations Ce sont les histoires

A chaque itération Tester le logiciel. Comparer avec les objectifs Identifier les problèmes Discuter l’architecture Replanifier

Les itérations Vérification de l’avancement Identification des blocages Discussion sur le développement Tutorat (30 mn/groupe) Le respect de la consigne de release est essentiel !

Les tests On voudrait forcer la mise en place de tests unitaires Dans la pratique, très difficile

Evaluation Note de suivi La note de suivi est donnée par votre encadrant de projet. Les critères principaux pour cette note seront les suivants : qualité de l’implantation : le logiciel fonctionne conformément au cahier des charges et aux évolutions décidées au cours du projet, qualité de la conception : le logiciel est construit de façon modulaire. Il suit une architecture Modèle-Vue-Contrôleur (MVC). La conception est justifiée, qualité du code : le code est écrit en respectant des règles communes et homogènes (nommage, indentation ...). Cette note tiendra également compte de l’évolution du projet et du respect du principe des itérations. La note de soutenance est donnée par un autre enseignant (autre que votre encadrant de projet). Elle prend principalement en considération la qualité de votre démonstration, les fonctionnalités et l’ergonomie du produit final ainsi que la qualité du rapport fourni.

En conclusion Méthode plutôt adaptée Peut être chronophage Stimulant pour les étudiants Permet des échanges et une bonne compréhension des difficultés