En agilité, l’itération est une notion fondamentale. Elle représente une durée agissant comme cadence choisie par l’équipe dans la création de valeur. Lors d’une application de l’agilité via le framework Scrum, cette notion d’itération porte le doux nom de “Sprint”.

La durée du Sprint est un choix stratégique qui aura un impact significatif sur la performance de l’équipe. Une durée trop courte peut conduire à une pression excessive et des difficultés logistiques, tandis qu’une durée trop longue peut entraîner une perte de focus et de motivation.

Pourtant, le Scrum Guide, référence officielle de Scrum, ne nous donne que très peu d’indications sur la durée du Sprint et surtout sur la façon de la choisir.

Mais alors, comment choisir la durée idéale du Sprint ?

Ça donne quoi sur le terrain ?

Quand il s’agit de fixer la durée du Sprint, une des premières questions qui se pose est souvent celle-ci : une, deux, trois ou quatre semaines ? Le choix se fait généralement en fonction des semaines calendaires, débutant le lundi et se clôturant le vendredi.

Pourquoi cette option ? La réponse réside dans la création d’une régularité. Lorsque les membres de l’équipe peuvent anticiper le début et la fin du Sprint, cela établit une cadence qui devient une composante intrinsèque de leur mode de travail. Les semaines calendaires offrent une structure temporelle qui simplifie la planification, facilite la synchronisation des efforts et favorise une gestion du temps plus efficace.

Pourtant, la réalité du terrain n’est pas toujours une toile vierge sur laquelle l’équipe peut peindre sa propre cadence. Des éléments extérieurs, tels que la nécessité de se synchroniser avec d’autres événements (ex : le PI Planning de SAFe) ou l’interdépendance avec d’autres équipes, peuvent donner l’impression d’imposer des contraintes temporelles. Cela signifie que sur le terrain la durée du Sprint est parfois influencée par des éléments externes à l’équipe.

Et si on en revenait à la théorie ?

La première règle d’or dans le choix de la durée du Sprint est souvent formulée de manière concise et sans ambages : “Un Sprint ne doit pas excéder un mois.” Cette prescription, inscrite dans le Scrum Guide, sert à maintenir un équilibre délicat entre flexibilité et prédictibilité. En limitant la durée, on s’offre la possibilité de s’ajuster rapidement face aux évolutions du produit et de son marché tout en évitant les dérives.

Cependant, si la théorie Scrum préconise une durée maximale d’un mois, elle se montre beaucoup plus permissive en matière de durée minimale d’un sprint.

Ainsi, l’idée d’un Sprint d’un jour voire moins, bien que peu conventionnelle, reste envisageable. Il s’agit d’ailleurs d’un excellent exercice pour tester Scrum en conditions réelles. Ceci révèle la souplesse inhérente à Scrum, invitant les équipes à ajuster les règles en fonction de leurs besoins spécifiques.

La rigueur n’est pas une fin en soi. Scrum, dans son essence, ne stipule pas que la semaine de travail doit débuter un lundi pour finir un vendredi, il n’y a d’ailleurs aucune mention de “semaine” dans le Scrum Guide. Oublions donc les dogmes du calendrier conventionnel. Démarrer un Sprint un jeudi ou terminer un mercredi ? Pourquoi pas ! L’important réside dans les individus et leurs interactions plus que dans les outils et processus.. A ça ne nous rappellerait pas la 1ère valeur du manifest Agile ça ?

L’idéal serait de maintenir une durée fixe pour créer une cadence régulière, une pulsation fiable pour l’équipe et les parties prenantes. Toutefois, Scrum n’est pas entièrement fermé à une certaine dose de variabilité. Si le besoin d’ajuster la durée se fait sentir, rien ne nous en empêche du moment que cet ajustement s’inscrit dans la durée et que ça répond à un besoin concret. Par exemple, il est possible de réduire la durée du Sprint pour favoriser une boucle d’apprentissage plus rapide. Cette flexibilité, bien gérée, peut s’avérer être un levier puissant d’amélioration continue.

