La méthode SCRUM ?
Zoom sur la méthode et petit lexique de base de Scrum pour un développement Agile
La méthode agile Scrum est un cadre de travail itératif et incrémental pour la gestion de projets complexes. Elle se base sur des cycles courts appelés "sprints", généralement de deux à quatre semaines, où une équipe auto-organisée développe des fonctionnalités prioritaires du produit. Scrum encourage la collaboration, la communication transparente et l’adaptation aux changements, favorisant ainsi une livraison rapide et régulière de produits de haute qualité.
Il n’y a pas de cahier des charges, on peut démarrer avec 20 ou 30 % des besoins connus
Le projet débute par le « sprint 0 », dédié à la réalisation de tous les travaux de préparation et de mise en place : conception et architecture, environnements de développement, outils de suivi et d’intégration…
Les fonctionnalités demandées sont listées et décrites sous la forme de « user stories » et placées dans le backlog produit. Au début d’un sprint l’équipe est réunie (développeurs et client) afin de déterminer quelles user stories vont être développées. Elles sont chiffrées lors d’une réunion intitulée « poker planning » et priorisées. L’ensemble des user stories sélectionnées constitue le « sprint backlog ». Le planning sprint et les objectifs à atteindre sont alors fixés. Pour un logiciel de messagerie, un exemple de product backlog pourrait contenir les user stories « Se connecter au serveur de messagerie », « consulter la liste des messages », « créer un message », « envoyer un message »…
Les principales étapes
Analyse des besoins : phase qui consiste à comprendre vos exigences, à identifier les objectifs du projet et à définir les fonctionnalités de la solution web (réunions de travail, études de marchés, analyse concurrentielle...)
Conception : Pendant cette phase, l’équipe de développement crée une architecture globale de la solution web (structure des pages, interactions utilisateur, bases de données nécessaires...) Nos créatifs, infographistes sont à pied d’oeuvre pour un design UX / UI.
Développement : C’est la phase où le code est écrit pour créer les fonctionnalités de la solution web.
Prototypes et tests : 2 à 3 itérations pour chacune des fonctionnalités principales.
Intégration et déploiement : les différents fonctionnalités et composants sont intégrés pour former une solution web cohérente. Une fois l’intégration terminée, l’application est déployée sur un serveur de production où elle est accessible aux utilisateurs finaux.
Maintenance et mise à jour : Après le déploiement, la solution web, l’application web nécessitent une maintenance continue pour assurer son bon fonctionnement, corriger les bugs éventuels et ajouter de nouvelles fonctionnalités. Des mises à jour régulières sont également nécessaires pour garantir la sécurité et la compatibilité avec les nouvelles technologies.
Les différents rôles dans Scrum
Le Product Owner ou PO : il porte la vision du produit à réaliser et il s’agit donc généralement d’un expert métier (chez le client).
Le Scrum Master ou SM : Il s’agit d’un membre à part entière de l’équipe projet, et il doit maîtriser Scrum car il est chargé de s’assurer que la méthodologie est correctement appliquée. Il ne faut surtout pas le confondre avec un chef de projet.
L’équipe de développement : elle est chargée de transformer les besoins exprimés par le product owner sous la forme de user stories en fonctionnalités réelles, opérationnelles et utilisables.
Lexique
Cas d’usage ou fonctionnalité
Product backlog
Liste la plus complète possible des fonctionnalités du produit à réaliser : cette liste est amenée à être modifiée pendant tout le projet.
Si une fonctionnalité est ajoutée en cours de route, on peut l’ajouter dans le sprint en cours si c’est livrable dans le temps imparti, sinon il faudra retirer un autre élément du sprint.
Sprint
Module constitué des fonctionnalités choisies dans le product backlog qui seront livrables à la fin du sprint. Si des fonctionnalités ne sont pas terminées à la fin d’un sprint, elles sont reporteés dans le sprint suivant. Les tests et la documentation font partie de la finalisation d’une fonctionnalité.
Time box
Durée d’un sprint
Sprint backlog
Liste des fonctionnalités d’un sprint (uniquement celles qui sont prêtes)
• On découpe les fonctionnalités en tâches (de moins d’1 jour si possible),
• On estime la durée de chaque tâche (toute l’équipe).
Notes :
Si une discussion s’éternise à propos d’une fonctionnalité, ça signifie que celle ci n’est pas prête et quelle doit être déportée dans un sprint ultérieur.
Sprint review
Le sprint review se fait à la fin d’un sprint, l’objectif est d’avoir le feedback du client
• Expliquer ce qui a été fait
• Voir ce qui reste à faire pour finaliser le produit (projet)
• Estimer une date de fin
• Les problèmes du backlog sont discutés
• Démonstration + questions
• Sommaire de la prochaine étape
• Revue de planning et budget
• Ajout des feedback du client et des nouvelles demandes dans le product backlog avec priorisation
Incrémental
Ajout par palier, petit à petit, afin d’être certain que chaque valeur ajoutée apporte une amélioration sans créer de dysfonctionnement.