Download - Impacts de l'adoption de Scrum
Copyright Pyxis Technologies
L'adoption de Scrum :Défis et retour d'expérience
Copyright Pyxis Technologies
Sondage à main levée
Utilisez-vous une approche Agile
dans votre organisation?
2
Copyright Pyxis Technologies
Déroulement
Historique, valeurs et principes
Pratiques Agiles : impacts et défis
Transition vers l’Agilité
Questions
3
Copyright Pyxis Technologies
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
4
Copyright Pyxis Technologies
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
5
Copyright Pyxis Technologies
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.
6
Copyright Pyxis Technologies
Pourquoi Agile?
7
Copyright Pyxis Technologies8
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é.
Copyright Pyxis Technologies9
Gaspillons-nous nos investissements?
Jim Johnson, Standish Group, XP 2002
Never 45%
Rarely 19%
Sometimes 16%
Often 13%
Always 7%
Feature Usage within deployed ap-plications
Copyright Pyxis Technologies
Peut-on livrer plus rapidement?
d'après les travaux d'Hakan Herdogmus, GUAM 2005
Copyright Pyxis Technologies
Que faire face à la complexité?
La dimension humaine ajoute un autre niveau de complexité.
Le dernier projet simple date de 1969.
Complexité des projetsStrategic Management and Organisational Dynamics: The Challenge of ComplexityRalph D. Stacey
Copyright Pyxis Technologies
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?
Copyright Pyxis Technologies
Pratiques Agiles et leurs impacts
Copyright Pyxis Technologies
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
14
Copyright Pyxis Technologies
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.
Copyright Pyxis Technologies
Processus empirique : le squelette de Scrum
Copyright Pyxis Technologies
Itération : le sprint
Copyright Pyxis Technologies
Démarrage d’un projet Agile
Portée et limites du projet
Vision du produit
Plan de livraison
Copyright Pyxis Technologies
Mise en production d’un projet Agile
Copyright Pyxis Technologies
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?
20
Copyright Pyxis Technologies
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écouleles 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écouleles estimations relatives aux
fonctionnnalités.
21
Copyright Pyxis Technologies22
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)
Copyright Pyxis Technologies
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.
Copyright Pyxis Technologies
La courbe du travail restant à faire permet de déterminer la date probable de
livraison
Suivi de l’avancement
Copyright Pyxis Technologies
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?
25
Copyright Pyxis Technologies
Comment faire du développement incrémental?
Copyright Pyxis Technologies
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.
Copyright Pyxis Technologies
Étendre la définition de ‘terminé’
Copyright Pyxis Technologies
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’.
Copyright Pyxis Technologies
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?
30
Copyright Pyxis Technologies
Équipe Scrum
Une équipe Scrum comprend uniquement les personnes suivantes : des
développeurs (pluridisciplinaires), un responsable de produit et un ScrumMaster.
Copyright Pyxis Technologies32
ONE TEAM!!!!
Analyste d’affaires
Utilisateurs
Développeurs
Chef deproduit
Représentant ou agent de
commercialisation
Architecte
Responsable des tests
Administrateur de bases de
données
Direction
ScrumMaster
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.
Gestionnaire de produit
Équipe de développement
Équipe de gestion de
produit
Copyright Pyxis Technologies
É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
Copyright Pyxis Technologies
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
Copyright Pyxis Technologies
Faites confiance aux gens!
Copyright Pyxis Technologies
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?
36
Copyright Pyxis Technologies
Transition vers l’Agilité
Copyright Pyxis Technologies
Des questions importantes
Nos organisations sont-elles prêtes à changer?
… et les individus eux?
38
Copyright Pyxis Technologies
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
39
Copyright Pyxis Technologies
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
40
Copyright Pyxis Technologies
Quels sont les changements requis
ACTIVITÉS
Reconnaître que les gens constituent le projet à plus long termeUtiliser le modèle CAS organique pour assurer la stabilité et la flexibilité
Remplacer l'ingénieur du logiciel par l'artisan du logiciel Se concentrer sur le contexte plutôt que sur le contenuUtiliser l'organigramme des fonctionnalités
Reconnaître que le plan parfait est un mytheRemplacer la planification prévisible par la planification adaptativeUtiliser les plans de livraison plutôt que les diagrammes de GanttMettre l'accent sur l'exécution plutôt que sur la planification
Opter pour un rythme fondé sur le temps plutôt que sur les événementsPréconiser la prise de décision participative plutôt qu'autoritaireCoordonner la réalisation des travaux par des engagements plutôt que par des ordresAugmenter les interactions personnelles surtout entre les diverses couches organisationnelles
Faire place au changement par des mesures adaptatives plutôt que correctivesPasser des leçons apprises aux réflexions sur les projetsDiriger en étant présent plutôt que par autorité
Favoriser l'alignement et la coopération
Favoriser l'émergence et l'autoorganisation
Favoriser l'apprentissage et l'adaptation
PRINCIPES DE GESTION DE PROJET AGILE
41
Copyright Pyxis Technologies
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
42
Copyright Pyxis Technologies
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.
43
Copyright Pyxis Technologies
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.
44
Copyright Pyxis Technologies
Gestion du changement
Stratégie de gestion du changement
Vision
Portée du changement
Stratégies préconisées
Parties prenantes
Gouvernance
Impacts de haut niveau
Planification
Énoncé
Objectifs visés
Bénéfices à réaliser
Parrainage
CommunicationRôles
ResponsabilitésStructure élargie
Mécanismes de suivi
Adhésion
Alignement stratégique
Éducation & formation
Efforts
Échéancier
Risques humains
Conditions de réussite
Pourquoi changer?
Contexte
Forces & faiblesses
Opportunités et menaces
Activités & livrables
Ressources
Alignement organisationnel
45
Copyright Pyxis Technologies
Approche pour le passage à l’Agilité
46
Copyright Pyxis Technologies
C’est possible!
Transparence!
47
Copyright Pyxis Technologies
C’est possible!
9 livraisons en 6 mois!
48
Copyright Pyxis Technologies
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.
49
Copyright Pyxis Technologies
Courage et persévérance
50
Copyright Pyxis Technologies
Merci!
Des questions?
51