Agilitéet qualité logicielle: une mutation enmarche



Documents pareils
25/12/2012

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

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

Les Bonnes PRATIQUES DU TEST LOGICIEL

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

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

Testeur Agile Niveau Fondation Bertrand Cornanguer, Vice-chair Agile tester WG

Introduc)on à l Agile

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

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

Méthodes Agiles et gestion de projets

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

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

Retour d expérience implémentation Scrum / XP

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

Les méthodes itératives. Hugues MEUNIER

Méthodes agiles. CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

AGILE IPHONE DEVELOPMENT

Agile 360 Product Owner Scrum Master

OPTIMISER SON PROCESSUS DE TEST AVEC UNE APPROCHE BOITE GRISE

Le rôle du coach Agile et son apport pour le projet

Développement itératif, évolutif et agile

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

Méthodologies SCRUM Présentation et mise en oeuvre

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

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

ISTQB Agile Tester en quelques mots ISTQB Marketing Working Group

Scrum Une méthode agile pour vos projets

Les mécanismes d'assurance et de contrôle de la qualité dans un

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

Méthodes de développement

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

CHAPITRE 3 : LES METHODES AGILES?

Processus d Informatisation

Qualité du logiciel: Méthodes de test

Les 10 pratiques pour adopter une démarche DevOps efficace

LES tests d'acceptation

PagesJaunes.fr Mise en place de Scrum de scrum. Fabien Grellier Agile Tour Octobre

Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.

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

REX Scrum Master du terrain

GL Processus de développement Cycles de vie

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

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

Scrum. ... pour des projets informatiques agiles. Pascal Lando Certified Scrum product owner

Industrialisation de la chaîne de production : validation, intégration, tests

Gé nié Logiciél Livré Blanc

Scrum/XP adapté au BI/DW

Formation agile. Formation agile Created on 24 janv Edited on 29 févr Page 1 sur 16

Séance 1 Méthodologies du génie logiciel

Vérifier la qualité de vos applications logicielle de manière continue

LES TESTS CHEZ AXA FRANCE QUALIFICATION DES SOLUTIONS INFORMATIQUES (QSI) JFTL 14 avril 2015

1/15. Jean Bernard CRAMPES Daniel VIELLE

Scrum + Drupal = Julien Dubois

backlog du produit Product Owner

Génie logiciel (Un aperçu)

EXPERTS EN DÉVELOPPEMENT ET MODERNISATION DE LOGICIELS WEB ET MOBILES

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

CONSULTANT AMOA/RECETTE à la recherche d un poste dans la région de Montpellier 7 ans d expérience

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

Améliorez et industrialisez vos feedback produit

Gestion Projet. Cours 3. Le cycle de vie

Eclipse Process Framework et Telelogic Harmony/ITSW

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

UM2 - Master 2 Année Sensibilisation aux Tests de Projets Informatique - Managed Testing -

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

Mise en place d'une solution libre de gestion d'entreprise. Maurice MORETTI Directeur associé

SCRUM BUT, LE LIVRE BLANC. De la problématique de mener un projet AGILE dans une organisation classique

La solution IBM Rational pour une ALM Agile

Agile Maroc 24 Novembre Méthodes agiles. Thierry Cros. Agile Maroc 24 novembre 2010

GESTION DE PROJET : LA METHODE AGILE

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

DEMANDE D INFORMATION RFI (Request for information)

Christophe Leroy Marc Lainez. L Agilité est-elle soluble dans la culture francophone?

Les méthodes agiles UM Les méthodes agiles S. Mathon

Développement Agile des organisations et des hommes

Ingénierie des méthodes Agiles : Que cache l opposition entre déploiement et livraison en continu? Faut-il adopter DevOps 1?

Déficiences visuelles et accessibilité du patrimoine historique : synthèse des résultats du sondage

Plan de la Formation. GESTION de PROJET

L'AGILITÉ AVEC VISUAL STUDIO

Design centré sur l utilisateur et développement Agile : perspectives de réconciliation

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

En face du commanditaire, on met un chef de projet qui connait le domaine (banque, administration, etc.)

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

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

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

EXIN Agile Scrum Master

Service des stages et du placement - secteur placement ANNEE 2013 TITRES DE POSTES OFFERTS AUX DIPLOMES DE GENIE INFORMATIQUE

Livrer chaque jour ce qui est prêt! Points clés du développement d un produit avec une livrasion par jour.

Conditions gagnantes pour démarrer sa transition Agile

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

RÉUSSIR L AUTOMATISATION DU PROCESSUS DE TEST FONCTIONNEL

HISTOIRE D UNE DIGITAL FACTORY

Formation Scrum. 2 jours

Compte-rendu du petit-déjeuner. Vers l entreprise Agile

Centre de formation digital et communication : www. Komelya.fr

Comment optimiser les tests avec une démarche d automatisation simplifiée

Les méthodes agiles en développement informatique : Fondements théoriques et retours d expérience

Transcription:

Agilitéet qualité logicielle: une mutation enmarche Jean-Paul SUBRA

Introduction : le manifeste Agile Manifeste pour le développement Agile de logiciels Nous découvrons comment mieux développer des logiciels par la pratique et en aidant les autres à le faire. Ces expériences nous ont amenés à valoriser : Les individus et leurs interactions plus que les processus et les outils Des logiciels opérationnels plus qu une documentation exhaustive La collaboration avec les clients plus que la négociation contractuelle L adaptation au changement plus que le suivi d un plan Nous reconnaissons la valeur des seconds éléments, mais privilégions les premiers. Ce manifeste induit 12 principes sous-jacents, examinons quelques uns d entre eux

Zoom sur quelques principes Notre plus haute priorité est de satisfaire le client en livrant rapidementet régulièrement des fonctionnalités à grande valeur ajoutée. Accueillez positivement les changements de besoins, même tard dans le projets. Livrez fréquemmentun logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts. Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet. Un logiciel opérationnel est la principale mesure d avancement. La qualité est présente partout dans les valeurs fondamentales de l agilité

Approches traditionnelles et Agiles : la différence en une image Analyse Temps Conception Codage Test Méthodes traditionnelles (cycle en V ) Agile

L approche traditionnelle: illustration Ce qu attend le client final Specifications détaillées: une jeune femme énigmatique, aux cheveux longs, devant un paysage, etc. Livraison au client de la Version 1 Livraison au client de la Version 2 Livraison au client de la Version 3 6 mois 12 mois 12 mois Mais rien n empêche qu on arrive à ça 6 mois de travail perdus

L approche agile.. Sprint #1 Sprint #2 Sprint #3 Sprint #4 Sprint #5 2 semaines 1 mois A la fin de chaque itération, on a un produit potentiellement livrable au client final (donc validé) On bénéficie d une boucle de réaction très courte pour traiter les problèmes de non-qualité (qu il s agisse de bugs ou d inadaptation au besoin réel)

Conséquence : des contraintes fortes sur la mise en œuvre de la qualité (1/2) On doit tester souvent Intégration continue...et de plus en plus souvent déploiement continu (on livre tous les jours!) Puisqu on doit tester souvent, on doit tester rapidement On doit répéter sans cesse des jeux de tests (tests de non régression) qui grossissent avec le logiciel Pour ce faire, l automatisation est un must (mais elle n est pas applicable à tout )

Conséquence : des contraintes fortes sur la mise en œuvre de la qualité (2/2) On doit tester le plus tôt possible dans le cycle: l approche qualité doit commencer dès le développement (TU : tests unitaires ) => le bon développeur agile est aussi un testeur! les méthodes où on crée les tests avant de coder sont particulièrement efficaces (TDD: test driven development, ATDD: acceptance test driven development, ), mais encore insuffisamment pratiquées

Anti-pattern : le «Cornet de glace» Tests Interface Utilisateur Manuels Tests Interface Utilisateur Automatisés Tests de composants Tests unitaires Encore souvent, le test du logiciel est fait principalement via son interface utilisateur (car intuitivement, c est la méthode qui semble la plus simple) A éviter en approche Agile (encore + que dans les méthodes traditionnelles), car : couteux à développer (et à automatiser), longs à mettre en place et à exécuter, peu réactif, peu précis => pour le test fonctionnel d acceptance, privilégier le test à un niveau composant/api (mais il faut que l application soit bien architecturée!) Analogie pour mieux comprendre: pour un véhicule qui sort d usine, se rendre compte que le klaxon ne fonctionne pas en faisant un parcours de test sur route de 20 km n est pas du tout optimal

