Post on 30-Nov-2014
description
Copyright Pyxis Technologies
La méthode Agile…Pour qui, pourquoi ?
Stéphane Lécuyerslecuyer@pyxis-tech.com
Copyright Pyxis Technologies
Objectifs de la présentation
Vous informer à propos des approches Agile et vous faire part des principes
Aller au-delà des idées préconçues
Vous permettre d’affiner votre réflexion pour l’adoption d’Agile dans votre organisation
Copyright Pyxis Technologies
Déroulement
Agile… pourquoi ?
Agile… les impacts ?
Agile dans mon organisation ?
Conclusion
Copyright Pyxis Technologies
Agile… pourquoi ?
Qu’est-ce qu’Agile ?• Survol et définitions• Écosystèmes Agile
Motivations• ROI• Complexité• Communication
Copyright Pyxis Technologies
Agilité – Définitions
• L’Agilité est l’habilité de créer et de répondre au changement dans le but d’avoir du succès dans un environnement d’affaires turbulent.
- Jim Highsmith
• Certaines problématiques sont difficiles, certains individus sont difficiles. Les méthodes Agile ne sont pas une garantie de succès.
- Craig Larman
• Ce n’est pas la plus forte des espèces qui survit, ni la plus intelligente, mais celle qui s’adapte le mieux
- Charles Darwin
Copyright Pyxis Technologies
Le Manifeste Agile
• Février 2001, 17 leaders en développement « léger » se rencontre.• Adoption du terme « Agile »• Entente sur l’ensemble des valeurs fondamentales qui devraient être à
la base de toutes les méthodologies Agile.• De ces valeurs, 12 principes fondamentaux en sont extraits.• Le détail des opérations a été laissé au bon soin des diverses
méthodologies Agile.
Copyright Pyxis Technologies
Les Principes Agile
La priorité est de satisfaire le client par la livraison rapide et continuelle de solutions logicielles utiles.
Intégrer les changements, même ceux de dernière minute, car ils fourniront un avantage compétitif à votre client.
Élaborez des projets autour d’individus motivés, fournissez le support nécessaire et faites confiance.
Les meilleures solutions émergent des équipes auto organisées.
Régulièrement, l’équipe fait une réflexion sur les façons de devenir plus efficace, s’ajuste et modifie son comportement en conséquence
Porter une attention continue à l’excellence technique et à un bon design améliore l’agilité.
La simplicité est essentielle
Copyright Pyxis Technologies
Agile… pourquoi ?
Qu’est-ce qu’Agile ?• Survol et définitions• Écosystèmes Agile
Motivations• ROI• Complexité• Communication
Copyright Pyxis Technologies
Agilité : définition
Copyright Pyxis Technologies
Écosystème Agile –Contributions de Scrum
Très bonne explication et application d’un processus empirique.
Simple et « facile » à mettre en place. Niveau de « cérémonie » ajustable. Applicable avec diverses pratiques d’ingénierie de logiciels. Compagnon parfait pour effectuer une transition Agile
Copyright Pyxis Technologies
Écosystème Agile – XP
Copyright Pyxis Technologies
Écosystème Agile – Contributions de XP
A généré le plus d’intérêt. Est le plus concret en termes de pratiques spécifiques. A ravivé l’intérêt pour les bonnes pratiques d’ingénierie de
logiciels. Les débats et discussions animés par la communauté XP
ont été grandement bénéfiques à notre profession. Valeurs : engagement, simplicité, rétroaction, courage.
Copyright Pyxis Technologies
Écosystèmes Agiles – Autres
Adaptive Software Development Crystal Clear FDD DSDM Agile Modeling Lean Development MSF for Agile Software Development RUP? (AUP)
Copyright Pyxis Technologies
Agile… pourquoi ?
Qu’est-ce qu’Agile ?• Survol et définitions• Écosystèmes Agile
Motivations• ROI• Complexité• Communication
Copyright Pyxis Technologies
Standish Group CHAOS Report, 2003
Motivations – Succès !
Réussite: Le projet est complété en temps, selon le budget et contient les fonctionnalités initialement prévues.
Problèmes: Le projet est complété et opérationnel, mais il y a eu dépassement de coût et de budget. De plus, certaines fonctionnalités originalement spécifiées sont manquantes. Échec: Le projet à été annulé en cours de développement
Copyright Pyxis Technologies
Motivations – ROI
• Réduire les coûts• En optimisant le processus de développement• En éliminant les fonctionnalités superflus
• Augmenter les revenus• En maximisant la valeur du logiciel• En capitalisant sur les investissements le plus tôt et le plus
fréquemment possible
Copyright Pyxis Technologies
ROI - Processus inefficace
• Changements de tâches fréquents• Travail en trop• Paperasse• Réunionnite• Délais• Transferts (inter-projets)• Défectuosités (inventaire)
Copyright Pyxis Technologies
Jim Johnson, Standish Group, XP 2002
ROI – fonctionnalités superflus
Copyright Pyxis Technologies
ROI – Valeur du logiciel
Copyright Pyxis Technologies
ROI - CapitalizationHakan Herdogmus, GUAM 2005
Copyright Pyxis Technologies
Motivations – Complexité
Sp
écif
ica
tio
ns
Technologie
Les individus ajoutent un autre niveau de complexité
Copyright Pyxis Technologies
Motivations – Complexité
Développement d’un nouveau produit vs Fabrication prévisible Impossible de créer des spécifications complètes et détaillées
d'avance Impossible d’estimer avec précision l’effort et le coût. Le taux de changement est élevé.
Étant donné que la fabrication prévisible n’est pas le bon paradigme pour le développement logiciel, les pratiques et les valeurs qui y sont enracinées ne sont pas utiles.
Copyright Pyxis Technologies
Le développement de logiciel est un jeu collaboratif d'invention et de communication
Alistair Cockburn
• Optimisation des canaux de communication• Client: Clarifier les besoins• Équipe: Collaborer, Innover, Apprendre• Management: Communiquer le progrès et les obstacles
Motivations-Communication
Copyright Pyxis Technologies
Quel type de communication est le plus efficace ?
Copyright Pyxis Technologies
À quelle vitesse transférons-nous l’information ?
Configuration Cubicule
Configuration « War Room »
Copyright Pyxis Technologies
Motivations – Résumé
Nous sommes donc à la recherche d’une approche qui nous permettra de:Produire des solutions logicielles utile à nos clientsRéduire les inefficacitésGérer la complexitéOptimiser la communication
Copyright Pyxis Technologies
Déroulement
Agile… pourquoi ?
Agile… les impacts ?
Agile dans mon organisation ?
Conclusion
Copyright Pyxis Technologies
Agile… les impacts
Impact organisationnelProcessusCultureLivraison (par les tests)Gestion de projet
Copyright Pyxis Technologies
Processus Agile
Copyright Pyxis Technologies
Modélisation Agile
Compréhension initiale du projet
Architecture initiale
Exploration rapide de la fonctionnalité à développer
Développement évolutif de la fonctionnalité
Scott Ambler, Agile Modeling
Copyright Pyxis Technologies
Planification Agile
Livraison: vision moyen terme (6-9 mois).
Comprend plusieurs itérations Itération: vision court terme (4-6 semaines).
Permet de développer un ensemble de
fonctionnalités Fonctionnalité: Tranche verticale du système
Estimé en points de fonctionnalité
Séparé en tâches Vélocité: Nombre de points livrables en une itération
Prévisibilité: Vélocité
0
2
4
6
8
10
12
itr 1 itr 2 itr 3 itr 4 itr 5 itr 6 itr 7 itr 8 itr 9 itr10
Prévision: 9 points seront livrés
Réévaluation constante de la date de livraison
0
10
20
30
40
50
60
70
80
90
100
J an-05
Feb-05
Mar-05
Apr-05
May-05
J un-05
J ul-05
Aug-05
Sep-05
Oct-05
Nov-05
Dec-05
J an-06
Copyright Pyxis Technologies
Tests d’acceptation Agile
Sont automatisés Sont écrits dans un langage de très haut niveau Sont exécutés fréquemment Sont écrit par les propriétaires du produit, les spécialistes
en AQ et les analystes d’affaires
Copyright Pyxis Technologies
À quel moment doivent-ils être écrits?
• À mesure que les fonctionnalités sont définies et développées
• Les tests d’acceptation sont la spécification des fonctionnalités
• Les tests deviennent le vrai document des besoins• Un document qui est sans ambiguïté,
• ne peut devenir désynchronisé avec le projet,
• est exécutable.
Copyright Pyxis Technologies
Une fonctionnalité n’est pas complète…
Tant que tous les tests d’acceptation pour cette fonctionnalité ne s’exécutent pas correctement.
Il n’existe pas de complétion “partielle”.
Copyright Pyxis Technologies
Équipe Agile
Multidisciplinaire: Généralistes-Spécialistes
Autonome et responsable Colocalisée Heures supplémentaires
Collaboration Collaboration Collaboration
Copyright Pyxis Technologies
Gestion de projet Agile
1. Guiding Vision – Establish a guiding vision for the project and continuously reinforce it through words and actions.
4. Open Information – Provide visible and open access to project management and other information.
2. Teamwork & Collaboration – Facilitate collaboration and teamwork through relationships and community.
5. Light Touch – Apply just enough control to foster emergent behavior in a self-directed team.
3. Simple Rules – Establish and support the team’s set of guiding practices such as Scrum or XP.
6. Agile Vigilance – Reinforce the vision, follow or adapt the rules, listen to the people.
Augustine and Woodcock
Copyright Pyxis Technologies
Déroulement
Agile… pourquoi ?
Agile… les impacts ?
Agile dans mon organisation ?
Conclusion
Copyright Pyxis Technologies
Agile dans mon organisation ?
Le développement Agile amène certains changements de paradigmes fondamentaux
• Processus: Analyse, Design, Développement, Tests
• Gestion: guider et non contrôler
• Équipe: multidisciplinaire et autonome
• Communication et collaboration (les individus au premier plan)
• Orientation sur les buts (accent sur les résultats, valeur
d’affaires)
• Lean (simplicité, processus minimal)
• Rétrospection
Copyright Pyxis Technologies
Agile dans mon organisation ?
Agile est pour vous si vous désirez:
• Livrer du logiciel fonctionnel en petites itérations, de manière rapide et fréquente
• Mettre en place des techniques vous permettant d’aller chercher de la rétroaction
de manière fréquente afin d’apprendre et de vous ajuster
• Responsabiliser et stimuler vos équipes en partageant avec eux la vision d’affaire.
• Mettre en place des mécanismes optimaux pour favoriser la communication entre
les différents intervenants
• Améliorer la qualité du produit fini ainsi qu’un haut niveau de design vous
permettant de diminuer significativement l’inventaire
• Maintenir un rythme de production prévisible et soutenu
Copyright Pyxis Technologies
Agile dans mon organisation ?
Agile est pour vous si vous désirez:• Mettre l’accent sur les activités importantes (à plus grande valeur
ajoutée) pour votre organisation
• Effectuer des investissements beaucoup plus judicieux
• Mettre en place une méthodologie qui s’intègre rapidement et s’adapte à votre réalité
• AVOIR DU PLAISIR !!
Copyright Pyxis Technologies
Déroulement
Agile… pourquoi ?
Agile… les impacts ?
Agile dans mon organisation ?
Conclusion
Copyright Pyxis Technologies
If you can innovate better and faster—you create change for your competitors. If you can respond quickly to competitive initiatives, new technology and customers’ requirements—you create change for your competitors. If you are slower, less innovative, less responsive—you are doomed to survival strategies in a sea of chaos imposed by others.
Jim Highsmith
Copyright Pyxis Technologies
The real challenge when adopting an iterative or Agile approach is to stick to it.
Whether you call your approach agile or something else doesn't matter—results do. The goal is to balance forces to develop software intelligently. In my opinion, this approach requires brutal honesty all the time. It requires radical commitment so you don't buckle under the constant pressure to quit and do things the old way. It also takes skills.
Roy W. Miller
Copyright Pyxis Technologies
Transition Agile
La transition se fait sur un continuum partant d’une approche traditionnelle vers une approche Agile
Chaque implantation d’un processus Agile est unique et adaptée, avec des particularités qui répondent à la réalité et au fonctionnement de l’organisation cible
La migration vers une approche Agile se fait graduellement, en intégrant les pratiques proposées étape par étape
Il s’agit d’un processus d’amélioration continu Appréciez la résistance Faites preuve de transparence
Copyright Pyxis Technologies
Transition – Feuille de Route
Introduction aux approches
AGILE
AGILE Synthétisé
DiagnosticÉvaluation
organisationnelle
Préparation projet pilot
Formations aux principes AGILE
Exécution du pilot
Rétrospective d’itérations
Formations aux pratiques AGILE
Rétrospective du pilot
Projet de changement
organisationnel
Projets de développement
Rétrospective d’itérations
Obstacles organisationnels
Métriques et observations
Appréciation et projets
d’amélioration
Exploration Pilotage Adoption
Accompagnement en gestion du changement
Copyright Pyxis Technologies
Quelques lectures• Agile & Iterative Development: A Manager's
Guide par Craig Larman
• Agile Software Development Ecosystems par
Jim Highsmith
• Agile Software Development, evaluating the
methods for your organization par Alan S, Koch
Merci! Questions?