9
Méthodologie document.docx AGILE Sommaire 1 Introduction.............................................................1 2 Processus de développement...............................................2 3 Méthode Agile ou Cycle en V ?............................................2 3.1 La méthode du Cycle en V.................................................... 3 3.2 La méthode Agile............................................................ 3 3.3 Au final, un mode de livraison..............................................4 4 LA MÉTHODOLOGIE DU PROJET : SCRUM.......................................... 4 5 USER STORIES..............................................................5 6 Mode de fonctionnement...................................................5 7 LES APPORTS DE LA MÉTHODOLOGIE SCRUM........................................7 8 LEXIQUE...................................................................7 1 INTRODUCTION L’innovation est un passage obligé pour la croissance des entreprises ! L’entreprise qui n’innove pas créera de moins en moins de valeur ajoutée et perdra progressivement de sa compétitivité. Par contre, l’entreprise qui innove saura garder sa compétitivité, mais rencontrera fatalement d’autres problèmes, en particulier sur la maintenance et l’amélioration de ses outils. L’entreprise doit savoir garder le contrôle de ses développements et de ses outils informatiques. L’accroissement de la complexité entraîne inéluctablement celui du coût de développement des projets informatiques, mais aussi celui du coût dû aux tests et à la validation des systèmes finals. Frédéric Sagez Page 1 sur 9 ASFA

ASFA - Méthodologie - AGILE

Embed Size (px)

Citation preview

Page 1: ASFA - Méthodologie - AGILE

Méthodologie document.docx

AGILE

Sommaire

1 Introduction........................................................................................................................................................12 Processus de développement.............................................................................................................................23 Méthode Agile ou Cycle en V ?............................................................................................................................2

3.1 La méthode du Cycle en V............................................................................................................................................33.2 La méthode Agile.........................................................................................................................................................33.3 Au final, un mode de livraison......................................................................................................................................4

4 LA MÉTHODOLOGIE DU PROJET : SCRUM.................................................................................................................45 USER STORIES........................................................................................................................................................56 Mode de fonctionnement...................................................................................................................................57 LES APPORTS DE LA MÉTHODOLOGIE SCRUM............................................................................................................78 LEXIQUE................................................................................................................................................................7

1 INTRODUCTION

L’innovation est un passage obligé pour la croissance des entreprises !

L’entreprise qui n’innove pas créera de moins en moins de valeur ajoutée et perdra progressivement de sa compétitivité. Par contre, l’entreprise qui innove saura garder sa compétitivité, mais rencontrera fatalement d’autres problèmes, en particulier sur la maintenance et l’amélioration de ses outils.

L’entreprise doit savoir garder le contrôle de ses développements et de ses outils informatiques. L’accroissement de la complexité entraîne inéluctablement celui du coût de développement des projets informatiques, mais aussi celui du coût dû aux tests et à la validation des systèmes finals.

Pour réduire les risques d’un projet informatique, il faut :

Frédéric Sagez Page 1 sur 7 ASFA

Page 2: ASFA - Méthodologie - AGILE

Méthodologie document.docx

Modéliser le système, Transformer un besoin du système en exigence (Fonctionnalité) et le rédiger dans un langage clair et

précis pour la maîtrise d’œuvre, Estimer la charge du projet en ayant très tôt dans la phase de développement une architecture testée et

validée, Réduire les risques en offrant des spécifications détaillées, un modèle et un ensemble de test qui

correspondent aux exigences du système et sur lesquels l'équipe Projet peut s’appuyer, L'équipe Projet De faire des démonstrations des parties du système, Augmenter la maturité du métier en lui montrant que son choix d’analyse amont a permis d’améliorer la

qualité de l’ensemble de son projet.

L'objectif principal de la méthode Agile est d’offrir aux parties prenantes un ensemble de méthodes et de procédés pour réduire les risques techniques et fonctionnels d’un projet informatique et d’en améliorer l’assurance qualité.

2 PROCESSUS DE DÉVELOPPEMENT

Basée sur un processus itératif, une approche Agile vise à livrer, concrètement et le plus rapidement possible, du code plutôt que de la documentation. L’objectif est de pouvoir recueillir un maximum de commentaires afin d’améliorer le produit de façon continue.

Les fondamentaux : L'équipe : composée de personnes et d'interactions plutôt que de processus et d’outils, L'application : un produit fonctionnel plutôt que de la documentation complète, La collaboration : elle se fait avec le client/métier/utilisateur plutôt que par la négociation de

contrats, L'acceptation du changement : c'est réagir au changement plutôt que de suivre un plan.

