Travail agile – itératif et incrémental
Scrum est, comme tous les processus agiles, à la fois itératif et incrémental. Comme ces deux termes sont souvent utilisés sans être définis, je vais prendre le temps de le faire maintenant.
Travailler avec des itérations
Dans un processus itératif, les améliorations sont réalisées étape par étape. Quand une équipe constate qu'un système n'est pas encore terminé ou pas assez abouti à certains endroits, elle améliore ces points progressivement jusqu'à ce que le produit soit satisfaisant. À chaque itération, le logiciel est amélioré par l'ajout de détails. Tu trouveras plus d'informations à ce sujet ici !
Lors d'une première itération, on travaille peut-être sur un masque de recherche qui ne permet qu'une recherche très simple. Dans la deuxième itération, des critères de recherche supplémentaires sont ajoutés. Et finalement, lors d'une troisième itération, on s'occupe de la correction d'éventuels bugs.
Les sculptures sont un bon exemple de ce principe. Le sculpteur commence par choisir une pierre de la bonne taille. Ensuite, il dégage la forme générale de l'œuvre. À ce stade, on peut peut-être déjà reconnaître la tête et le corps, et voir qu'il s'agira plutôt d'un humain que d'un oiseau. À l'étape suivante, le sculpteur affine son œuvre et travaille les détails. Il ne considérera aucune partie de son œuvre comme terminée tant que l'ensemble ne sera pas achevé.
Travailler avec des incréments
Dans un processus incrémental, le logiciel est développé et livré en parties distinctes. Chacune de ces parties – ou incréments – représente une fonctionnalité propre et complète. La taille des incréments respectifs n'a aucune importance.
Pour tous les incréments, des codes complets sont écrits et des tests sont effectués. On part donc du principe que le travail d'une itération n'aura pas besoin d'être retravaillé. Un sculpteur qui travaille de manière incrémentale se concentrera sur une partie de son travail jusqu'à ce qu'elle soit terminée. Il peut s'agir de petits incréments (d'abord le nez, puis les yeux, puis la bouche, etc.) ou de grands incréments (tête, torse, jambes, bras). Quelle que soit la taille des incréments, le sculpteur essaiera toujours de terminer complètement le travail sur un incrément donné avant de passer au suivant.
Scrum et le développement logiciel agile sont à la fois incrémentaux et itératifs
Itératifs, parce que le travail d'une itération doit être amélioré lors des itérations suivantes. Et incrémentaux, parce que des travaux individuels sont terminés et livrés au cours du processus.
Un exemple de différence entre itératif et incrémental :
Imaginons que nous créons un site de rencontres. Avec une approche itérative, l'équipe travaillerait un peu sur chaque partie du site – gestion des profils, fonction de recherche, publicités, etc. Ensuite, l'équipe reviendrait sur chaque partie pour l'améliorer.
Avec cette approche purement itérative, c'est donc l'ensemble du site qui est amélioré.
Si ce site était créé de manière incrémentale, l'équipe perfectionnerait d'abord la gestion des profils avant de finaliser la fonction de recherche, etc. Tout le travail sur une partie est donc terminé avant de passer à quelque chose de nouveau.
Conclusion sur l'approche itérative et incrémentale
L'approche itérative et l'approche incrémentale, prises séparément, ne sont pas particulièrement pertinentes. En combinaison – comme dans Scrum – elles sont cependant fantastiques.
Découvre-en plus sur le travail itératif et incrémental chez Agile Academy
Si tu veux approfondir ce sujet, nous te recommandons notre formation pour dirigeants Agile Leader.
En tant que Scrum Master, nous proposons les formations et possibilités de perfectionnement gratuites suivantes, qui te familiariseront également avec le travail itératif et incrémental :
Cours en ligne Scrum Master & Agile Coach
Améliore tes compétences en tant que Scrum Master ou Agile Coach avec notre cours en ligne.
Plonge dans l'univers de l'agilité et de Scrum et découvre, à travers des modèles pratiques et des exemples concrets, comment mieux travailler avec des équipes agiles.
Accéder au cours en ligne