Stéphane Lécuyer [email_address] La méthode Agile… Pour qui, pourquoi ?
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
Déroulement Agile… pourquoi ? Agile… les impacts ? Agile dans mon organisation ? Conclusion
Agile… pourquoi ? Qu’est-ce qu’Agile ? Survol et définitions Écosystèmes Agile Motivations ROI Complexité Communication
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
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.
Survol – Manifeste Agile Nous sommes à découvrir de meilleures manières pour développer des logiciels en aidant les autres et en développant nous-mêmes.  Par ce travail, nous en sommes venus à valoriser: les individus et les interactions davantage  que les processus et les outils les logiciels fonctionnels davantage  que la documentation détaillée la collaboration avec le client davantage que la négociation de contrat la réponse au changement davantage que le suivi d'un plan En fait, bien que les éléments de droite soient importants,  nous considérons que les éléments de gauche le sont encore plus.
Agilité – Les Valeurs Les individus et les interactions  davantage   que les processus et les outils Optimiser la communication et la collaboration  Produire des solutions logicielles utiles Réduire les inefficacités Gérer la complexité Nous sommes à découvrir de meilleures manières pour développer des logiciels. Par ce travail, nous en sommes venus à valoriser: Manifesto Agile, Février 2001 Le logiciel fonctionnel  davantage que la documentation détaillée La collaboration avec le client  davantage que la négociation de contrat La réponse au changement  davantage que le suivi d’un plan
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
Principes – les Individus Le processus est uniquement un effet de deuxième ordre. L’unicité des individus, leurs émotions et qualités ainsi que la communication ont une plus grande influence.  -   Alistair Cockburn Élaborez des projets autour d’individus motivés, fournissez le support nécessaire et faites confiance.  Les meilleurs solutions émergent des équipes auto organisées. Les gens d’affaires et les gens techniques doivent collaborer tout au long du projet
Principes – le Logiciel La priorité est de satisfaire le client par la livraison rapide et continuelle de solutions logicielles utiles. Le logiciel fonctionnel est la principale mesure de progrès. Intégrer les changements, même ceux de dernière minute, car ils fourniront un avantage compétitif à votre client.
Principes –  l’Amélioration continue L’agilité n’est pas un item que l’on peut rayer de la liste de nos initiatives organisationnelles. C’est une façon de vivre. 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
Agile… pourquoi ? Qu’est-ce qu’Agile ? Survol et définitions Écosystèmes Agile Motivations ROI Complexité Communication
Agilité : définition
É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
Écosystème Agile – XP
É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.
Écosystèmes Agiles – Autres Adaptive Software Development Crystal Clear FDD DSDM Agile Modeling Lean Development MSF for Agile Software Development RUP? (AUP)
Agile… pourquoi ? Qu’est-ce qu’Agile ? Survol et définitions Écosystèmes Agile Motivations ROI Complexité Communication
Motivations – Succès ! Standish Group CHAOS Report, 2003  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
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
ROI - Processus inefficace Changements de tâches fréquents Travail en trop Paperasse Réunionnite Délais Transferts (inter-projets) Défectuosités (inventaire)
ROI –  fonctionnalités superflus Jim Johnson, Standish Group, XP 2002
ROI – Valeur du logiciel
ROI - Capitalization Hakan Herdogmus, GUAM 2005
Motivations – Complexité Les individus ajoutent un autre niveau de complexité Spécifications Technologie
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.
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
Quel type de communication est le plus efficace ?
À quelle vitesse transférons-nous l’information ? Configuration Cubicule Configuration « War Room »
Motivations – Résumé Nous sommes donc à la recherche d’une approche qui nous permettra de: Produire des solutions logicielles utile à nos clients Réduire les inefficacités Gérer la complexité Optimiser la communication
Déroulement Agile… pourquoi ? Agile… les impacts ? Agile dans mon organisation ? Conclusion
Agile… les impacts Impact organisationnel Processus Culture Livraison (par les tests) Gestion de projet
Processus Agile
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
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é Prévision:  9 points seront livrés
Réévaluation constante  de la date de livraison
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
À 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.
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”.
Lorsque vu de cette façon… Les test servent à spécifier À quel moment le travail est complété Ils ne sont pas remis à la fin du processus En effet, l’AQ est réalisée en amont du processus pour aider à spécifier
Équipe Agile Multidisciplinaire:  Généralistes-Spécialistes Autonome et responsable Colocalisée Heures supplémentaires Collaboration Collaboration Collaboration
Gestion de projet Agile Augustine and Woodcock 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.
Déroulement Agile… pourquoi ? Agile… les impacts ? Agile dans mon organisation ? Conclusion
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
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
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 !!
Déroulement Agile… pourquoi ? Agile… les impacts ? Agile dans mon organisation ? Conclusion
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
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
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
Transition –  Feuille de Route
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?