Mais ça sert à quoi un Sprint ?

Le Sprint, cette unité de temps qui donne son rythme à Scrum, est bien plus qu’une simple subdivision du temps. C’est une pièce maîtresse au sein du processus itératif de développement agile. Explorons ce qu’il représente réellement.

Le Sprint, tel un contenant, enferme et libère simultanément. Il délimite le terrain de jeu où les événements Scrum se déroulent. Ces événements, tels que le Sprint Planning, le Daily Meeting, la Sprint Review et la Sprint rétrospective, forment ensemble des boucles d’activités qui guident l’équipe. Chaque pas, chaque itération, amène une évolution sous forme d’amélioration continue et de feedback continu.

Au cœur du Sprint, réside l’empirisme, le principe fondamental qui érige Scrum en tant que framework agile. L’empirisme embrasse l’idée que la connaissance naît de l’expérience et de la prise de décision basée sur des faits concrets. Le Sprint est donc le laboratoire où l’empirisme prend vie. Chaque itération est une expérience, une occasion d’apprendre, de poser une hypothèse et de la vérifier, d’ajuster et de s’adapter.

Choisir la durée du Sprint n’est donc pas simplement une question de calendrier mais un réel défi où il est nécessaire d’équilibrer le temps nécessaire pour construire quelque chose de significatif tout en encourageant les apprentissages rapides. En d’autres termes un Sprint trop court peut limiter la portée des réalisations, tandis qu’un Sprint trop long peut freiner l’apprentissage.

Et la livraison dans tout ça ?

Dans le contexte dynamique de Scrum, la question de la livraison occupe une place particulière. Contrairement à certaines approches traditionnelles, où la livraison peut être un événement important à la fin d’un long cycle de développement, Scrum offre une perspective différente privilégiant la livraison fréquente et incrémentale.

En effet, en Scrum, la notion d’incrément prend le devant de la scène. Un incrément représente une version améliorée et fonctionnelle du produit. Le dynamisme de Scrum permet non seulement d’avoir plusieurs incréments par Sprint, mais aussi d’assister à des livraisons multiples au cours de celui-ci au point de pouvoir atteindre une gestion en flux continu. Cette approche offre une flexibilité et une adaptabilité qui sont essentielles dans un environnement où les besoins évoluent rapidement.

Il est crucial de noter que bien qu’il faille effectivement qu’au moins un incrément soit potentiellement livrable à la fin de chaque Sprint, sa livraison effective peut être différenciée. Scrum se concentre sur la possibilité de fournir un produit potentiellement utilisable à chaque itération, laissant le choix de déployer ou non cet incrément. Livrable ne signifie pas nécessairement livré. Cette différence offre une souplesse significative, permettant aux équipes de planifier les déploiements en fonction de divers facteurs, tels que la stratégie commerciale ou l’état du marché.

De nos jours, les meilleures pratiques s’orientent de plus en plus vers la décorrélation entre la livraison effective du produit et la mise à disposition des nouvelles fonctionnalités. L’utilisation de mécanismes tels que les “feature toggles” permet aux équipes de déployer des fonctionnalités sans les activer immédiatement pour les utilisateurs finaux. Cette approche offre un niveau supplémentaire de contrôle sur le moment où les fonctionnalités sont effectivement dévoilées aux parties prenantes, permettant ainsi une gestion fine des mises à jour.

En Scrum, la livraison ne devrait pas être un événement isolé ou une fin en soi. Elle est plutôt à considérer comme un moyen d’obtenir rapidement des retours, d’itérer et de s’adapter en conséquence. Scrum favorise une approche itérative, encourageant les équipes à livrer fréquemment pour maximiser la valeur du produit. Ainsi, la livraison devient un processus continu, un élément tout à fait normal dans la vie du produit, un non-événement permettant une amélioration constante basée sur les retours d’utilisateurs réels.