Avantage : Découper le projet pour pouvoir le réaliser et estimer le temps qu’il va prendre, C'est la méthode la plus efficace pour transmettre de l’information, Avoir une meilleure vue d’ensemble sur :

o Le développement de l'application,o La satisfaction du métier,o Et le meilleur respect des échéances.

Remarque : s’il n’y a que les informaticiens qui s’impliquent, l’intégration de la méthode Agile ne fonctionnera pas ! Il faut que l’ensemble des employés accepte de se prêter à l’exercice !

3 MÉTHODE AGILE OU CYCLE EN V ?

Comment garantir un résultat, comment se prononcer sur des deadlines, quand un élément critique du projet n’est pas dans le domaine de responsabilité ? Deux possibilités :

Frédéric Sagez Page 2 sur 7 ASFA

Page 3: ASFA - Méthodologie - AGILE

Méthodologie document.docx

Soit on arrive à faire coïncider le volume du flux d’idées et la capacité de production pour retrouver un équilibre,

Soit on stocke les idées sous la forme de documentation, de spécifications, dans l’attente de l’allocation de moyens de production.

Avec les méthodes Agiles, on est dans la première possibilité. Le cycle en V correspond à la seconde possibilité.

3.1 La méthode du Cycle en V

Cette méthode repose sur un développement de bout en bout dite Incrémental, c’est donc une délégation totale de la fabrication de l’application jusqu’à la livraison finale. Un cycle de développement qui peut prendre plusieurs mois et qui est supposé "borné".

3.2 La méthode Agile

Cette méthode est Itérative et aussi participative. On développe des petits morceaux de l’Application qui apportent de la valeur, que l’on fait valider par le métier avant de passer aux suivants. C’est le métier (avec les utilisateurs) qui pilote au fur et à mesure le développement à travers le choix des fonctionnalités qu’il souhaite voir développer. Un cycle de développement qui est une Itération peut prendre 1 à 4 semaines comme cycle de fonctionnement.

Frédéric Sagez Page 3 sur 7 ASFA

Page 4: ASFA - Méthodologie - AGILE

Méthodologie document.docx

3.3 Au final, un mode de livraison

Le mode Itératif permet d'accroitre la vision globale et finale du produit alors le mode Incrémental permet uniquement d'avoir une vision globale à la livraison du produit final.

Vision d’un projet au fur et à mesure de sa livraison

La méthode Agile permet aussi d’identifier rapidement les problèmes et d'éviter l’effet tunnel qui est le principal inconvénient d’une méthode traditionnelle comme le cycle en V.

4 LA MÉTHODOLOGIE DU PROJET : SCRUM

1. On se focalise sur la livraison rapide d’une partie du Produit qui fonctionne et qui propose la plus grande valeur métier possible (par fonctionnalités). La durée de livraison oscille entre 1 à 4 semaines et est identifiée sous la forme d'un SPRINT,

2. Les développeurs s’organisent seuls : ils définissent l’organisation qui leur paraît la plus adaptée pour remplir le point précédent et essayent de s’améliorer perpétuellement,

3. Le planning (Story Board) est implémenté avec des Story Points (petites histoires), cela permet d'assurer la continuité au niveau du développement,

4. Et c’est le métier qui fixe les priorités du développement au travers du BACKLOG (Carnet du produit).

Frédéric Sagez Page 4 sur 7 ASFA

Page 5: ASFA - Méthodologie - AGILE

Méthodologie document.docx

Le projet dans son ensemble utilise la méthodologie Scrum qui est enrichie par la technique des User Stories.

5 USER STORIES

