Tout faire en même temps

État d'esprit

Tendre vers une organisation où on parvient à tout faire en même temps plutôt que phaser le travail

État d'esprit

Les origines de l'Agilité

En 1986, Ikujiro Nonaka & Hirotaka Takeuchi, deux universitaires qui ont observé des entreprises comme Toyota, ont défini trois catégories d'entreprises [Nonaka 1986][Moustier 2019-1] :

  • Les entreprises detype A, comme la NASA, qui divisent le travail en phases bien définies et ne passent pas à la phase suivante tant que la précédente n'est pas terminée.
  • Les entreprises detype B, où les phases se chevauchent légèrement, en partant du constat qu'il est concevable, par exemple, de commencer l'architecture lorsque 80% du cahier des charges est réalisé.
  • et les entreprises de type C où tout se fait en même temps, comme dans une mêlée de rugby.
Illustration tirée de [Moustier 2019-1].

Il s'avère que Jeff Sutherland a affirmé avoir lu cet article au début des années 1990 [Sutherland 2007][Moustier 2019-1] avant que lui et Ken Schwaber ne créent le cadre " Scrum ".

Ainsi, le "Scrum de type C" propose d'essayer de tout faire en même temps.

En effet, à y regarder de près, lorsqu'on travaille en mode agile, on fait de la spécification, de la conception, du codage et du test, tout comme en Waterfall ; ce qui vient changer, c'est que le cycle lié à ces étapes est tellement court qu'on ne peut plus différencier quand on fait quelle activité [Rainsberger 2014].

C'est cette contrainte de temps qui a progressivement conduit à l'émergence des pratiques agiles pour trouver des solutions permettant de faire plusieurs choses en même temps.

Application à la maturité des tests

Parmi les pratiques que les agilistes ont bousculées, on trouve évidemment les tests. Non seulement on a tendance à en faire tout le temps (c'est le concept de Continuous Testing [Moustier 2020]) ou même à s'y mettre, mais aussi à mélanger cette activité avec d'autres.

Ainsi, nous trouvons notamment :

  • LeTDD, qui consiste à faire le code en parallèle avec des tests unitaires, ce qui permet un certain niveau de conception [Moustier 2020].
  • ATDD, qui ne sont ni plus ni moins que des spécifications exécutables [Ambler 2005], elles sont comme un ruban de Moebius, tantôt des spécifications, tantôt des tests [Moustier 2020] et l'exécution de scripts automatisés fournit à la fois les conditions d'acceptation d'une User Story (US) et les tests de régression pour les expériences passées. US
  • Laprogrammation en binôme au cours de laquelle la revue de code se fait en même temps que la production du code, ce mode de travail permet également un transfert de compétence [Moustier 2019-1] qui est particulièrement redoutable au niveau d'une équipe lorsqu'elle pratique la programmation en binôme.
  • les"3 Amigos" ou"Example Mapping" permettent de revoir un US et de générer des tests d'acceptation [Hage Chahine 2020] [Moustier 2019-1].
  • " La documentation vivante" permet de générer le code en même temps que la documentation et les tests de structure du code [Martraire 2015][Moustier 2020].
    lestests exploratoires consistent à écrire des scénarios de test en même temps qu'ils les exécutent [Moustier 2019-1].


l'ATDD est une "bande de Moebius" [Moustier 2020].

La position d'Agilitest sur cette pratique

Agilitest permet d'effectuer des tests de régression en utilisant la pratique ATDD.

Pour découvrir l'ensemble des pratiques, cliquez ici.

Pour aller plus loin

© Christophe Moustier - 2021