Agile expliqué aux managers

  • 1.
    Stéphane Lécuyer [email_address]La méthode Agile… Pour qui, pourquoi ?
  • 2.
    Objectifs de lapré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
  • 3.
    Déroulement Agile… pourquoi? Agile… les impacts ? Agile dans mon organisation ? Conclusion
  • 4.
    Agile… pourquoi ?Qu’est-ce qu’Agile ? Survol et définitions Écosystèmes Agile Motivations ROI Complexité Communication
  • 5.
    Agilité – DéfinitionsL’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
  • 6.
    Le Manifeste AgileFé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.
  • 7.
    Survol – ManifesteAgile Nous sommes à découvrir de meilleures manières pour développer des logiciels en aidant les autres et en développant nous-mêmes. Par ce travail, nous en sommes venus à valoriser: les individus et les interactions davantage que les processus et les outils les logiciels fonctionnels davantage que la documentation détaillée la collaboration avec le client davantage que la négociation de contrat la réponse au changement davantage que le suivi d'un plan En fait, bien que les éléments de droite soient importants, nous considérons que les éléments de gauche le sont encore plus.
  • 8.
    Agilité – LesValeurs Les individus et les interactions davantage que les processus et les outils Optimiser la communication et la collaboration Produire des solutions logicielles utiles Réduire les inefficacités Gérer la complexité Nous sommes à découvrir de meilleures manières pour développer des logiciels. Par ce travail, nous en sommes venus à valoriser: Manifesto Agile, Février 2001 Le logiciel fonctionnel davantage que la documentation détaillée La collaboration avec le client davantage que la négociation de contrat La réponse au changement davantage que le suivi d’un plan
  • 9.
    Les Principes AgileLa 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
  • 10.
    Principes – lesIndividus Le processus est uniquement un effet de deuxième ordre. L’unicité des individus, leurs émotions et qualités ainsi que la communication ont une plus grande influence. - Alistair Cockburn Élaborez des projets autour d’individus motivés, fournissez le support nécessaire et faites confiance. Les meilleurs solutions émergent des équipes auto organisées. Les gens d’affaires et les gens techniques doivent collaborer tout au long du projet
  • 11.
    Principes – leLogiciel La priorité est de satisfaire le client par la livraison rapide et continuelle de solutions logicielles utiles. Le logiciel fonctionnel est la principale mesure de progrès. Intégrer les changements, même ceux de dernière minute, car ils fourniront un avantage compétitif à votre client.
  • 12.
    Principes – l’Amélioration continue L’agilité n’est pas un item que l’on peut rayer de la liste de nos initiatives organisationnelles. C’est une façon de vivre. 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
  • 13.
    Agile… pourquoi ?Qu’est-ce qu’Agile ? Survol et définitions Écosystèmes Agile Motivations ROI Complexité Communication
  • 14.
  • 15.
    É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
  • 16.
  • 17.
    É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.
  • 18.
    Écosystèmes Agiles –Autres Adaptive Software Development Crystal Clear FDD DSDM Agile Modeling Lean Development MSF for Agile Software Development RUP? (AUP)
  • 19.
    Agile… pourquoi ?Qu’est-ce qu’Agile ? Survol et définitions Écosystèmes Agile Motivations ROI Complexité Communication
  • 20.
    Motivations – Succès! Standish Group CHAOS Report, 2003 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
  • 21.
    Motivations – ROIRé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
  • 22.
    ROI - Processusinefficace Changements de tâches fréquents Travail en trop Paperasse Réunionnite Délais Transferts (inter-projets) Défectuosités (inventaire)
  • 23.
    ROI – fonctionnalités superflus Jim Johnson, Standish Group, XP 2002
  • 24.
    ROI – Valeurdu logiciel
  • 25.
    ROI - CapitalizationHakan Herdogmus, GUAM 2005
  • 26.
    Motivations – ComplexitéLes individus ajoutent un autre niveau de complexité Spécifications Technologie
  • 27.
    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.
  • 28.
    Le développement delogiciel 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
  • 29.
    Quel type decommunication est le plus efficace ?
  • 30.
    À quelle vitessetransférons-nous l’information ? Configuration Cubicule Configuration « War Room »
  • 31.
    Motivations – RésuméNous sommes donc à la recherche d’une approche qui nous permettra de: Produire des solutions logicielles utile à nos clients Réduire les inefficacités Gérer la complexité Optimiser la communication
  • 32.
    Déroulement Agile… pourquoi? Agile… les impacts ? Agile dans mon organisation ? Conclusion
  • 33.
    Agile… les impactsImpact organisationnel Processus Culture Livraison (par les tests) Gestion de projet
  • 34.
  • 35.
    Modélisation Agile Compréhensioninitiale du projet Architecture initiale Exploration rapide de la fonctionnalité à développer Développement évolutif de la fonctionnalité Scott Ambler, Agile Modeling
  • 36.
    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
  • 37.
  • 38.
    Réévaluation constante de la date de livraison
  • 39.
    Tests d’acceptation AgileSont 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
  • 40.
    À quel momentdoivent-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.
  • 41.
    Une fonctionnalité n’estpas 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”.
  • 42.
    Lorsque vu decette façon… Les test servent à spécifier À quel moment le travail est complété Ils ne sont pas remis à la fin du processus En effet, l’AQ est réalisée en amont du processus pour aider à spécifier
  • 43.
    Équipe Agile Multidisciplinaire: Généralistes-Spécialistes Autonome et responsable Colocalisée Heures supplémentaires Collaboration Collaboration Collaboration
  • 44.
    Gestion de projetAgile Augustine and Woodcock 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.
  • 45.
    Déroulement Agile… pourquoi? Agile… les impacts ? Agile dans mon organisation ? Conclusion
  • 46.
    Agile dans monorganisation ? 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
  • 47.
    Agile dans monorganisation ? 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
  • 48.
    Agile dans monorganisation ? 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 !!
  • 49.
    Déroulement Agile… pourquoi? Agile… les impacts ? Agile dans mon organisation ? Conclusion
  • 50.
    If you caninnovate 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
  • 51.
    The real challengewhen 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
  • 52.
    Transition Agile Latransition 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
  • 53.
    Transition – Feuille de Route
  • 54.
    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?

