Développement agile de logiciel avec la méthode SCRUM Baamtu [email_address] Dakar le 30/07/2009
Baamtu : qui sommes nous? <ul><li>Baamtu est une jeune SARL de services d’ingénierie en Génie logiciel et également éditri...
Baamtu : les fondateurs <ul><li>Tidiane SY : Diplômé de Institut National des Télécommunications de Paris. Il a travaillé ...
Baamtu : nos services <ul><li>Aidez nos clients à recenser et définir leurs besoins. </li></ul><ul><li>Mise en place de so...
Cas d’utilisation <ul><li>Mise en place d’un système d’information pour la société S Comme Solaire : </li></ul><ul><ul><li...
Sommaire <ul><li>Philosophie agile </li></ul><ul><ul><li>Que sont les méthodes agiles </li></ul></ul><ul><li>Scrum </li></...
Philosophie agile Baamtu
Que sont les méthodes agiles? <ul><li>Un style de conduite de projet : </li></ul><ul><ul><li>Projet itératif incrémental; ...
Scrum Principes Baamtu
Méthodes traditionnelles <ul><li>La construction d’application de plus en plus complexe </li></ul><ul><li>Beaucoup de proj...
SCRUM <ul><li>SCRUM est un processus de gestion et de contrôle se focalisant sur la construction de logiciles respectant l...
SCRUM <ul><li>Les grands principes :  </li></ul><ul><ul><li>Équipe auto organisée et auto gérée </li></ul></ul><ul><ul><li...
Cycle de vie de Scrum Baamtu
Sprint Des sprints fixes à un rythme soutenable Activités de développement Sprint Planning (1 jour) Sprint Retrospective (...
Sprint <ul><li>Durée fixe : définit en début de projet (peut être revue en cours) </li></ul><ul><li>Développement des item...
Scrum Qui? Baamtu
Rôles clés et responsabilités <ul><li>Propriétaire du produit (Product Owner) </li></ul><ul><ul><li>Définit les fonctionna...
Rôles clés et responsabilités Baamtu
Rôles clés et responsabilités <ul><li>ScrumMaster </li></ul><ul><ul><li>Fait en sorte que l’équipe soit entièrement opérat...
Rôles clés et responsabilités Baamtu
Rôles clés et responsabilités <ul><li>Équipe : </li></ul><ul><ul><li>Doit être cross fonctionnelle </li></ul></ul><ul><ul>...
Rôles clés et responsabilités Baamtu
Scrum Quoi ? Baamtu
Product Backlog <ul><li>Liste de besoins, fonctionnalités, anomalies </li></ul><ul><li>Attributs : </li></ul><ul><ul><li>I...
Product Backlog : Estimation de la complexité <ul><li>Réalisé au travers du Planning Poker </li></ul><ul><li>Evaluation co...
Product Backlog Baamtu
Sprint Backlog <ul><li>Sous-ensemble des items du Product Backlog </li></ul><ul><li>Découpe ces items en tâches </li></ul>...
Burndown Chart <ul><li>Suivi de la réalisation des tâches </li></ul><ul><li>Devrait être linéaire si le découpage des tâch...
Scrum Comment? Baamtu
Sprint Planning <ul><li>En présence de TOUTE l’équipe (Product Owner compris) </li></ul><ul><li>Définition du Sprint Goal ...
Done ? <ul><li>Quand un membre de l’équipe dit « done », que cela signifie-t-il ? </li></ul><ul><ul><li>Le code adhère aux...
Daily Scrums <ul><li>Réunion quotidienne de 15mn (max.) </li></ul><ul><li>Même lieu et même heure tous les jours </li></ul...
Chickens et pigs Baamtu
Rétrospective de sprint <ul><li>Amélioration du processus en fin de sprint </li></ul><ul><li>Facilitée par le ScrumMaster ...
Ressources <ul><li>La Scrum Alliance : ( www.scrumalliance.org ) </li></ul><ul><li>Control Chaos : ( www.controlchaos.org ...
Question? Baamtu
Vocabulaire Baamtu Limite de durée (sprint ou réunion) Bloc de temps Time-box Bilan d’itération Rétrospective du sprint Sp...
Prochain SlideShare
Chargement dans…5
×

Développement agile de logiciel avec la méthode SCRUM

6 679 vues

Publié le

Le développement de logiciel devient de plus en plus complexe et plus long. Des études ont montré que 2/3 des projets informatiques dépassaient le délai prévisionnel (et donc les couts) et ceci pose un vrai probleme de time-to-market. Et pourtant depuis quelques décennies, les cycles de développement tels que celui en V, M, W, waterflow, etc existent sans succes.

Publié dans : Technologie, Business
0 commentaire
7 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
6 679
Sur SlideShare
0
Issues des intégrations
0
Intégrations
279
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
7
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Dans ce but, elles prônent 4 valeurs fondamentales (entre parenthèse, les citations du manifeste) : L&apos;équipe (« Personnes et interaction plutôt que processus et outils ») : Dans l&apos;optique agile, l&apos;équipe est bien plus importante que les moyens matériels ou les procédures. Il est préférable d&apos;avoir une équipe soudée et qui communique composée de développeurs moyens plutôt qu&apos;une équipe composée d&apos;individualistes, même brillants. La communication est une notion fondamentale. L&apos;application (« Logiciel fonctionnel plutôt que documentation complète ») : Il est vital que l&apos;application fonctionne. Le reste, et notamment la documentation technique, est secondaire, même si une documentation succincte et précise est utile comme moyen de communication. La documentation représente une charge de travail importante, mais peut pourtant être néfaste si elle n&apos;est pas à jour. Il est préférable de commenter abondamment le code lui-même, et surtout de transférer les compétences au sein de l&apos;équipe (on en revient à l&apos;importance de la communication). La collaboration (« Collaboration avec le client plutôt que négociation de contrat ») : Le client doit être impliqué dans le développement. On ne peut se contenter de négocier un contrat au début du projet, puis de négliger les demandes du client. Le client doit collaborer avec l&apos;équipe et fournir un feed-back continu sur l&apos;adaptation du logiciel à ses attentes. L&apos;acceptation du changement (« Réagir au changement plutôt que suivre un plan ») : La planification initiale et la structure du logiciel doivent être flexibles afin de permettre l&apos;évolution de la demande du client tout au long du projet. Les premières releases du logiciel vont souvent provoquer des demandes d&apos;évolution.
  • Développement agile de logiciel avec la méthode SCRUM

    1. 1. Développement agile de logiciel avec la méthode SCRUM Baamtu [email_address] Dakar le 30/07/2009
    2. 2. Baamtu : qui sommes nous? <ul><li>Baamtu est une jeune SARL de services d’ingénierie en Génie logiciel et également éditrice de logiciel. </li></ul><ul><li>Baamtu se veut d’accompagner ses clients et de les orienter dans leurs besoins de faire évoluer leur système d’information dans un environnement concurrentiel qui les pousse à s’adapter perpétuellement. </li></ul><ul><li>BAAMTU est née de l’envie de bâtir une véritable aventure d’équipe. </li></ul>Baamtu
    3. 3. Baamtu : les fondateurs <ul><li>Tidiane SY : Diplômé de Institut National des Télécommunications de Paris. Il a travaillé pour de grands groupes dont Microsoft , Alcatel et la Sonatel (Sénégal). </li></ul><ul><li>Tanoor Dieng : Ingénieur en informatique, a travaillé pour diverses entreprises dans le domaine du WEB et de la téléphonie mobile. </li></ul><ul><li>Mouhamed DIOUF : Docteur-ingénieur en informatique spécialité génie logiciel. Architecte Java/JEE et spécialiste de l'approche par règles métier. MDI a eu à faire des missions dans différentes structures allant du ministère des anciens combattants aux USA à voyages-sncf.com ( premier site marchand en Europe ) . </li></ul>Baamtu
    4. 4. Baamtu : nos services <ul><li>Aidez nos clients à recenser et définir leurs besoins. </li></ul><ul><li>Mise en place de solutions innovantes et pérennes. </li></ul><ul><li>Accompagnement pour une politique du changement. </li></ul><ul><li>Formation, audit, etc. </li></ul>Baamtu
    5. 5. Cas d’utilisation <ul><li>Mise en place d’un système d’information pour la société S Comme Solaire : </li></ul><ul><ul><li>200 utilisateurs </li></ul></ul><ul><ul><li>Gestion des flux de la demande au suivi du dossier : </li></ul></ul><ul><ul><ul><li>Affectation du commercial </li></ul></ul></ul><ul><ul><ul><li>Automatisation de calculs complexes </li></ul></ul></ul><ul><ul><ul><li>Génération de devis </li></ul></ul></ul><ul><ul><ul><li>Client : gestion de la base clientèle et le suivi </li></ul></ul></ul><ul><ul><ul><li>Gestion des emplois, de la hiérarchie, reporting, etc. </li></ul></ul></ul><ul><li>La création du jeu Master Word avec la plateforme Androïd de Google </li></ul><ul><li>Divers projets chez voyages-sncf.com technologie </li></ul>Baamtu
    6. 6. Sommaire <ul><li>Philosophie agile </li></ul><ul><ul><li>Que sont les méthodes agiles </li></ul></ul><ul><li>Scrum </li></ul><ul><ul><li>Principes </li></ul></ul><ul><ul><li>Qui? </li></ul></ul><ul><ul><li>Quoi? </li></ul></ul><ul><ul><li>Comment? </li></ul></ul><ul><li>Ressources </li></ul><ul><li>Questions </li></ul><ul><li>Vocabulaire </li></ul>Baamtu
    7. 7. Philosophie agile Baamtu
    8. 8. Que sont les méthodes agiles? <ul><li>Un style de conduite de projet : </li></ul><ul><ul><li>Projet itératif incrémental; </li></ul></ul><ul><ul><li>Centré sur l’autonomie des ressources humaines impliquées; </li></ul></ul><ul><ul><li>Production, validation et tests en continue </li></ul></ul><ul><li>Une dynamique inspirée du lean : </li></ul><ul><ul><li>Inspecter et s’adapter (amélioration continue) ‏ </li></ul></ul><ul><ul><li>Développement incrémental </li></ul></ul><ul><ul><ul><li>Test et refactoring </li></ul></ul></ul><ul><ul><li>Prioriser sur la valeur métier </li></ul></ul><ul><ul><li>Emergence </li></ul></ul><ul><ul><ul><li>des besoins </li></ul></ul></ul><ul><ul><ul><li>du design </li></ul></ul></ul><ul><ul><ul><li>des technologies </li></ul></ul></ul><ul><ul><li>Responsabilité des équipes </li></ul></ul>Baamtu
    9. 9. Scrum Principes Baamtu
    10. 10. Méthodes traditionnelles <ul><li>La construction d’application de plus en plus complexe </li></ul><ul><li>Beaucoup de projets sont annulés et beaucoup d’autres ne livrent pas la valeur fonctionnelle attendue </li></ul><ul><li>2/3 des projets dépassent les estimations. </li></ul><ul><li>Différents cycles de vie et de développement : </li></ul><ul><ul><li>En cascade </li></ul></ul><ul><ul><li>En v </li></ul></ul><ul><ul><li>En w </li></ul></ul><ul><ul><li>En M </li></ul></ul><ul><ul><li>En waterflow </li></ul></ul><ul><ul><li>etc </li></ul></ul>Baamtu
    11. 11. SCRUM <ul><li>SCRUM est un processus de gestion et de contrôle se focalisant sur la construction de logiciles respectant les spécifications fonctionnelles. </li></ul><ul><li>Objectif : booster la productivité de l’équipe. </li></ul><ul><li>Formalisée par Ken Schwaber et Jeff Sutherland </li></ul><ul><li>XP permet d’améliorer la qualité du logiciel développé et SCRUM améliore la gestion de projets au jour le jour. </li></ul>Baamtu
    12. 12. SCRUM <ul><li>Les grands principes : </li></ul><ul><ul><li>Équipe auto organisée et auto gérée </li></ul></ul><ul><ul><li>Pas d’ajout extérieur de travail durant une itération </li></ul></ul><ul><ul><li>Réunion d’avancement quotidienne </li></ul></ul><ul><ul><li>Itérations (sprints) fixes </li></ul></ul><ul><ul><li>Démonstration à tous les intervenants à la fin de chaque itération </li></ul></ul><ul><ul><li>A chaque itération : un planning adaptif : client-driven </li></ul></ul><ul><ul><li>Pas de management superflu </li></ul></ul>Baamtu
    13. 13. Cycle de vie de Scrum Baamtu
    14. 14. Sprint Des sprints fixes à un rythme soutenable Activités de développement Sprint Planning (1 jour) Sprint Retrospective (1 jour) Baamtu
    15. 15. Sprint <ul><li>Durée fixe : définit en début de projet (peut être revue en cours) </li></ul><ul><li>Développement des items présents dans le Sprint Backlog </li></ul><ul><li>Commence par un Sprint Planning </li></ul><ul><li>Se termine par une démonstration </li></ul><ul><li>Se conclut par une retrospective </li></ul>Baamtu
    16. 16. Scrum Qui? Baamtu
    17. 17. Rôles clés et responsabilités <ul><li>Propriétaire du produit (Product Owner) </li></ul><ul><ul><li>Définit les fonctionnalités du produit, décide du contenu et des dates des releases </li></ul></ul><ul><ul><li>Est responsable de la profitabilité du produit (ROI) </li></ul></ul><ul><ul><li>Priorise les fonctionnalités en fonction de leur valeur métier </li></ul></ul><ul><ul><li>Peut changer les fonctionnalités et leurs priorités à chaque itération </li></ul></ul><ul><ul><li>Accepte ou rejette les incréments </li></ul></ul>Baamtu
    18. 18. Rôles clés et responsabilités Baamtu
    19. 19. Rôles clés et responsabilités <ul><li>ScrumMaster </li></ul><ul><ul><li>Fait en sorte que l’équipe soit entièrement opérationnelle et productive </li></ul></ul><ul><ul><li>Permet une coopération étroite au-delà des rôles et fonctions en faisant tomber les barrières </li></ul></ul><ul><ul><li>Protège l’équipe des interférences extérieures </li></ul></ul><ul><ul><li>S’assure que le processus est bien appliqué. Convie au daily scrum, réunion de revue d’itération et réunion de planification </li></ul></ul><ul><ul><li>Souvent c’est le team leader ou le project leader ou le project manager qui joue ce rôle </li></ul></ul>Baamtu
    20. 20. Rôles clés et responsabilités Baamtu
    21. 21. Rôles clés et responsabilités <ul><li>Équipe : </li></ul><ul><ul><li>Doit être cross fonctionnelle </li></ul></ul><ul><ul><li>Pas de spécialisation fonctionnelle, 7 membres +/- 2 </li></ul></ul><ul><ul><li>Définit le but de l’itération et le contenu du livrable produit </li></ul></ul><ul><ul><li>Doit pouvoir faire tout ce qu’il est possible dans les limites du projet et de l’entreprise pour atteindre le but de l’itération </li></ul></ul><ul><ul><li>Auto organisation de l’équipe et du travail </li></ul></ul><ul><ul><li>Effectue la démonstration du produit au propriétaire du produit </li></ul></ul><ul><ul><li>Seule l’équipe chiffre et s’engage. </li></ul></ul><ul><ul><li>Certains membres peuvent être à temps partiel. </li></ul></ul><ul><ul><li>Pas de titre et d’exception : toute l’équipe code. </li></ul></ul>Baamtu
    22. 22. Rôles clés et responsabilités Baamtu
    23. 23. Scrum Quoi ? Baamtu
    24. 24. Product Backlog <ul><li>Liste de besoins, fonctionnalités, anomalies </li></ul><ul><li>Attributs : </li></ul><ul><ul><li>Id, User story, Notes </li></ul></ul><ul><ul><li>Importance (Priority), Complexité, </li></ul></ul><ul><ul><li>How-to demo, Statut </li></ul></ul><ul><li>Les anomalies seront définies plus tard en tant que « tâches » </li></ul><ul><li>Émergents, priorisés, estimés </li></ul><ul><li>Plus de détails sur les éléments de plus haute priorité </li></ul><ul><ul><li>Use Case (UML) </li></ul></ul><ul><li>Le Product Owner est responsable des priorités </li></ul><ul><li>L’estimation de la complexité est réalisé par l’équipe </li></ul><ul><li>N’importe qui peut contribuer </li></ul><ul><li>Maintenu et exposé de façon visible </li></ul><ul><li>Dérive d’un Business Plan ou d’un document de Vision qui parfois devront être créés avec le client </li></ul>Baamtu
    25. 25. Product Backlog : Estimation de la complexité <ul><li>Réalisé au travers du Planning Poker </li></ul><ul><li>Evaluation collective de la complexité </li></ul><ul><ul><li>Complexité relative aux autres items du Product Backlog </li></ul></ul><ul><li>Estimation en point de complexité et non en temps </li></ul><ul><ul><li>Donne la vélocité de l’équipe </li></ul></ul><ul><li>Attention : un ticket d’entrée de 3 à 4 sprints. </li></ul>Baamtu
    26. 26. Product Backlog Baamtu
    27. 27. Sprint Backlog <ul><li>Sous-ensemble des items du Product Backlog </li></ul><ul><li>Découpe ces items en tâches </li></ul><ul><li>Estimation en heure de chaque tâche </li></ul><ul><li>Les membres de l’équipe se répartissent les tâches </li></ul><ul><li>Définit à l’issue du Sprint Planning </li></ul><ul><li>Seule l’équipe pourra modifier le Sprint Backlog </li></ul><ul><li>Il doit être accessible à toute l’entreprise </li></ul>Baamtu
    28. 28. Burndown Chart <ul><li>Suivi de la réalisation des tâches </li></ul><ul><li>Devrait être linéaire si le découpage des tâches est correct </li></ul><ul><li>Devrait terminer à 0 en fin de Sprint </li></ul>Baamtu
    29. 29. Scrum Comment? Baamtu
    30. 30. Sprint Planning <ul><li>En présence de TOUTE l’équipe (Product Owner compris) </li></ul><ul><li>Définition du Sprint Goal </li></ul><ul><li>Identification des membres de l’équipe, des intervenants (Stakeholders) et de leur disponibilité </li></ul><ul><li>Définition du Sprint Backlog </li></ul><ul><li>Planification de la démonstration du résultat du Sprint </li></ul><ul><li>Mise en place du Daily Scrum </li></ul><ul><ul><li>Heure </li></ul></ul><ul><ul><li>Lieu </li></ul></ul>Baamtu
    31. 31. Done ? <ul><li>Quand un membre de l’équipe dit « done », que cela signifie-t-il ? </li></ul><ul><ul><li>Le code adhère aux standards, est propre, a été refactoré, a été testé unitairement, a été « checkiné », a été buildé, et a été validé par une suite de tests fonctionnels (voire plus). </li></ul></ul><ul><li>L’environnement de développement nécessaire à la mise en œuvre de tout ceci doit comprendre des briques de code réutilisables, des standards de développement, des facilités pour l’intégration continue et un outillage adapté pour les tests unitaires. </li></ul>Implémenté Unit test et couverture Tests fonctionnels Tests d’intégration Tests de performance Installation Test d’acceptance Pilote Production Baamtu
    32. 32. Daily Scrums <ul><li>Réunion quotidienne de 15mn (max.) </li></ul><ul><li>Même lieu et même heure tous les jours </li></ul><ul><ul><li>Salle de réunion </li></ul></ul><ul><li>Chickens et pigs : seul les pigs parlent </li></ul><ul><ul><li>Intervenants et membres d’équipe </li></ul></ul><ul><li>3 questions : </li></ul><ul><ul><li>Qu’as-tu fait depuis la dernière réunion ? </li></ul></ul><ul><ul><li>Que vas-tu faire d’ici à la prochaine réunion ? </li></ul></ul><ul><ul><li>Y’a-t-il des points qui pourraient t’empêcher d’atteindre cet objectif ? </li></ul></ul><ul><li>Points de blocage </li></ul><ul><li>Décisions </li></ul>Baamtu
    33. 33. Chickens et pigs Baamtu
    34. 34. Rétrospective de sprint <ul><li>Amélioration du processus en fin de sprint </li></ul><ul><li>Facilitée par le ScrumMaster </li></ul><ul><li>Qu’est-ce qui s’est bien passé, qu’est-ce qui peut être amélioré ? </li></ul><ul><li>Comment augmenter la vélocité de l’équipe </li></ul><ul><li>Identification des ‘Impediments’ </li></ul><ul><ul><li>Le ScrumMaster priorise en fonction des directions de l’équipe </li></ul></ul><ul><ul><li>L’équipe conçoit des solutions aux problèmes les plus frustrants </li></ul></ul>Baamtu
    35. 35. Ressources <ul><li>La Scrum Alliance : ( www.scrumalliance.org ) </li></ul><ul><li>Control Chaos : ( www.controlchaos.org ) </li></ul><ul><li>Agile alliance : ( www.agilealliance.org ) </li></ul><ul><li>Agile principles </li></ul><ul><ul><li>http://agilemanifesto.org/principles.html </li></ul></ul>Baamtu
    36. 36. Question? Baamtu
    37. 37. Vocabulaire Baamtu Limite de durée (sprint ou réunion) Bloc de temps Time-box Bilan d’itération Rétrospective du sprint Sprint retrospective Revue d’itération Revue du sprint Sprint review meeting Exécutable avec des fonctionnalités utilisables Produit partiel utilisable Potentially shippable product increment Réunion d’équipe quotidienne (1/4h) Mêlée quotidienne Scrum daily meeting Partie-prenante Intervenant Stakeholder Animateur d’équipe ScrumMaster ScrumMaster Client Propriétaire du produit Product Owner Plan d’itération Backlog du sprint Sprint Backlog Référentiel des exigences Backlog du produit Product Backlog Itération Sprint Sprint Français English

    ×