Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Introduction à l'Agilité...

...et ses méthodes
by

Ludovic Pradel

on 30 May 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Introduction à l'Agilité...

...et ses méthodes Introduction à l'Agilité... Constats Extreme Programming Scrum Votre contexte ? L'agilité c'est quoi ? Agile Manifesto Principes Agile Agilité Vs Cycle en V Les individus et leurs interactions plus que les processus et les outils Des logiciels opérationnels plus qu'une documentation exhaustive plus que la négociation contractuelle plus que le suivi d'un plan La collaboration avec les clients L'adaptation au changement Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à forte valeur ajoutée. Accueillez positivement le changement de besoin, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client. Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois avec une préférence pour la période la plus courte. Diviser pour mieux... bosser ? Découper le produit... Découpage en user stories
Élément apportant de la valeur
Formulation d'exigence parlante à tous les membres de l'équipe
Trié par ordre de priorité par le Product Owner
Estimé par les membres de l'équipe de dev Découper le travail... L'équipe s'engage sur un ensemble de user stories à réaliser Découpage en tache Conception de haut niveau Découper le temps Mélée quotidienne 15 minutes
Tous les jours
Chacun répond à 3 questions 1. Qu'est ce que j'ai fait hier ? 2. Qu'est ce que je fais aujourd'hui ? 3. Est-ce que je suis bloqué ? Sprint 1 à 4 semaines Chaque fin de sprint... L'équipe livre une application partielle,
mais fonctionnelle et testé Livraison effectué durant la revue de sprint Rythmé par les réunions Planification de sprint Découpage en tâches Mêlée quotidienne Revue de sprint Rétrospective L'équipe présente son travail Tous le monde peut venir voir ! Rétrospective A chaque fin de sprint Moment où l'équipe cherche à améliorer le processus pour les futurs sprints Avec toute l'équipe Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet. Réaliser les projets avec des personnes motivées. Fournissez-leur l'environnement et le soutien dont ils ont besoin et faites-leur confiance pour attendre les objectifs fixés. La méthode la plus simple et la plus efficace pour transmettre de l'information à l'équipe de développement et à l'intérieur de celle-ci est le dialogue face à face. Un Logiciel opérationnel est la principale mesure d'avancement Les processus Agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant. Une attention continue à l'excellence technique et à une bonne conception renforce l'Agilité. La simplicité -- c'est à dire l'art de minimiser la quantité de travail inutile -- est essentielle. Les meilleurs architectures, spécifications et conceptions émergent d'équipes auto-organisées. A intervalles réguliers, l'équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence. Pilotage par les prévisions initiales Pilotage par la valeur métier / client RUP XP Scrum Kanban à la rache... + Normative + Adaptative Rôles, activités et artefacts Plutôt que de réaliser une phase
du cycle de vie à la fois... ...une équipe Agile réalise, en continu, un peu de chaque phase ! 2001 17 Spécialistes du developpement Ludovic Pradel Simplicité Née en 1999 (Kent Beck) But : Réduire les coûts du changement Traditionnal XP Valeurs d'XP Pratiques d'XP Communication Simplicité Courage Feedback Respect Pousser les pratiques de développement à l'extrème. Kanban Développement (4) Tests (4) Prod Backlog (6) En cours Fini Bug #21 Importer les consultants Date entrée : 03/04/2013
Date sortie : Deux principes Pour réduire les délais, travailler sur des petits lots en flux

Pour que chacun travaille au bon rythme ensemble, avoir un système tiré. Changement en douceur Commencer là où on en est.
S'engager à changer de manière incrémentale.
Respecter le processus actuel, les rôles et les responsabilités. Kanban(s) Une carte kanban représente un élément de travail.
Un système kanban est un système en flux tiré basé sur des éléments de travail dont le nombre est limité. Ce systeme est représenté par un tableau kanban.
La méthode Kanban est une approche de conduite de changement qui utilise un système kanban. Wiki : Le déclenchement d'une étape de fabrication d'un produit ne peut se faire que s'il y a une demande par l'étape suivante.

Permet de limiter les stocks Flux tiré Carte kanban Visualiser le flux 1 - Définir le flux de valeur à partir du processus terrain.

2 - Différentes façon de visualiser le flux
(Scrum / Kankan)

3 - Gérer les équipes spécialisées
par des files d'attente Limiter le WIP Basé sur la maturité de l'organisation et ajustée au fil du temps
Baisser la limite => blocages => communication
Les limites les plus basses sont préférables
moins de travail en cours => réduit le temps de cycle et fournit de la valeur plus rapidement
Les limites trop hautes ne mettent pas suffisamment le système sous contraintes Gérer le flux Réunion quotidienne On discute sur un élément de travail en commençant par les éléments les plus proches du client.

Permet de savoir si des choses vont se débloquer.

Discussion orienté valeur. Plannifiées (Scrum)
Découplées (ScrumBan)
Déclanchées (Kanban)
Un obstacle déclenche une rétrospective
Un seuil bas de cartes déclenche une planification
Démo et livraison sont déclenchées sur demande. Métrique du système Carte de contrôle

Débit : nombre d'éléments sortant par intervalle de temps régulier.

Diagramme de flux cumulé Rendre explicite les règles de gestion du processus DoD par activité
Nature de la demande :
Même valeur métier ?
Même risque ?
Même nature de
traitement ?
Même règle de gestion ? Définition de fini Fonctionnalité
Tests unitaires
Couverture de code 100%
Tests fonctionnels
Commit
... S'améliorer de manière collaborative Visualiser un goulot d'étranglement.


Comment le stopper ? Théorie des contraintes 1 - Diminuer l'impact (buffer)
2 - Collaboration
3 - Élever le goulot (équipe / formation)
4 - Changer le système Introduction Visualiser le flux Je n'ai plus rien
à faire.
Je commence une
nouvelle tâche
malgré la limite ? je suis débordé, ça n'avance pas... Vous avez des questions ? Ludovic Pradel Limiter le WIP Gérer et mesurer le flux Gérer et mesurer le flux Gérer et mesurer le flux Visualiser le flux Introduction Introduction Introduction Puisque la revue de code est une bonne pratique, elle sera faite en permanence. Puisque l'intégration des modifications est cruciale, nous l'effectuerons plusieurs fois par jour Pair Programming Puisque les tests sont utiles, ils seront faits systématiquement avant chaque mise en œuvre Puisque la conception est importante, elle sera faite tout au long du projet Tests unitaires TDD Tests de recette Conception simple Refactoring Puisque la simplicité permet d'avancer plus vite, nous choisirons toujours la solution la plus simple Conception simple Puisque la compréhension est importante, nous définirons et ferons évoluer ensemble des métaphores Métaphores Puisque les besoins évoluent vite, nous ferons des cycles de développement très rapides pour nous adapter au changement Release fréquente Client sur site Intégration continue Convention de nommage Convention de nommage Planning game Rythme soutenable Appropriation collective du code 3 roles : Product Owner Equipe de développement Scrum Master
Full transcript