Travailler de façon cadencée et synchronisée

État d'esprit

Le rythme améliore la prédictivité, la synchronisation facilite les dépendances

État d'esprit
Agility Maturity Cards > État d'esprit
Travailler de façon cadencée et synchronisée

Description

Le développement de logiciels est une activité complexe et, en raison des incertitudes associées à ce contexte, des choses émergent. Dans cette situation, il est recommandé de sonder la " chose ", de sentir ce qui émerge et d'établir une réponse en fonction de ce qui émerge [Snowden 2007]. L'approche agile est un bon moyen d'avancer progressivement dans la construction du système [Campbell 2020].

De plus, avancer de manière rythmée permet de hacher ce progrès et de réduire l'incertitude de manière rythmée afin de [SAFe 2021-7] :

  • convertir des événements imprévisibles en événements prévisibles à moindre coût
  • rendre prévisibles les délais d'attente pour les nouveaux résultats
  • soutenir une bonne régularité dans la planification et la coordination
  • limiter la taille de l'œuvre à un seul intervalle


Timing permet ensuite de mieux contrôler le moment où il faut ajouter de nouvelles sorties à ce qui existe déjà aux heures de synchronisation prévues.

Ce calendrier permet [SAFe 2021-7] :

  • plusieurs événements peuvent se produire en même temps
  • faciliter la prise de décision sur ce qui est le mieux pour le système sur la base d'un retour d'information concerté plutôt que de s'adapter au fur et à mesure et de revenir aux incohérences émergentes


Cette pratique fonctionne en conjonction avec une approche incrémentale [SAFe 2021-4] pour éviter d'aller trop loin dans une découverte fragmentaire du système qui aboutirait à trop de choses à intégrer.

Ainsi, l'apport de la cadence et de la synchronisation peut rendre la génération de la solution plus fluide [Reinertsen 2009] et livrer plus rapidement un produit à forte valeur ajoutée aux utilisateurs, à condition que la perception de la valeur ajoutée et la qualité du produit soient bonnes.

Application à la maturité des tests

L'approche de Snowden décrite dans le cadre Cynefin [Snowden 2007] propose que pour différentes situations, qu'elles soient évidentes, compliquées, complexes ou chaotiques, il existe un point auquel le système est sondé afin de prendre les décisions les plus appropriées. C'est précisément le rôle des tests.

Illustration du cadre Cynefin par [Snowded 2014].

Plus la capacité à tester est fine, meilleure est la perception du système "besoin perçu" / "produit réalisé" / "organisation".

A force d'améliorer sa perception du système par l'expérimentation, des outils émergent ; ces outils génèrent des pratiques dans l'organisation, ces pratiques s'organisent puis deviennent des principes [Larman 2017] [Moustier 2020].

Cette progression est, pour ainsi dire, le résultat de la maturité des tests qui font passer l'organisation d'un système désordonné à une approche chaotique qui devient complexe.

Parfois, lorsque le domaine est finement exploré, des normes peuvent émerger pour rendre le domaine compliqué ; et seulement dans certains cas, devenir évidentes.

La position d'Agilitest sur cette pratique

Dans le cadre Cynefin, Agilitest se positionne clairement au niveau de l'outillage, en particulier celui de l'automatisation des tests. En soi, l'approche de l'automatisation des tests est une pratique qui trouve une grande popularité suite à l'émergence du DevOps [SAFe 2021-15] [Wigmore 2017] et surtout du " Continuous Testing " qui l'accompagne [Wikipedia 2021] [Moustier 2020].

Agilitest contribue au test continu grâce à la simplicité de la mise en œuvre de l'automatisation des cas de test. L'approche #nocode [Forsyth 2021] limite le temps nécessaire à l'élaboration du script car il n'est pas nécessaire de penser à un algorithme, il suffit de suivre les étapes du processus métier de l'application à tester.

Cette rapidité facilite donc le timing et la synchronisation entre chaque partie prenante de la solution.

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

Pour aller plus loin

  • [Forsyth 2021] : Alexander Forsyth - JAN 2021 - " Low-Code et No-Code: Quelle est la différence et quand utiliser quoi ? " - https://www.outsystems.com/blog/posts/low-code-vs-no-code/ 
  • [Moustier 2020] : Christophe Moustier - OCT 2020 - " Conduite de tests agiles pour SAFe et LeSS " - ISBN : 978-2-409-02727-7
  • [Reinertsen 2009] : Donald G. Reinertsen - 2009 - " Les principes du flux de développement de produits : le développement de produits allégé de deuxième génération " - ISBN 978-1-935401-00-1
© Christophe Moustier - 2021