Le Produit (l'expression du besoin) est découpé en histoires indépendantes, rédigées dans le langage de l’utilisateur et dont la précision s’affine en fonction de la place dans le Carnet du produit (BACKLOG).Le découpage en histoires (Story Points) permet d'effectuer des estimations, une histoire qui monte dans le backlog est souvent découpée en plus petites histoires : le contenu est ainsi plus détaillé et donc les estimations sont plus précises.

Au bout de quelques Sprints, on connaît le nombre de Story Points réalisés par exemple en 2 semaines : cela s’appelle la Vélocité. Ceci permettra d'adapter automatiquement le planning. Par exemple, si des Points (estimations) n'ont pas été développés, on pourra les incorporer dans le Sprint suivant.

6 MODE DE FONCTIONNEMENT

L’approche traditionnelle consiste en l’expression détaillée et validée du besoin en entrée de réalisation, laissant peu de place au changement, c'est le principe du cycle en V.

L’approche Agile propose davantage de visibilité, en impliquant le métier du début jusqu'à la fin du projet et en

Frédéric Sagez Page 5 sur 7 ASFA

Page 6: ASFA - Méthodologie - AGILE

Méthodologie document.docx

adoptant un processus de développement Itératif.

Le principe de base de Scrum est de focaliser l’« équipe » sur une partie limitée et maîtrisable des fonctionnalités à réaliser. Chaque Sprint possède, préalablement à son exécution, un but à atteindre, défini par le propriétaire du produit (Product Owner), à partir duquel sont choisies les fonctionnalités à implémenter dans cet incrément. Un Sprint aboutit toujours à la livraison d'un produit partiel fonctionnel.

Un principe fort des méthodes Agiles est la participation active du métier, soit le client. Cela permet de choisir plus finement les fonctionnalités réalisées à chaque incrément. Le propriétaire du produit peut à tout moment compléter ou modifier la liste des fonctionnalités à produire pour les prochains Sprints. Sans modifier le but du Sprint en cours, celui-ci peut être affiné et faire l'objet d'une renégociation entre le propriétaire du produit et l'équipe de développement suite à de nouvelles connaissances. Si le but du Sprint devient obsolète, le propriétaire du produit a la capacité d'annuler un Sprint en cours.

C'est sur la base d'une démonstration après chaque fin de Sprint que le propriétaire du produit valide chaque fonctionnalité planifiée pour ce Sprint. Et c'est l'objectif de la Revue de Sprint, de valider le logiciel qui a été produit pendant le Sprint précédent.

Une fois le bilan du Sprint réalisé, l'équipe et le Propriétaire de produit proposent des aménagements sur le Carnet du produit et sur la planification provisoire de la release. Il est probable qu'à ce moment des items soient ajoutés, modifiés ou ré-estimés, en conséquence de ce qui a été découvert.

Scrum définit trois rôles dans une équipe :

1. Product Owner (Propriétaire du produit)Rôle : Il définit chaque élément du Carnet du produit (backlog) en leur associant les attributs suivants : une description, une estimation et un ordre. Il gère les éléments dans le Carnet du produit (backlog), il peut changer l'ordre des éléments, ajouter/modifier/supprimer des éléments dans le carnet. En fait c’est lui qui créé les histoires.Attendus : Il est le représentant du métier et des utilisateurs finaux.

2. Scrum Master (Facilitateur)Rôle : Il coache l'équipe de développement et valide fonctionnellement les développements avec des cas de tests.Attendus : il travaille avec le propriétaire du produit pour rédiger les composantes du Carnet de produit et

Frédéric Sagez Page 6 sur 7 ASFA

Page 7: ASFA - Méthodologie - AGILE

Méthodologie document.docx

en faire le suivit. Il calcul la Vélocité et rend compte de la progression des développements à toute l’équipe.

Il est le responsable de la méthode et de son fonctionnement.

3. Developer (Développeur)Rôle : Il fait le développement des produits et à toutes les compétences pour réaliser le projet.Attendus : il réalise et fait des démonstrations de versions du produit "potentiellement utilisable" et disponible.

7 LES APPORTS DE LA MÉTHODOLOGIE SCRUM

1. Le changement est facilité grâce à une meilleure communication entre l’équipe de développement et le métier,

2. La productivité augmente, le développement par incrémentation permet de se focaliser sur les aspects importants du produit,

3. Les ressources humaines sont motivées grâce à une meilleure cohésion de l’équipe,4. La qualité s’améliore,5. Les risques diminuent,6. Le développement en concordance avec les besoins réels du métier permet de répondre précisément à

la demande,7. Le temps de livraison de la version de production est amélioré,8. Cohérence entre développeur et métier.

8 LEXIQUE

Terme Description Informations

AGILE GROUPES DE PRATIQUES DE PROJETS DE DÉVELOPPEMENT EN INFORMATIQUE

http://fr.wikipedia.org/wiki/M%C3%A9thode_agile

SCRUM DÉCOUPAGE DE PROJETS EN ITÉRATIONS SOUS FORME DE « SPRINTS »

http://fr.wikipedia.org/wiki/Scrum_(m%C3%A9thode)

ITERATION MÉTHODE ITÉRATIVE EST UN PROCÉDÉ ALGORITHMIQUE UTILISÉ POUR RÉSOUDRE UN PROBLÈME

http://fr.wikipedia.org/wiki/M%C3%A9thode_it%C3%A9rative

INCREMENTAL MÉTHODE DE DÉVELOPPEMENT DE LOGICIELS OÙ LE MODÈLE EST CONÇU, IMPLÉMENTÉ ET TESTÉ PROGRESSIVEMENT

http://en.wikipedia.org/wiki/Incremental_build_model

Frédéric Sagez Page 7 sur 7 ASFA