La livraison n’est donc pas vraiment un critère de choix pour la durée de nos Sprints.

Alors, comment choisir la durée d’un Sprint ?

On l’aura compris, dans un environnement agile, la durée du Sprint de Scrum n’est pas simplement un choix de calendrier, mais une décision stratégique qui influence directement le succès du projet. La question fondamentale persiste : Comment choisir la durée idéale d’un Sprint ?

Le premier point crucial dans la détermination de la durée d’un Sprint est le niveau de risque que l’équipe est prête à prendre entre la formulation d’une hypothèse et sa vérification. Un Sprint trop court peut ne pas permettre une validation réelle de cette hypothèse, tandis qu’un Sprint trop long pourrait entraîner un investissement prolongé dans une direction potentiellement erronée. Trouver l’équilibre parfait, c’est naviguer entre ce besoin de s’assurer de l’exactitude de notre hypothèse et la nécessité de limiter au maximum le risque au cas où notre postulat s’avérerait faux.

En effet, un aspect souvent négligé est le temps que l’on est prêt à perdre si notre hypothèse se révèle infondée. Opter pour des Sprints courts limite cette perte, permettant une correction rapide de la trajectoire en cas d’erreur. En revanche, des Sprints trop longs risquent d’entraîner des investissements substantiels dans des voies qui, avec le recul, se révèlent infructueuses.

L’adage “plus court est souvent meilleur” s’applique généralement dans le monde agile. En effet, choisir par défaut des Sprints courts permet de maximiser la fréquence des feedbacks, d’ajuster rapidement les plans et d’aligner le développement sur les besoins changeants du client et de son marché. Cependant, cela ne signifie pas qu’il faut sacrifier la qualité du travail accompli. Trouver le juste milieu est essentiel : un Sprint doit être assez court pour rester réactif, mais suffisamment long pour accomplir un travail significatif.

Enfin, la durée du Sprint doit respecter le rythme indéfiniment soutenable prôné par le manifest Agile. On s’en doute, l’épuisement des équipes est un ennemi du développement agile. La durée du Sprint doit donc être harmonieusement intégrée dans le flux de travail, favorisant la cohérence et la qualité tout en maintenant un rythme gérable sur le long terme.

 

En conclusion

Choisir la durée d’un Sprint en Scrum n’est pas simplement une question de calendrier, mais une préoccupation stratégique. En équilibrant judicieusement le risque pris, l’effort investi et la soutenabilité du rythme de travail, les équipes peuvent naviguer avec succès dans le monde complexe du développement agile.

Concrètement, j’aurais personnellement tendance à recommander le sprint d’une semaine par défaut pour allier à la fois la régularité calendaire (ex : le Sprint Planning est tous les lundis à 9h), la maîtrise du risque pris (le délai de vérification d’une hypothèse est à la fois suffisamment long pour être fiable et assez court pour revenir facilement en arrière en cas de besoin). La valeur pouvant être réalisée (1 semaine permet d’accomplir un travail significatif tout en s’autorisant l’absorption de quelques imprévus).

Bien évidemment, il faudra prendre en compte les contraintes de marché ou la difficulté d’obtention d’un retour sur investissement dans notre contexte, mais l’idée est avant tout de rendre plus facilement visible les obstacles et problèmes rencontrés tout en favorisant une boucle d’expérimentation plus courte pour la résolution de ces mêmes obstacles et problèmes.

Finalement, tout est question de gestion de risque : quel temps et budget êtes-vous prêt à perdre en cas de mauvaise décision ? “Le moins possible mon bon monsieur” me répondrez-vous intuitivement. Quand souhaitez-vous obtenir des informations cruciales pour votre produit ? “Le plus tôt possible” me répondrez-vous tout aussi naturellement. “Quelle durée choisir pour mon Sprint ?”, “La durée la plus courte possible” vous répondrai-je simplement.

 

Jimmy Rundstadler – Practice Leader Agile & Software Craftsmanship