31
Méthodes Agile Pour la gestion de projets Pascal Fares - ISAE Cnam Liban (c) Creative Common Share Alike

Méthodes agile

Embed Size (px)

Citation preview

Page 1: Méthodes agile

Méthodes Agile

Pour la gestion de projets

Pascal Fares - ISAE Cnam Liban

(c) Creative Common Share

Alike

Page 2: Méthodes agile

Les valeurs

1. Personnes et interaction Vs processus et outils

2. Logiciel fonctionnel Vs documentation complète

3. Collaboration avec le client Vs négociation de contrat

4. Réagir au changement Vs suivre un plan

Pascal Fares - ISAE Cnam Liban

(c) Creative Common Share

Alike

Page 3: Méthodes agile

Personnes et interaction plutôt que processus et outils

L'équipe: Dans l'optique agile, l'équipe est bien plus importante que les moyens matériels ou les procédures. Il est préférable d'avoir une équipe soudée et qui communique composée de éléments moyens plutôt qu'une équipe composée d'individualistes, même brillants. La communication est une notion fondamentale.

Pascal Fares - ISAE Cnam Liban

(c) Creative Common Share

Alike

Page 4: Méthodes agile

Logiciel fonctionnel plutôt que documentation complète

L'application: Il est vital que l'application fonctionne. Le reste, et notamment la documentation technique, est secondaire, sachant qu'une documentation succincte et précise est utile comme moyen de communication. La documentation représente une charge de travail importante, mais peut être néfaste si elle n'est pas à jour. Il est préférable de commenter abondamment le code lui-même, et surtout de transférer les compétences au sein de l'équipe (on en revient à l'importance de la communication).

Pascal Fares - ISAE Cnam Liban

(c) Creative Common Share

Alike

Page 5: Méthodes agile

Collaboration avec le client plutôt que négociation de contrat

La collaboration: Le client doit être impliqué dans le développement. On ne peut se contenter de négocier un contrat au début du projet, puis de négliger les demandes du client. Le client doit collaborer avec l'équipe et fournir un "feed-back" continu sur l'adaptation du logiciel à ses attentes.

Pascal Fares - ISAE Cnam Liban

(c) Creative Common Share

Alike

Page 6: Méthodes agile

Réagir au changement plutôt que suivre un plan

L'acceptation du changement : La planification initiale et la structure du logiciel doivent être flexibles afin de permettre l'évolution de la demande du client tout au long du projet. Les premières versions du logiciel vont souvent provoquer des demandes d'évolution.

Pascal Fares - ISAE Cnam Liban

(c) Creative Common Share

Alike

Page 7: Méthodes agile

Les principes

4 valeurs => 12 principes

1- Notre première priorité est de satisfaire le client en livrant tôt et régulièrement des logiciels utiles.

2- Le changement est bienvenu, même tardivement dans le développement. Les processus agiles exploitent le changement comme avantage compétitif pour le client.

Pascal Fares - ISAE Cnam Liban

(c) Creative Common Share

Alike

Page 8: Méthodes agile

Les principes

3- Livrer fréquemment une application fonctionnelle, toutes les deux semaines à deux mois, avec une tendance pour la période la plus courte.

4- Les gens de l'art et les développeurs doivent collaborer quotidiennement au projet.

Pascal Fares - ISAE Cnam Liban

(c) Creative Common Share

Alike

Page 9: Méthodes agile

Les principes

5- Bâtissez le projet autour de personnes motivées. Donnez leur l'environnement et le soutien dont elles ont besoin, et croyez en leur capacité à faire le travail.

6- La méthode la plus efficace de transmettre l'information est une conversation en face à face (ou les moyens de e-communication).

Pascal Fares - ISAE Cnam Liban

(c) Creative Common Share

Alike

Page 10: Méthodes agile

Les principes

7- Un logiciel fonctionnel est la meilleure unité de mesure de la progression du projet.

8- Les processus agiles promeuvent un rythme de développement soutenable. Commanditaires, développeurs et utilisateurs devraient pouvoir maintenir le rythme indéfiniment.

Pascal Fares - ISAE Cnam Liban

(c) Creative Common Share

Alike

Page 11: Méthodes agile

Les principes

9- Une attention continue à l'excellence technique et à la qualité de la conception améliore l'agilité.

10- La simplicité - l'art de maximiser la quantité de travail à ne pas faire - est essentielle.

Pascal Fares - ISAE Cnam Liban

(c) Creative Common Share

Alike

Page 12: Méthodes agile

Les principes

11- Les meilleures architectures, spécifications et conceptions sont issues d'équipes qui s'organisent seules.

