Agility with ScrumABDESL AM MENACEREDIRECTEUR TECHNIQUE (CTO)
@abdeslem_
https://abdeslemmenacere.wordpress.com/
Agenda
1. Comment va l’IT dans le monde?2. Agile spirit3. Scrum
Définition du DONE
1. Je ne connais pas « Agile » ni « Scrum » et je veux savoir ce que c’est
2. Je connais « Agile » ET « Scrum » et je veux en savoir un peu plus
3. Nous faisons déjà de l'agile, et je veux voir s'il y a des choses à améliorer
“The Roman bridges of antiquity were very inefficientstructures. By modern standards, they used too much stone,and as a result, far too much labour to build. Over the yearswe have learned to build bridges more efficiently, using fewermaterials and less labour to perform the same task.”
-Tom Clancy (The Sum of All Fears)! (The Standish Group - Chaos Report)
The Standish Group - Chaos Report
CHAOS MANIFESTO édition 2011
Agile SPIRIT@abdeslem_ https://abdeslemmenacere.wordpress.com
http://www.mountaingoatsoftware.com/blog/agile-succeeds-three-times-more-often-than-waterfall
Méthodes agiles
« Une méthode agile est une approche itérative et incrémentale pour le développement de logiciel, réalisé de manière très collaborative par des équipes responsabilisées, appliquant un cérémonial minimal, qui produisent, dans un délai contraint, un logiciel de grande qualité répondant aux besoins changeants des utilisateurs »
Scott Ambler
Agile : 4 principes fondamentaux •Les individus et leurs interactions plus que les processus et les outils
•Des logiciels opérationnels plus qu’une documentation exhaustive
•La collaboration avec les clients plus que la négociation contractuelle
•L’adaptation au changement plus que le suivi d’un plan
http://agilemanifesto.org/
Nous reconnaissons la valeur des seconds éléments, mais privilégions les premiers.
Quelques méthodes agiles• Scrum (Ken Schwaber)
• XP (Kent Beck )
• Kanban (Toyota)
• Lean Software Development (Mary and Tom Poppendieck)
• Crystal (Alistair Cockburn)
• Feature-Driven Development – FDD (Peter Coad , Stephen Palmer, Mac Felsing)
• Adaptive Software Development ASD (Jim Highsmith)
• Rational Unified Process - RUP (Philippe Kruchten, Ivar Jacobsen)
• Dynamic Systems Development Method – DSDM (DSDM consortium)
• Agile development in the large (Jutta Eckstein)
• The Pragmatic Programmer (Andrew Hunt, David Thomas)
Mythes autour de l’agilité• L’Agile, c’est juste une mode
• L’Agile, c’est ce qui permet aux développeurs d’éviter de donner des deadlines
• C’est Agile, c’est simple à mettre en place
• C’est Agile, on pensera au code et à l’architecture plus tard
• Sur un projet Agile, il n’y a pas de spécifications, de plan, de processus, d’outil et même pas de contrat
• ……………………………….
Scrum framework@abdeslem_ https://abdeslemmenacere.wordpress.com
Historique 1986 1ere publication parlant de scrum (publication de Hirotaka Takeuchi et Ikujiro Nonaka intitulée The New Product Development Game)
Début 90s Ken Schwaber utilise ce qui deviendra la méthode Scrum à ‘’Advanced Development Methods’’. Parallèlement, Jeff Sutherland, John Scumniotales et Jeff McKenna mettent en place une approche similaire à Easel Corporation, en la nommant « Scrum »3,4.
1995, Ken Schwaber présente une courte communication décrivant les fondements de ce qui deviendra la méthode Scrum à l'OOPSLA, à Austin, aux États-Unis.
2001, Ken Schwaber fait équipe avec Mike Beedle pour décrire la méthode dans le livre « Agile Software Development With Scrum ».
2001, publication du « Agile Manifesto ».
2004, publication de ’’Agile Software Management With Scrum’’ de Ken Schwaber.
2011, Jeff Sutherland et Ken Schwaber décrivent les principes de la méthode dans le Scrum Guide
Scrum , définition “Un cadre de travail permettant de répondre à des problèmes complexes et changeants, tout en livrant de manière productive et créative des produits de la plus grande valeur possible.”
Ken Schwaber and Jeff Sutherland
« Scrum est un framework organisationnel de développement de produits complexes … Scrum est considéré comme une méthode agile. »
Wikipédia
Philosophie de Scrum• Scrum se base sur la théorie du contrôle empirique de processus, ou l’empirisme
• 3 piliers• Transparence• Inspection • Adaptation
Roger Bacon, philosophe, précurseur de l’empirisme sous sa forme moderne.
Qui utilise Scrum ?•Microsoft•Yahoo•Google•Electronic Arts•High Moon Studios•Lockheed Martin•Philips•Siemens•Nokia•Capital One•BBC•Intuit
•Nielsen Media•First American Real Estate•BMC Software•Ipswitch•John Deere•Lexis Nexis•Sabre•Salesforce.com•Time Warner•Turner Broadcasting•Oce
Domaines d’application•Logiciel commercial•Développement interne•Développement contractuel•Projets au forfait•Applications financières •Applications certifiées ISO 9001•Systèmes embarqués•SI avec exigences de fiabilité 24x7 99.999%
•Développement de jeux vidéo•Logiciel de contrôle de satellite•Sites Web•Logiciels pour PDA•Téléphonie mobile •Infrastructure de réseaux
Cadre ScrumRôles
• Product Owner• Scrum master• équipe
Cérémonial
• Planning poker• Daily Scrum
(Stand up)• Revue de sprint
(Démo)• Rétrospective
Artefacts
• Product backlog• Sprint Backlog• Burndowns
Cadre ScrumRôles
• Product Owner• Scrum master• équipe
Cérémonial
• Planning poker• Daily Scrum
(Stand up)• Revue de sprint
(Démo)• Rétrospective
Artefacts
• Product backlog• Sprint Backlog• Burndowns
Scrum Team – Product OwnerMaximiser la Valeur ajouté (business value) produite par l’équipe
Que doit je accomplir avec cette équipe?En quoi cela apporte de la valeur au business de mon entreprise?
1 Seule personne
Product Owner - Responsabilités• Fournir une vision partagée du produit
• Définir le contenu du produit• Gérer la communication avec les stakeholders • Identifier les fonctionnalités requise et alimenter le Product Backlog• Accepte ou rejette les résultats
• Planifier la vie du produit • Définir et ajuster les priorités• Fournir les spécifications au bon moment.• Choisir les dates et le contenu des release
• Aide à la définition du « Done »
Pas d’autorité hiearchique sur l’équipe
Le Product Owner idéal • Bonnes connaissances métier
• Autonome et capable de prendre des décisions
• Très Engagé dans le projet (Full time dans la mesure du possible)
• Disponible et proche de l’équipe
• Excellente aptitude à la négociation
• Sait motiver l’équipe
• Esprit ouvert au changement ≠ possibilité de changer d’avis à tout moment
Scrum Team – Scrum Master
Faciliter l’application des process Scrum et aider l’équipe à converger et à s’améliorer continuellement
« Process facilitator », « Team coach », « Servant leader »
Ce n’est pas un chef de projet
Scrum Master - Responsabilités• Éliminer les obstacles et protèger l'équipe des interférences extérieures
• Coacher l’équipe sur le respect des valeurs et l’adaptation des pratiques de Scrum
• Pousser l’équipe à s’auto-gérer et s’auto-organiser
• Aider l’équipe à mesurer ses performances et à s’améliorer continuellement
• Encourager l’équipe à apprendre et progresser dans les pratiques d’ingénierie
Le Scrum Master idéal • Bonnes connaissances de Scrum
• Sens de communication et de mediation
• Refus du statu quo
• Leadership
• Transparence vis-à-vis l’équipe, du PO et des stakeholders
• Goût à être au service de l’équipe
Scrum Team – l’équipe• De 5 à 9 personnes
• Regroupant tous les rôles (architecte, concepteur, développeur, UX , QA , etc)
• A plein temps sur le projet, de preference (à quelques exceptions possibles)
• L’équipe s’organise par elle-même
• La composition de l’équipe ne doit pas changer pendant un Sprint
Cadre ScrumRôles
• Product Owner• Scrum master• équipe
Cérémonials
• Planning poker• Daily Scrum
(Stand up)• Revue de sprint
(Démo)• Rétrospective
Artefacts
• Product backlog• Sprint Backlog• Burndowns
Cérémonials - Planning poker • Réunion d’estimation du travail potentiellement “achivebale” pour le
prochain sprint• L'équipe choisit, à partir du backlog de produit, les éléments qu'elle
s'engage à finir.
• Les stories sont identifiées et estimées Collectivement
• La conception de haut niveau est abordée
Cérémonial – Daily Scrum (Stand up) • Tout les jours• 15 minutes (pour toutes l’équipe)• Debout• Pas fait pour résoudre les problèmes mais pour les citer• Chacun doit répondre à 3 questions:
1.Ce que j’ai fait hier 2.Ce que je compte faire aujourd'hui3.Y a t-il un obstacle qui me freine?
Cérémonial – Revue de sprint (Démo)• L'équipe présente ce qu'elle a fait pendant le sprint
• Se fait avec une démo des nouvelles fonctionnalités ou de l'architecture
• Informelle
• Préparation < 2h
• Pas de slides
• Toute l'équipe participe
• On invite du monde
Cérémonial – Rétrospective• Réfléchir régulièrement à ce qui marche et ce qui ne marche pas
• Dure en général de 15 à 30 minutes
• Fait à la fin de chaque sprint
• Toute l'équipe participe
• ScrumMaster
• Product Owner
• Equipe
Cadre ScrumRôles
• Product Owner• Scrum master• équipe
Cérémonial
• Planning poker• Daily Scrum
(Stand up)• Revue de sprint
(Démo)• Rétrospective
Artefacts
• Product backlog• Sprint Backlog• Burndowns
Artefacts – Product backlog•Les exigences (specs)
•Une liste de tout ce qui va entraîner du travail pour l'équipe
•Exprimé de telle façon que chaque élément apporte de la valeur aux utilisateurs ou clients du produit
•Les priorités sont définies par le Product Owner
•Les priorités sont revues à chaque sprintElément de backlog Estimation
Un invité peut faire une réservation 3En tant qu'invité, j'annule une réservation 5En tant qu'invité, je change les dates d'une réservation. 3En tant qu'employé de l'hôtel, je produis les rapports de revenu par chambre
8
Améliorer la gestion des exceptions 8... 30... 50
Artefacts – Sprint backlog• Chacun s'engage sur du travail qu'il choisit
• L'estimation du reste à faire est ajustée tous les jours
• N'importe qui peut ajouter, supprimer ou changer la liste des tâches
• Le travail du sprint émerge progressivement
• Si un travail n'est pas clair, définir une tâche avec plus de temps et la décomposer après
• Mise à jour du travail restant quand il est mieux connu
Artefacts – Burndowns
Scrum Process
Plus d’informations• www.mountaingoatsoftware.com/scrum
• www.scrumalliance.org
• www.controlchaos.com
• En français• le groupe des utilisateurs de Scrum : www.frenchsug.org• http://fr.groups.yahoo.com/group/frenchsug
Livres à lire•« Scrum , Le guide pratique de la méthode agile la plus populaire » - Claude Aubry
•“Agile Testing , a practical guy for Testers and Agile teams” - Lisa Crispin , Janet Gregory
• “Agile Estimating and Planning” - Mike Cohn
• “Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation” - Addison-Wesley
• « Lean startup » - Eric ries
• “Lean Analytics: Use Data to Build a Better Startup Faster” (Lean Series)
@abdeslem_ https://abdeslemmenacere.wordpress.com
DONE?1. Je ne connaissais pas « Agile » ni « Scrum » maintenant je sais que
ce n’est pas de gymnastique ni du rugby
2. Je connaissais « Agile » Et « Scrum » Mais j’ai appris de nouvelles choses intéressantes
3. Nous faisons déjà de l'agile, et j’ai noté des idées à tester chez nous
@abdeslem_ https://abdeslemmenacere.wordpress.com
@abdeslem_ https://abdeslemmenacere.wordpress.com