En développement agile, « terminer » doit réellement signifier « TERMINER! ».

Une caractéristique développée dans une itération (Sprint dans Scrum) doit être terminée à 100% à la fin du Sprint.

Trop souvent dans le développement de logiciels, « terminé » ne signifie pas vraiment « TERMINE ! ». Cela signifie non tester. Cela ne signifie pas forcément que l’aspect graphique est terminé. La plupart du temps, il n’a pas encore été validé par le directeur de produit et encore moins par le client. Cela signifie simplement développer.

Dans une situation idéale, chaque itération ou Sprint devrait conduire à une version du produit. Certes c’est le cas pour la BAU (business as usual) les changements apportés aux produits existants. Dans les projets ou il n’est pas possible de faire une release après chaque Sprint, réaliser chaque caractéristique à la suite, permet d’obtenir une vue très précise des progrès et dans quelle mesure elles correspondent à la cible du projet ou au contraire s’en éloigne.

En développement agile, il faut s’assurer que chaque caractéristique est pleinement développée, testée, l’aspect graphique stabilisé, et accepté par le directeur de produit et le client avant de la considérer comme « TERMINÉE ! ». S’il y a le moindre doute sur ce qui devrait ou ne devait pas être achevé dans le Sprint pour chaque fonction, « TERMINER! » devrait signifier être livrées.

Une caractéristique peut nécessiter d’autres caractéristiques en voie d’achèvement avant que le produit puisse être réellement expédié. Mais une caractéristique propre peut mériter d’être livrée. Donc, si vous êtes n’est pas sur qu’une caractéristique ce « suffit », posez-vous une simple question: « Est-ce que cette fonctionnalité est prête à être livrée ? « .

Il est également important de bien compléter chaque caractéristique avant de passer à la prochaine

Bien sûr, plusieurs caractéristiques peuvent être développées en parallèle dans une équipe. Le travail de chaque développeur est de ne pas passer à une nouvelle fonction jusqu’à ce que la dernière soit livrée. Ceci est important pour s’assurer que l’ensemble des produits est dans un état « prêt à être livré » à la fin du Sprint, et non dans un état où plusieurs caractéristiques sont à 90% ou non testé. Ce qui est une habitude dans les projets de développement traditionnels.

En développement agile, « terminer » signifie « TERMINER! ».