Présenté le 4 novembre 2008 à l'Agile Tour de Québec
Comment adopter le développement Agile dans votre organisation?
1 sur 50
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Contenu connexe
Adoption de l'Agilité : principes et défis
1. François Beauregard - fbeauregard@pyxis-tech.com Jean-René Rousseau - jrrousseau@pyxis-tech.com Adopter le développement Agile dans nos organisations
2. Sondage à main levée Utilisez-vous une approche Agile dans votre organisation?
3. Objectifs Présenter les ressemblances et les différences entre l’approche Agile et l’approche de gestion classique ou e n ca s cade Souligner comment une entreprise peut passer à une approche Agile Fournir des éléments de réflexion pour la mise en œuvre d'améliorations dans vos organisations Soyez sceptique mais ouvert!
4. Déroulement Un peu d’histoire Approche Agile Gestion de projet Agile Passage à une approche Agile Conclusion
6. 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 Mai 1994 – Je suis un nouveau diplômé de Polytechnique Septembre 2000 – Pyxis est née Septembre 2002 – Le groupe d’utilisateurs Agile de Montréal est créé Fin 2003 – Pas facile … 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
7. Nos projets doivent être une réussite Standish Group CHAOS Report, 2003 Réussite : Le projet se termine dans le respect du délai et du budget. Il comporte toutes les fonctionnalités prévues. Défi : Le projet est en retard, il y a dépassement de budget ou il manque certaines fonctionnalités. Échec : Le projet est annulé avant sa fin ou il est terminé mais ne sera jamais utilisé.
10. 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 plus que les processus et les outils les logiciels fonctionnels plus que la documentation exhaustive la collaboration avec le client plus que la négociation de contrat l’ouverture au changement plus 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
11. 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.
12. 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 essentiel pour en réussir l’implantation via un ensemble de pratiques
13. Scrum Blocs de temps Rôles Règles 2 boucles de rétroaction pour mettre en œuvre l’inspection et l’adaptation 5 artéfacts Carnet du produit Graphique d’avancement de la livraison Carnet du sprint Graphique d’avancement du sprint Incrément de fonctionnalité prête à livrer
14. Pourquoi Agile? Réduire le temps de mise sur le marché Améliorer la qualité Réduire les activités sans valeur ajoutée Travailler sur les éléments de plus grande valeur Avoir une meilleure prévisibilité Avoir du plaisir au travail
15. Le propriétaire… Doit connaître la valeur commerciale du produit Doit avoir le pouvoir de réunir des intérêts et désirs variés Doit être disponible Dirigera une équipe de gestion de produit Doit se rappeler que le système est celui des utilisateurs et non pas le sien propre
16. Communiquer la vision S’approprier les spécifications Les écrire, les organiser et les réorganiser Fournir des exemples du comportement souhaité É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) Responsabilités du propriétaire
18. Modèle de gouvernance 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.
19. Qu’est-ce la gestion de projet Agile? “ Agile project management is the work of energizing, empowering, and enabling project teams to rapidly and reliably deliver business value by engaging customers and continuously learning and adapting to their changing needs and environments.” Sanjiv Augustine
21. Pratiques de gestion de projet Agiles – Équipe organique Petite équipe flexible où les relations sont étroites, ce qui favorise l’adaptation La composition des équipes n’est pas limitée aux titres (généralistes-spécialistes). Le gestionnaire de produit fait partie de l’équipe … les testeurs aussi !!! … les architectes aussi !!! … les…
22. Pratiques de gestion de projet Agiles – Vision S’assurer que les membres de l’équipe ont un modèle mental commun et qu’ils s’alignent sur les mêmes objectifs et engagements Les programmeurs ont droit de comprendre ce qu’ils font !!
23. Pratiques de gestion de projet Agiles – Règles simples Établissement d’un ensemble de règles génératives simples, qui doivent être observées par toute l’équipe Les règles d’aujourd’hui sont les fondations des règles de demain (inspection – adaptation)
24. Pratiques de gestion de projet Agiles – Transparence Information complète accessible par tous Comment se cacher lorsqu’on doit livrer du logiciel fonctionnel à intervalles réguliers?
25. Pratiques de gestion de projet Agiles – Light touch Application d’un contrôle intelligent, pour encourager la cohérence des actions et maximiser la valeur
26. Pratiques de gestion de projet Agiles – Leadership adaptatif Diriger le projet en maximisant les apprentissages et en s’adaptant de façon continue
31. 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 supporter les pratiques XP Impacts physiques Configuration des locaux
32. 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
33. Quels sont les changements requis? Réduire la taille des équipes Réduire les structures fonctionnelles pour adopter une structure par projet Avoir une équipe pluridisciplinaire et encourager l’acquisition de nouvelles compétences Favoriser les objectifs d’équipe plus qu’individuels Avoir une équipe autoorganisée Améliorer les pratiques de développement logiciel et favoriser l’automatisation
34. D’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
37. Une autre question importante Le changement doit-il être mis en œuvre bottom-up ou top-down ?
38. Pas si simple, le changement 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.
39. 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.
48. 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.
50. Centre de développement Développement sur mesure Architecture et conception Méthodes de test Évaluation et gestion de projet GreenPepper™ simplifie grandement la création concertée de spécifications exécutables et de tests de réception de scénarios exécutables. De plus, il offre de grandes capacités de traçabilité des exigences. Accompagnement Agile Gestion du changement et formation Transition Agile Scrum Modélisation Agile Tests (stratégie, tests fonctionnels, TDD, etc.) Services-conseils en développement Développeurs chevronnés Accompagnement technologique (Java, .NET, Ruby) Exploration de solutions d'amélioration Sélection et configuration d'outils Gestion de projet, évaluation de mandat Audit et recommandations Rétrospective Besoin d’un coup de main?
Notes de l'éditeur
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)
C ’ est juste ca le changement !!?!?!
Dans le contexte d’une transition organisationnelle vers l’agilité, il est important que l’organisation est une vraie raison « business » de se lancer dans l’agilité ! Pas juste pour être dans le vent !!!
Projet existant Document listant les exigences Architecture et conception de système Développement Essais Rencontrer les utilisateurs Définir les exigences du système Documenter les exigences du système
Projet Agile Secteur d’affaires Constitution d’un dossier de prêt Fidélisation de la clientèle Conformité à la réglementation Activité commerciale Souscription automatisée Caractéristique Évaluer le crédit Déterminer le type de prêt Déterminer les conditions du prêt
Responsable du bureau de gestion de projet Dirigeant Gestionnaire de projet Groupe responsable de la gestion de la configuration Représentant Responsable de la gestion de la configuration Groupe responsable de l’architecture Groupe responsable de l’administration de base de données Architecte Administrateur de base de données Groupe responsable de l’ingénierie Groupe responsable de l’assurance qualité Responsable technique Ingénieur d’essais Développeur
Dirigeant Responsable du bureau de gestion de projet Gestionnaire de produit Gestionnaire Agile Communauté de pratique en gestion de la configuration Responsable de la gestion de la configuration Communauté de pratique en architecture Communauté de pratique en administration de base de données Architecte Administrateur de base de données Communauté de pratique en ingénierie Communauté de pratique en assurance qualité Responsable technique Ingénieur d’essais Développeur
MODIFICATIONS À APPORTER À L’IMAGE Remplacer ‘AGILE’ par ‘Agiles’ dans Intro. aux approches… Remplacer ‘Formations…’ par ‘Formation aux principes Agiles’ Remplacer ‘Rétrospective d’itérations’ par ‘Rétrospective d’itération’ Remplacer ‘AGILE Synthétisé’ par ‘Agile synthétisé’ Remplacer ‘Diagnostic…’ par ‘Diagnostic d’évaluation…’ Remplacer ‘Préparation projet…’ par ‘Préparation du projet pilote’ Remplacer ‘Exécution…’ par ‘Exécution du projet pilots’ Remplacer ‘Rétrospective…’ par ‘Rétrospective du projet pilots’ Remplacer ‘Formation…’ par ‘Formation aux pratiques Agiles’ Remplacer ‘Rétrospective d’itérations’ par ‘Rétrospective d’itération’
Trouver une image qui représente le courage et la persévérence; qui évoque qu’il faut prendre du temps et en prendre bien soin
Trouver une image qui représente le courage et la persévérence; qui évoque qu’il faut prendre du temps et en prendre bien soin
Trouver une image qui représente le courage et la persévérence; qui évoque qu’il faut prendre du temps et en prendre bien soin