La pyramide des tests idéale Long Cher Faible Rapide Temps d exécution Peu cher Coût de création et maintenance Forte Précision, fiabilité

Dans le monde Agile, la qualité c est l affaire de tous et donc c est celle des développeurs Discours souvent entendu sur les pratiques TU/TDD : c est compliqué, ça coute cher à mettre en place. Mais l expérience montre que ça peut rapport gros Coût des tests Investissement sur les TU et l automatisation en début de projet Pas de TU et tests d acceptance manuels Avancement du projet

Mais alors vous ne testez pas le logiciel comme ses utilisateurs? En effet, mais on va plus loin La stratégie qualité idéale dans un modèle Agile est une combinaison des différentes pratiques de test: Beaucoup de TU automatisés Un nombre important de tests fonctionnels à un niveau API/composants Des tests d interface utilisateur automatisés (attention, le but n est pas là de tester le fonctionnel, mais le bon fonctionnement de l interaction avec l utilisateur) Quelques tests «end to end» (scénarii complets d utilisation), largement manuels Ne pas oublier tout le reste (tests de performance, montée en charge, sécurité )

Les testeurs et les autres Avant En mode Agile Testeur Scrum Master Développeur Product Owner Développeur Testeur Par construction, les testeurs font intégralement partie de l équipe Agile: les isoler des autres comme on avait parfois l habitude de le faire, est une erreur fatale. La collaboration est permanente (avec les développeurs et les représentants du client final).

Testeur Agile: un métier en mutation Etre testeur est un métier valorisé dans l environnement Agile => le testeur est un élément central du processus de développement Agile Ce n est plus une punition ou un choix par défaut On ne s improvise pas testeur: nécessite connaissances méthodologiques et techniques, capacité à comprendre le fonctionnel, bonne communication. Avec la nécessité d automatiser, on a besoin, en plus des profils traditionnels, de testeurs qui savent aussi développer (par ex, des scripts de test, mais parfois aussi aller dans le code du logiciel qu ils testent) «Software Engineer in Test» dans l approche Google Test et développement sont plus proches que jamais: certains sociétés ne distinguent plus les 2 (pas de testeurs!)

Entendu récemment: «L Agile, c est pas bien on n arrive pas à tester car rien n est terminé à la fin des sprints» Dire qu on a mis en place une démarche Agile, ça ne suffit pas et quand bien même aujourd hui presque tout le monde le prétend* il faut le faire en comprenant les fondements, sinon ça ne marche pas et la qualité ne sera évidemment pas au rendez-vous. Passer à l agilité, nécessite d abord un réel investissement en formation et en accompagnement car c est un changement majeur par rapport au modèle selon lequel la plupart des développeurs ou testeurs ont été formés. Il y a des outils très simples permettant de s assurer que les fondements sont connus et maîtrisés, comme les Professional Scrum Assesments de Scrum.org. Une fois que le déploiement est terminé, et bien, ce n est pas terminé... car il faut en permanence évaluer ses pratiques et les adapter. * le World QualityReport indique que 93% des entreprises ayant répondu en 2014 ont conduit au moins un projet agile

Conclusion Le modèle Agile intègre la qualité au cœur du processus de développement, de manière continue au cours des projets logiciels Pour en tirer les bénéfices, il est indispensable de mettre en place les pratiques adaptées: TU (et idéalement TDD), automatisation des tests, intégration continue, Bien appliqué (ce qui nécessite un investissement en formation et une dynamique d amélioration continue), il permet de délivrer de meilleurs logiciels et de limiter les gaspillages (grâce aux cycles courts) Il induit une transformation/une professionnalisation du rôle des testeurs, qui voient (enfin) l importance de leur mission complètement reconnue

Merci! jean-paul.subra@softmethods.fr