Impacts de l'adoption de Scrum
Upcoming SlideShare
Loading in...5
×
 

Impacts de l'adoption de Scrum

on

  • 2,961 views

L'adoption de Scrum : défis et retours d'expérience

L'adoption de Scrum : défis et retours d'expérience

Présenté le 11 février 2009 à une midi-conférence du CRIM à Montréal

Statistics

Views

Total Views
2,961
Views on SlideShare
2,956
Embed Views
5

Actions

Likes
3
Downloads
200
Comments
0

4 Embeds 5

http://www.linkedin.com 2
http://www.slideshare.net 1
https://www.linkedin.com 1
http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Impacts de l'adoption de Scrum Impacts de l'adoption de Scrum Presentation Transcript

    • L'adoption de Scrum : Défis et retour d'expérience
    • Sondage à main levée
      • Utilisez-vous une approche Agile
      • dans votre organisation?
    • Déroulement
      • Historique, valeurs et principes
      • Pratiques Agiles : impacts et défis
      • Transition vers l’Agilité
      • Questions
      • 1945 à 1965 – Les débuts
      • 1965 à 1985 – La crise
      • Années 80 et 90 – On veut passer de l’artisanat à l’ingénierie logicielle, on cherche le silver bullet
      • Fin des années 90 – On commence à utiliser des méthodes dites légères
      • Septembre 2000 – Pyxis est née
      • Février 2001 – Le manifeste Agile
      • Septembre 2002 – Le groupe d’utilisateurs Agile de Montréal est créé
      • 2003 – 2005 – On cherche à convaincre
      • 2006 – On s’intéresse de plus en plus à l’Agilité
      • 2007 – Le nombre de participants à la conférence Agile double pour une troisième année consécutive
      • 2008 – On en parle trop?
      Un peu d’histoire
      • Nous découvrons de meilleures manières de développer des logiciels en aidant les autres et en en développant nous-mêmes.
      • Par ce travail, nous en sommes venus à valoriser ce qui suit :
        • les individus et les interactions davantage que les processus et les outils;
        • les logiciels fonctionnels davantage que la documentation exhaustive;
        • la collaboration avec le client davantage que la négociation de contrat;
        • l’ouverture 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.
      Manifeste pour le développement Agile de logiciel
    • Principes Agiles (un sous-ensemble) ‏
      • La priorité est de satisfaire le client par la livraison rapide et continue de solutions logicielles utiles.
      • Il faut intégrer les changements , même ceux de dernière minute, car ils offriront un avantage compétitif à votre client.
      • Il faut élaborer des projets autour d’individus motivés . Il faut leur fournir le soutien nécessaire et leur faire confiance.
      • Les meilleures solutions émergent des équipes autoorganisé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.
      • Il faut porter une attention continue à l’excellence technique; un bon design améliore l’Agilité.
      • La simplicité  est essentielle.
      • Pourquoi Agile?
    • Nos projets sont-ils des succès? CHAOS Report du Standish Group, 2003 Succès : Le projet est réalisé selon le budget et les délais convenus. Il comporte les fonctions et caractéristiques demandées. Défi : Le projet est en retard, le budget a été dépassé ou il manque certaines fonctions et caractéristiques demandées. Échec : Le projet a été arrêté avant sa fin ou le logiciel développé a été livré mais n’a jamais été utilisé.
    • Gaspillons-nous nos investissements? Jim Johnson, Standish Group, XP 2002
    • Peut-on livrer plus rapidement? d'après les travaux d'Hakan Herdogmus, GUAM 2005
    • Que faire face à la complexité?
      • La dimension humaine ajoute un autre niveau de complexité.
      • Le dernier projet simple date de 1969.
      Complexité des projets Strategic Management and Organisational Dynamics: The Challenge of Complexity Ralph D. Stacey
    • Problèmes de communication?
      • Le développement logiciel est un jeu coopératif d’invention et de communication. Il est apparenté au développement de produit.
      • Les sources de problème dans notre profession sont les gens et les interactions dysfonctionnelles plutôt que les processus et les outils.
      Comment communiquez-vous?
    • Pratiques Agiles et leurs impacts
    • Principes vs pratiques
      • Principe
        • Vérité qui ne change pas dans le temps ou l’espace
      • Pratique
        • Application d’un principe à une situation particulière
      • La compréhension des principes est essentielle pour en réussir l’implantation par un ensemble de pratiques
    • Processus empirique
      • Lorsque la complexité croît , les systèmes de gestion et de contrôle centralisés montrent leurs limites. La solution est d'établir un ensemble de règles simples et de laisser l'application de ces règles à des agents indépendants.
      • Un processus empirique utilise l’inspection et une adaptation subséquente afin d’optimiser l’atteinte des buts.
      • L’inspection et l’adaptation nécessitent la transparence .
      • La transparence nécessite du courage et des changements au niveau des systèmes de récompense.
    • Processus empirique : le squelette de Scrum
    • Itération : le sprint
    • Démarrage d’un projet Agile Portée et limites du projet Vision du produit Plan de livraison
    • Mise en production d’un projet Agile
    • Impacts et défis
      • La mise en place d’un processus empirique est plutôt simple sauf que…
      • Pièges à éviter
        • Récupération de tous les requis avant de commencer à « sprinter »
        • Itérations trop longues
        • Mêlée quotidienne inefficace
        • Rétrospectives inefficaces
      • Impacts possibles
        • Le fait de démarrer rapidement = chèque en blanc ?
        • Je dois parler de mes obstacles devant tous le monde ?
        • Qu’arrivera-t-il si on est pas prêt pour la démo ?
        • Une journée de planification par 3 semaines, ce n’est pas trop ?
    • La valeur d’affaires au premier plan Contraintes Estimations S'appuie sur le plan Coût Calendrier Exigences Contraintes Estimation Processus en cascade Du plan découle les estimations relatives au coût et au calendrier. S'appuie sur la valeur ou vision Coût Calendrier Fonctionnalités Processus Scrum De la vision découle les estimations relatives aux fonctionnnalités.
    • Responsable de produit ( product owner )
      • Un bon responsable de produit doit :
        • Connaître la valeur commerciale du produit
        • Avoir le pouvoir de réunir des intérêts et désirs variés
        • Être disponible
        • Diriger une équipe de gestion de produit
      • Ses responsabilités sont :
        • Communiquer la vision
        • S’approprier les spécifications
        • Évaluer les incréments du produit
        • Collaborer avec l’équipe de développement (le plus possible)
        • Collaborer avec l’équipe de gestion du produit (le plus possible)
    • Gestion des exigences : le carnet du produit Chaque itération met en œuvre les exigences prioritaires . Chaque nouvelle exigence est insérée dans la liste selon sa priorité. Il est possible en tout temps de changer l’ordre de priorité des exigences. Les exigences peuvent être supprimées en tout temps.
    • Suivi de l’avancement
      • La courbe du travail restant à faire permet de déterminer la date probable de livraison
    • Impacts et défis
      • Mettre la valeur d’affaires du logiciel à l’avant-plan ça semble logique sauf que…
      • Pièges à éviter
        • Avoir un responsable de produit non imputable
        • Négliger la maintenance du carnet du produit
        • Analyser trop rapidement les exigences non prioritaires
        • Ne pas établir les conditions de succès liés à chaque exigence
      • Impacts possibles
        • Peut-on clairement identifier un responsable de produit?
        • Ça veut dire quoi pour nos analystes d’affaires ?
        • Que fait-on des demandes de changement?
        • Qu’est-ce qu’on fait avec notre gabarit pour la documentation fonctionnelle ?
        • Ça veut dire quoi pour mes mesures ( metrics ) de suivi ?
    • Comment faire du développement incrémental?
    • La prévisibilité de Scrum
      • C’est un processus prévisible , ce qui aide à prendre des décisions éclairées.
      • La date est fixée. Quelles sont les caractéristiques à livrer?
      • Une livraison de qualité production doit avoir lieu à la fin de chaque sprint.
    • Étendre la définition de ‘terminé’
    • Ingénierie Agile
      • Une attention continue à l’excellence technique améliore l’Agilité.
      • La majorité des pratiques d’ingénierie Agiles proviennent de XP .
        • Conception pilotée par les tests, intégration continue, programmation en binôme, remaniement du code ( refactoring ) ,…
      • Faites la conception et les tests tout au long du projet...
      • Il faut garder un œil sur le futur tout en retardant nos décisions le plus longtemps possible. (« You ain’t gonna need it! » - YAGNI)
      • Développez les compétences requises. Augmentez vos connaissances techniques.
      • On pense à tort que les programmeurs Agiles sont des ‘cowboys’ .
    • Impacts et défis
      • Construire un logiciel de façon incrémentale peut représenter tout un défi !
      • Pièges à éviter
        • Établir une grosse architecture tôt dans le projet
        • Créer de l’ inventaire (trop de code pour nos besoins présents)
        • Accumuler une dette technique (négliger le remaniement de code, code non testé)
        • Ne pas exécuter régulièrement la suite de tests automatisés
      • Impacts possibles
        • Qu’arrivera-t-il des architectes ?
        • Que vont penser les gestionnaires du coût associé aux tests unitaires et au remaniement de code?
        • Pourra-t-on déployer le résultat des itérations?
    • Équipe Scrum
      • Une équipe Scrum comprend uniquement les personnes suivantes : des développeurs (pluridisciplinaires), un responsable de produit et un ScrumMaster.
    • ONE TEAM!!!!
      • L’équipe provient des organisations coopératives.
      • La composition des équipes n’est pas limitée aux titres (généralistes-spécialistes).
      • Les communications sont fluides.
      • Le responsable de produit est à l’avant-plan.
      Équipe de développement Équipe de gestion de produit Analyste d’affaires Utilisateurs Développeurs Chef de produit Représentant ou agent de commercialisation Architecte Responsable des tests Administrateur de bases de données Direction ScrumMaster Gestionnaire de produit
    • Équipe de développement
      • Comprend de 6 à 10 membres
      • Idéalement est colocalisée
      • Comprend l’ensemble de l’expertise nécessaire pour réaliser le projet
      • Choisit le but de l’itération et spécifie les résultats à produire
      • A la latitude voulue pour déterminer ce qui doit être fait afin d’atteindre le but fixé pour l’itération sans enfreindre les directives du projet
      • S’organise de façon autonome et planifie ses propres travaux
      • Présente des résultats de qualité au responsable de produit
      • Communique son avancement et ses obstacles de façon transparente
    • ScrumMaster : un leader et un facilitateur
      • À titre de ScrumMaster, vous êtes responsable de ce qui suit :
        • Éliminer les barrières entre l’équipe de développement et le client pour permettre à ce dernier d’orienter directement les travaux de développement
        • Montrer au client comment maximiser le taux de rendement des investissements et atteindre ses objectifs au moyen de Scrum
        • Améliorer le quotidien de l’équipe de développement en mettant l’accent sur la créativité et la gestion autonome des membres
        • Accroître la productivité de l’équipe de développement par tous les moyens imaginables
        • Améliorer les outils et les pratiques d’ingénierie de manière à ce que chaque incrément de fonctionnalité puisse être livré au client
    • Faites confiance aux gens!
    • Impacts et défis
      • Obtenir le bon niveau d’engagement de tous est essentiel à la création d’une véritable équipe performante
      • Pièges à éviter
        • Se rapporter au ScrumMaster lors de la mêlée quotidienne
        • Avoir un ScrumMaster qui assigne lui-même les tâches
        • Ne pas adapter son style de leadership à la maturité de l’équipe
        • Avoir l’attitude « moi j’ai fini »
      • Impacts possibles
        • Comment intégrer les spécialistes aux équipes Scrum?
        • Les gestionnaires sauront-ils faire confiance à l’équipe?
        • L’équipe saura-t-elle s’approprier son Scrum ?
        • Quels sont les impacts sur le système de rémunération ?
        • Quels sont les impacts sur notre processus d’ embauche ?
    • Transition vers l’Agilité
    • Des questions importantes Nos organisations sont-elles prêtes à changer? … et les individus eux?
    • Analyse d’impact
      • Impacts sur l’organisation
        • Structure organisationnelle
        • Système de rémunération
        • Relation avec les clients et les fournisseurs
      • Impacts sur le processus
        • Pilotage des projets
        • Flux du travail
        • Flux d’information
      • Impacts sur les technologies
        • Nouveaux outils pour soutenir les pratiques XP
      • Impacts physiques
        • Configuration des locaux
    • Analyse d’impact
      • Impacts sur les individus
        • Nouveaux rôles, nouvelles tâches
        • Pertes de pouvoir
        • Compétences
        • Mentalité, façon de penser, valeurs, attitudes
        • Motivation et engagement
    • Quels sont les changements requis
    • Autres éléments à considérer
      • Avoir une forme contractuelle qui reconnaît qu’il n’est pas optimal (désiré) de chercher à connaître précisément l’ensemble des exigences au départ
      • Mettre en place des processus qui conservent un niveau de gouvernance adéquat , mais qui permettent les changements rapides
      • Avoir une forme documentaire simplifiée qui permette l’évolutivité de la documentation
      • Créer une culture de collaboration
    • En haut….. En bas!
      • Mode descendant
        • Les leaders de haut niveau partagent une vision quant à l’utilisation de Scrum.
      • Mode ascendant
        • Quelques équipes commencent à utiliser Scrum. Les gens voient les avantages de cette nouvelle approche et décident de l’adopter.
      • Pour assurer le succès, le changement doit se faire à la fois de bas en haut et de haut en bas , simultanément.
    • Le passage à une approche Agile ne se fait pas du jour au lendemain
      • La période de transition sera longue et parfois délicate (inconfortable) avant que tous les intervenants des projets adoptent une approche axée sur la collaboration et l’autonomie.
    • Gestion du changement
    • Approche pour le passage à l’Agilité
    • C’est possible! Transparence!
    • C’est possible! 9 livraisons en 6 mois!
    • Conclusion
      • Le capital humain est votre plus gros actif.
      • L’adoption d’une approche Agile demande des changements significatifs, et la nature des préoccupations des gens doit changer.
      • Tout changement nécessite du temps, du courage et de la persévérance.
    • Courage et persévérance
      • Merci!
      • Des questions?