Sprint (Agile)

Qu’est-ce qu’un sprint ?

Un sprint désigne le cycle de développement pendant lequel vont s’enchaîner un certain nombre de tâches pour, à terme, arriver à la conception d’un produit final. En d’autres termes, le sprint correspond à la phase de codage d’une partie des fonctionnalités définies dans le cahier des charges de votre application mobile, application web ou tout autre projet de développement. 

Les agences de développement web utilisent beaucoup les méthodes agiles. Parmi elles, on retrouve la méthode Scrum où le sprint agile en constitue sa base. En règle générale, la durée d’un sprint oscille entre une et quatre semaines. Le délai dépend du nombre de fonctionnalités intégrées dans le sprint agile et leur niveau de complexité. Le 1er cycle concerne les tâches définies comme étant prioritaires ou indispensables pour ensuite passer aux fonctionnalités secondaires. 

Quels sont les avantages du sprint agile ? 

Un sprint agile, aussi appelé sprint Scrum, est basée sur la communication et allie la qualité à la rapidité. Aujourd’hui, ce type de méthode stratégique est très populaire au sein de projets de logiciels libres. Le but est de valider chaque étape, donc chaque sprint, et de synchroniser les avancées. Le fait d’améliorer petit à petit le projet par l’ajout d’itérations et donc de décomposer le processus de développement de votre projet web a de nombreux avantages : 

  • Le processus de développement d’une application mobile ou d’un tout autre projet de développement web étant assez complexe, le fait de le décomposer permet de le rendre plus simple
  • Le découpage en plusieurs sprints permet d’effectuer un plus grand nombre de tests et de vérifications. 
  • Identification et corrections des bugs plus rapidement et surtout, avant la fin du développement ! Le développement itératif est alors fortement favorisé
  • Meilleure visibilité de l’avancement du projet
  • Meilleure collaboration entre les différentes parties prenantes
  • Réduction des coûts de développement

 

Le choix de sprint agile favorise de ce fait la qualité de votre projet et garantit une satisfaction client optimale !  

Caractéristiques des sprints agiles
 

Quelles sont les différentes étapes d’un sprint ? 

Le sprint est dirigé par un coach qui suggère les tâches, en suit l’avancement et s’assure qu’aucun participant n’est bloqué. Ce coach est représenté par le product owner du projet. Il y a différentes étapes à suivre pour effectuer un sprint agile efficace

La planification du sprint

Avant de commencer un sprint, il est important de le planifier et de décrire très clairement ces objectifs. Toutes les informations nécessaires au bon développement doivent par ailleurs être connues de tous les membres de l’équipe. Il va donc y avoir une première réunion de présentation du sprint, qu’on appelle Sprint Planning Meeting où les fonctionnalités à coder sont détaillées. La durée du sprint est également identifiée durant cette planification. Prenons un exemple. Imaginons que vous souhaitiez créer une application mobile. Durant le premier sprint agile, le product owner et les développeurs décide de se concentrer sur la page d’inscription. Voici un exemple de fonctionnalités à intégrer dans ce premier sprint : 

  • Se connecter
  • Créer un compte
  • Possibilité de se connecter via Facebook, Twitter ou encore Google
  • Mot de passe oublié
  • Modifier son mot de passe

 

Si vous souhaitez rajouter un formulaire d’inscription : 

  • Renseigner son numéro de téléphone
  • Renseigner son adresse de facturation
  • Renseigner son adresse de livraison
  • Ajouter un mode de paiement 

 

Vous pouvez alors décider d’associer à un sprint un parcours utilisateur précis. Le deuxième sprint pourrait alors être consacré à la recherche produit. Parmi les fonctionnalités à coder, vous pourrait retrouver : accéder au menu, choisir une catégorie, appliquer un filtre sur la taille, sur la couleur, sur la matière, etc.  

À savoir que le sujet des sprints n’est pas fixe et peut varier. En effet, durant certains sprints, de nouveaux contributeurs au projet sont accueillis et formés de façon accélérée par un travail concret en binôme avec un membre plus expérimenté. De plus, chaque sprint doit apporter une valeur ajoutée au sprint précédent, qu’il soit plus efficace et ainsi de suite. 

Le déroulement d’un sprint agile 

Les différentes étapes d'un sprint
 

Il est important de noter que des réunions quotidiennes sont tenues par l’ensemble de l’équipe afin de discuter des avancées de chacun ou des éventuels blocages. Elles permettent également de discuter des retards potentiels, ce qui va permettre de supprimer des fonctionnalités qui ne sont pas indispensables. Ces dernières pourront par ailleurs être rajoutées après la livraison du projet, lorsque vous allez faire évoluer votre application mobile ou web. 

Les développeurs vont alors coder les fonctionnalités qui leur ont été attribuées. Une fois les fonctionnalités codées, ils doivent aussi effectuer une phase de recettage qui est non négligeable ! À chaque fin de sprint, ou bien après chaque codage d’une fonctionnalité, il faut effectuer une série de tests pour vérifier que les nouvelles fonctionnalités implémentées n’ont pas apportées de modifications au codage précédent. Un développeur est donc en charge d’une ou plusieurs fonctionnalités de sa conception jusqu’à sa vérification.

Voici un exemple d’organisation de sprint pour la création d’une application mobile. Vous pouvez voir que chaque sprint est constitué d’un certain nombre de tâches plus ou moins nombreuses. Tout dépend de l’objectif final du sprint agile. 

Exemple de construction d'un sprint

Revue et rétrospective du sprint 

La revue de sprint agile permet de montrer à l’ensemble de l’équipe projet les fonctionnalités qui ont été développées 

Enfin, un sprint se clôt par ce qu’on appelle des sprints rétroactifs. Cette étape consiste à définir les axes d’amélioration à envisager au terme de la réunion de conclusion. Elle met également les points forts et faibles qui sont ressortis de chaque sprint. La discussion peut tourner autour d’autres axes : 

  • Conditions de travail
  • Choix des technologies
  • Communication
  • Etc

 

Dans le langage agile, il s’agit du principe d’amélioration continue basé sur l’expérience ! 

Je contacte Mayasquad