12- À intervalle régulier, l'équipe réfléchit aux moyens de devenir plus efficace, puis accorde et ajuste son comportement dans ce sens.

Pascal Fares - ISAE Cnam Liban

(c) Creative Common Share

Alike

Page 13: Méthodes agile

La méthode alors c'est quoi?

Itérative, incrémentale et adaptative; dans un esprit de collaboration avec un minimum de formalisme.

Ceci a donné (Annual survey of agility 2008) des produits de haute qualité tout en tenant compte des besoins (en évolution continue) du client et de l'environnement

Page 14: Méthodes agile

Des méthodes et processus

Les plus utilisés1. Scrum la plus encienne2. Kanban3. Lean (SCRUMBAN)

Pascal Fares - ISAE Cnam Liban

(c) Creative Common Share

Alike

Page 15: Méthodes agile

Les bases de SCRUM

Scrum est une méthode agile dédiée à la gestion de projet.

Cette méthode de gestion à pour principal objectif d’améliorer la productivité de l'équipe.

Page 16: Méthodes agile
Page 17: Méthodes agile

Répartitions des rôles dans Scrum

● Trois rôles○ Scrum Master (Facilitateur modérateur)

○ Team (Tous les membre de l'équipe ou du goupe)●

○ Product owner (Celui qui souhaite le produit)

Page 18: Méthodes agile

Le Scrum Master

● S’assure que les principes et les valeurs de Scrum sont respectés

● Facilite la communication au sein de l’équipe

● Cherche à améliorer la productivité et le savoir faire de son équipe

Page 19: Méthodes agile

L’équipe ou membre du goupe

● Pas de rôle bien déterminé : architecte, développeur, testeur

● Tous les membres de l’équipe apportent leur savoir faire pour accomplir les tâches

Fonctionne pour des groupes de 6 à 10 personnes en général et pouvant aller jusqu’à 200 personnes

Page 20: Méthodes agile

Le Product Owner

● Expert métier, définit les spécifications fonctionnelles

● Établit la priorité des fonctionnalités à développer ou corriger

● Valide les fonctionnalités développées● Joue le rôle du client potentiel

Page 21: Méthodes agile

Le processus

Page 22: Méthodes agile

Les éléments du processus

● Le product backlog● Le sprint● Le sprint backlog● Les stories● Le Sprint meeting● Le daily meeting (la mélée)● BurnDown Chart

Page 23: Méthodes agile

Le product backlog

Liste de stories:Le référentiel des exigences initiales est dressé et hiérarchisé avec le client. Il constitue ce que l’on nomme le "product backlog". Il ne doit pas nécessairement contenir toutes les fonctionnalités attendues dès le début du projet, il va évoluer durant le projet en parallèle des besoins du client.

Page 24: Méthodes agile

User Story

Liste des fonctionnalités demandés par le client, dans la terminologie utilisée par le client. Une User Story ou Story contient:● ID – un identifiant unique● Nom – un nom court ● Importance – priorité● Estimation – La charge de travail● Demo – test de validation.● Notes – clarifications, références documentaires…

La storie dans java.net sera une issue "open"

Page 25: Méthodes agile

Sprint, Sprint backlog

Le cycle de vie Scrum est rythmé par des itérations de courte durée. Chaque itération est nommée le sprint.Le sprint backlog: un sous ensemble du product backlog. Le sprint backlog représente ce qui doit être fait durant l'itération sprint.

Page 26: Méthodes agile

Le sprint planning meeting

Avant chaque sprint, une réunion de planification, le sprint planning meeting est organisé.

○ Le planning sélectionne dans le product backlog les stories les plus prioritaires

○ Elles seront développées, testées et livrées au client à la fin du sprint.

○ Elles constituent le sprint backlog, un sous ensemble du product backlog.

Equipe virtuelle(en ligne) => Visio conférence ou forum

Page 27: Méthodes agile

La mélée, Daily Scrum Meeting

Chaque jour, une point d’avancement, chaque membre répond au 3 questions:

● Ce que j’ai fait hier et les éventuels problèmes rencontrés

● Ce que je vais faire aujourd’hui● Est ce que j’ai des difficultés pour continuer mon

travail.

A la fin le Scrum master produit le BurnDown Chart (suivi du reste à faire)En Equipe virtuel un mail chaque matin dans la mailing list + post dans forum, mise à jour des issues

Page 28: Méthodes agile

KANBAN la gestion des flux

Page 29: Méthodes agile

Organisation 3 points de vues

Page 30: Méthodes agile

LJUG et SCRUMBAN? JIRA dans java.

net

Par l'exemple

Page 31: Méthodes agile