Notes de l'éditeur

  • #6 Insist on Highsmith’s citation Agile Manifesto 2001
  • #8 Take time to review the 3 parts No silver bullet (part 1) Practice (part 1) Discuss the balance Review the 13 Principles (not shown here)
  • #15 CLASSIFICATION Roles (Customer, Development Team, Scrum Master, Chicken) A pig and chicken discussed the name of their new restaurant. The chicken suggested Ham n’ Eggs. “No thanks” said the pig, “I‘d be committed, but you’d only be involved. Backlog Graph not shown on the image Pre Sprint Planning Sprint Post-Sprint Meeting (Software – No powerpoint) Monitoring progress
  • #19 DSDM (Dynamic Solutions Delivery Model) Formalization of RAD practices 3 timeboxed iteration models FDD Develop an overall model Build a feature lists Plan by feature Design by feature Build by feature
  • #21 il faut redonner une fierté à notre profession Contrer l’outsourcing en étant plus productif Déjà une amélioration vs le rapport de 1994 (16% success, 53%, challenged, 31% echec)
  • #22 Poppendiek: Software Development Productivity
  • #23 Poppendiek: 7 wastes
  • #27 R évisé avec Nath jusqu’ICI
  • #28 This deep appreciation – that building software is complex product development with high change rates, and not predictable manufacturing – is at the heart of the motivation for agile and iterative methods.
  • #29 Poppendiek: 7 wastes
  • #31 Saying that software development is a cooperative game of communication implies that a project's rate of progress is linked to how long it takes information to get from one person’s mind to another’s.. If Marie knows something that Pat needs, the project's progress depends on How long it takes Paul to discover that Marie knows something useful How much energy it costs Paul and Marie together to get the knowledge transferred to Paul While writing, reading, typing, or talking, we pick up traces of the ongoing sounds around us, using some background listening mode even though we are not consciously paying attention. If someone says something interesting, we may perk up and join the conversation. Otherwise, the sound goes through some background processing, either just above or just below our conscious level. In some cases, we register enough about the conversation to be able to develop what we need directly from memory. Otherwise, we may recall a phrase that was used or perhaps only that a particular person was discussing a particular topic. In any case, we register enough to ask about it. This taking in of information without directly paying attention to it is like the process of osmosis, in which one substance seeps from one system, through a separator, into another. Osmotic communication further lowers the cost of idea transfer. We have seen three separate effects that office layout has on communication costs within a project: The lost opportunity cost of not asking questions The overall cost of detecting and transferring information (erg-seconds) The reduction in cost when people discover information in background sounds (osmotic communication)
  • #32 This deep appreciation – that building software is complex product development with high change rates, and not predictable manufacturing – is at the heart of the motivation for agile and iterative methods.
  • #35 Overview d’un processus Agile: Itératif Incrémentale Timeboxing Product Backlog Étapes du processus Planification Développement (Desing) Acceptance
  • #45 Other point of view. 3. Example at Pyxis – Focusing on improving one practice at a time IT IS IMPORTANT TO UNDERSTAND THE DIFFERENCE BETWEEN EMPIRICAL VS DEFINED & PRESCRIPTIVE PROCESS IT IS IMPORTANT TO UNDERSTAND THE DIFFERENCE BETWEEN PRINCIPLE-BASED VERSUS RULE BASED. AGILE PROJECT MANAGEMENT IS MORE THAN A SET OF PRACTICES – IT IS A MINDSET RECOGNIZE FACTORS SUCH AS : ENJOYMENT, SIMPLICITY, SHORT TERM REWARD, PEER PRESSURE
  • #47 1. Deliver working software in small iterations, early and often. 2. Gather frequent feedback, hold retrospectives, learn and adjust. 3. Work in colocated, collaborative, multi-discipline teams. 4. Empower your teams with shared vision and responsibility. 5. Use direct, immediate communication (talk a lot). 6. Break work in to small tasks, performed just-in-time. 7. Maintain high quality and good design - avoid "debt." 8. Strive for simple and minimal solutions. 9. Work with a sustainable, predictable pace. 10. Have fun!
  • #48 1. Deliver working software in small iterations, early and often. 2. Gather frequent feedback, hold retrospectives, learn and adjust. 3. Work in colocated, collaborative, multi-discipline teams. 4. Empower your teams with shared vision and responsibility. 5. Use direct, immediate communication (talk a lot). 6. Break work in to small tasks, performed just-in-time. 7. Maintain high quality and good design - avoid "debt." 8. Strive for simple and minimal solutions. 9. Work with a sustainable, predictable pace. 10. Have fun!
  • #49 1. Deliver working software in small iterations, early and often. 2. Gather frequent feedback, hold retrospectives, learn and adjust. 3. Work in colocated, collaborative, multi-discipline teams. 4. Empower your teams with shared vision and responsibility. 5. Use direct, immediate communication (talk a lot). 6. Break work in to small tasks, performed just-in-time. 7. Maintain high quality and good design - avoid "debt." 8. Strive for simple and minimal solutions. 9. Work with a sustainable, predictable pace. 10. Have fun!