Blog

Introduction à la méthode agile SCRUM

C’est bien connu, les projets logiciels ont tendance à finir beaucoup trop tard et surtout exploser leurs budgets de façon considérable.

Pour surmonter ce problème, les méthodes Agiles sont apparues progressivement. La méthode agile Scrum est sans aucun doute l’une des méthodes agiles la plus utilisée au monde. Si vous souhaitez comprendre pourquoi les méthodes Agiles et Scrum ont été créées, je vous invite fortement à lire l’un de mes précédents articles sur le sujet : “Scrum reste la méthode parfaite pour développer un produit innovant en 2016”.

Aujourd’hui, je veux aller plus loin dans la théorie en décrivant en détail ce qu’est SCRUM. Si vous avez déjà utilisé Scrum ou si vous connaissez ses concepts principaux, cet article n’est pas pour vous. Si Scrum est nouveau pour vous et si vous souhaitez comprendre quelles sont ses caractéristiques clés, continuez la lecture. J’ai tenté de résumer les concepts de Scrum de la façon la plus synthétique possible, pour ne pas écrire un roman mais plutôt une introduction juste et efficace à Scrum.

En parlant de roman, si vous souhaitez vous former à Scrum et maitriser ses tenants et aboutissants sur le bout des doigts, je vous recommande les livres suivants :

  • Succeeding with Agile de Mike Cohn
  • Scrum and XP From The Trenches de Henrik Kniberg

 

Définition de Scrum

Scrum est un framework agile qui permet de développer rapidement un produit afin de le confronter à son marché le plus rapidement possible. Scrum permet de façon régulière d’inspecter et valider le logiciel en cours de développement grâce à des cycles itératifs de 2, 3 semaines appelés des “Sprints”.

Les équipes Scrum s’auto-organisent afin de déterminer efficacement la meilleure façon de délivrer les fonctionnalités essentielles au produit. Ces fonctionnalités et les expressions de besoin sont capturées en tant qu’items (“Story”) dans une liste appelée “Product Backlog”.

A la fin de chaque sprint, tout le monde peut constater un résultat fonctionnel et concret du produit et décider de le déployer tel quel ou de continuer à itérer lors d’un autre sprint.

Qu’est ce qu’un Sprint ?

Développement séquentiel versus développement chevauché

Comme expliqué ci-dessus, les projets Scrum évoluent grâce à une série de “Sprints”. La durée de ces sprints est généralement de 2 à 4 semaines, pas plus. Il est primordial de conserver la même durée dans le temps pour chaque sprint afin de garder un rythme uniforme. Les évolutions et fonctionnalités nouvelles des produits sont généralement conçues, codées et aussi testées à l’intérieur de chaque sprint.

agile values

 

Les rôles et profils dans un projet Scrum ?

Le Product Owner :

Le product owner ou “PO” définit les fonctionnalités du produit. Il décide des dates de déploiement et priorise également les fonctionnalités grâce à la fameuse liste “Product Backlog” en accord avec le marché (demandes des clients, etc..). Ainsi, il est responsable du futur succès du produit et ajuste les fonctionnalités et leurs priorités à chaque sprint si besoin.

 

Le ScrumMaster :

Le ScrumMaster est responsable de la mise en place des valeurs et des pratiques Scrum tout au long du projet. C’est un facilitateur et parfois un arbitre rappelant les règles et pratiques Scrum durant les réunions d’équipes si nécessaire. Il agit également comme un bouclier afin de protéger l’équipe des interférences externes et s’assure également que l’équipe est pleinement fonctionnelle et productive.

 

Le reste de l’équipe :

Les équipes s’auto-gèrent et sont composées généralement de 5 à 9 personnes à temps plein : Des testeurs, des développeurs, des designers, etc..

 

Dans Scrum, les réunions de projets sont appelées des “Cérémonies”

Découvrez ci-dessous les 4 principales cérémonies Scrum. :

Le “Sprint planning

1 cérémonie par Sprint (2/3 heures par planning)

Durant les Sprint plannings, l’équipe sélectionne les tâches provenant de la “Product Backlog” qui sont éligibles au prochain sprint, c’est à dire terminables en un unique Sprint. A ce moment, une “Sprint Backlog” est créé. Les tâches sont identifiées et sont estimées afin de veiller à ce que l’intégralité des tâches soit terminée durant le Sprint.

 

Le “Daily Scrum

1 cérémonie par jour (15 minutes max)

Souvent appelés “Standup meetings”, les “Daily Scrum” durent environ 15 minutes et ont lieu chaque matin. Chaque membre de l’équipe doit être debout et est invité à répondre aux 3 questions suivantes :

  • Qu’est ce que j’ai fait hier?
  • Que vais-je faire aujourd’hui?
  • Ai-je rencontré des problèmes?

Cette réunion quotidienne permet d’éviter d’autres réunions inutiles et évitables. Le “Daily meeting” n’est pas le moment opportun pour résoudre les problèmes mais plutôt de les énumérer pour informer tous les membres de l’équipe.

 

La “Sprint review

1 cérémonie à la fin de chaque Sprint (2 heures par review)

Durant 2 heures à la fin de chaque sprint ont lieu les revues de Sprint: “Sprint reviews”. Durant ces “reviews”, l’équipe présente ce qu’elle a accompli durant le Sprint qui se termine. Les revues prennent généralement la forme de démonstration des nouvelles fonctionnalités et de l’architecture sous-jacente, les Powerpoints et slides sont interdits. Des gens externes aux projets (parties prenantes par exemple) sont éventuellement les bienvenus pour voir l’avancement des projets.

 

La “Sprint retrospective

1 cérémonie à la fin de chaque Sprint (1 heures par rétrospective)

Enfin, la rétrospective du Sprint a lieu généralement juste après la revue de Sprint: “Sprint review”. La rétrospective permet de prendre du recul sur ce qui a marché ou n’a pas marché durant le Sprint. Des actions sont déterminées par l’équipe afin d’améliorer les prochains cycles de développement.

agile cycle sprint

 

Conclusion

Scrum est une méthode puissante mais est plutôt difficile à implémenter sans expérience. Mon conseil est de se faire accompagner et aider pour ne pas prendre de mauvaises habitudes avec vos équipes lors de la mise en place de SCRUM sur un premier projet.

De nombreux outils Saas sont également disponibles sur le marché et pourraient vous aider à démarrer. Personnellement, j’utilise Jira Agile d’Atlassian avec mon équipe chez Jooxter et nous en sommes ravis.

1 Comment

  1. azili

    Résumé simple et parfait. un cas reel de projet serait idéal.
    application de scrum juste pour le démarrage….le reste est un cycle…
    Merci

Leave a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *