Dossiers par statégie d'état
Au démarrage d’un projet, il faut pouvoir organiser tous les scénarios d’automatisation qui vont être développés. Cette organisation va suivre une stratégie d’état (state
) comparable à ce que l’on peut retrouver sur des outils de versioning.
Stratégie des états (states) par dossier
Dans la méthodologie, chaque dossier correspond à un état du scénario (state
).
6 états de scénarios sont à concevoir en amont sur une organisation par dossier.
Les 6 états sont les suivants (l’ordre est alphabétique, mais ne reflète pas un ordre d’importance) :
- Archived
- Backup
- Dev
- Prod
- Sandbox
- Staging
Faire des dossiers séparés permet de visuellement mettre en exergue les états des différents scénarios.
Ce qui est important ici, c’est l’organisation des différentes versions et les états des scénarios pour pouvoir agir dessus et les faire évoluer.
On veut éviter de devoir faire une modification sur un scénario actuellement en PROD
et qui fonctionne sans avoir au préalable testé ce scénario.
Il évite, par exemple, d’avoir des scénarios en PROD
qui soient intégrés dans différents dossiers.
En fonction des outils, cela permet également de donner des droits par dossier aux responsables des automatisations en fonction de la criticité de leurs états.
Convention de nommage
TIP
STATE : PROD
- Les noms doivent être en
UPPERCASE
. - Ils ne doivent pas contenir d’accents, de caractères spéciaux, émoticones.
- La langue officielle est l’anglais.
States - Description détaillée
Dans la méthodologie, nous avons identifié 6 états de scénarios qui vont vous permettre de gérer leur cycle de vie et d’envisager une montée en charge de vos scénarios ainsi qu’une collaboration.
Pour une bonne organisation par dossier, il convient de créer en amont les différents dossiers avant de démarrer la construction des scénarios. Cela vous permettra ensuite plus facilement de ranger un nouveau scénario dans son dossier.
Un scénario doit absolument être rangé dans un dossier et/ou identifié par son state
.
Aucun dossier n’est optionnel, vous devez tous les créer en amont. Toutefois, et d’un point de vue pratique, il s’avère que les dossiers DEV
et PROD
sont les plus critiques dans l’organisation de vos scénarios.
Vos scénarios vont suivre un cycle de vie qui sera bien souvent le même. Voici l’ordre de leur cycle de vie.
- Sandbox
- Developpement
- Staging
- Production
- Backup
- Archived
Sandbox
Le dossier _SANDBOX
possède des scénarios dont l’objectif est de réaliser des tests en amont, des MVP (Minimal Viable Product) afin de pouvoir aller rapidement tester si les scénarios sont possibles et/ou crée de la valeur. Cela va permettre également d’être un terrain de jeu pour le test lors de la sortie de nouveaux modules et d’actions à intégrer dans de nouveaux scénarios. Dans tous ces scénarios, certains seront ensuite amenés en DEV
puis en PROD
, d’autres ne sortiront jamais de ce dossier. Si des scénarios ne sont plus pertinents, vous pouvez les supprimer. Aucun de ces scénarios ne doit se retrouver dans le dossier BACKUP
ou ARCHIVED
s’ils n’ont pas été au préalable en PROD
.
INFO
le dossier _SANDBOX
est identifié par un underscore _
. Cet underscore signifie dans ce contexte la présence de scénarios non critiques dans le cycle de vie des différentes automatisations.
Developpement
Un scénario qui passe en DEV
est un scénario validé par l’équipe ou le client comme étant un scénario qui sera mis en PROD
. Lors de toute la phase de construction du scénario et des différents tests de ce dernier, le scénario sera géré à part entière sur ce dossier avant d’être déplacé en PROD
. Toutes les variables, connexions, webhooks… des scénarios de DEV
seront également des versions de DEV
. Dans ce dossier, il n’y a qu’une seule version du scénario en DEV
. À partir du moment où il passe en PROD
, il doit disparaître dossier DEV
. Si vous avez besoin de refaire une nouvelle version de DEV
pour itérer ou régler un bug, il faut alors cloner le scénario de PROD
et le remettre dans le dossier DEV
(avec le bon titre de version) — en n’oubliant pas de remettre des variables de DEV
. Avant de passer en PROD
, un scénario de DEV
peut passer dans le dossier STAGING
.
Staging
Le dossier STAGING
est un dossier qui se situe entre le dossier DEV
et PROD
dans le cycle de vie d’une automatisation. Dans les faits, le STAGING
est peu utilisé. Il n’a de sens que lors d’une validation du scénario de DEV
. Cela peut être le cas :
- Si vous souhaitez travailler en peer programming avec un collaborateur qui va valider et tester votre scénario ;
- Si une personne dans votre équipe est en charge de valider l’ensemble des scénarios avant la mise en
PROD
. Lorsque le scénario enSTAGING
est validé, il convient de le passer enPROD
.
Prodcution
Dans le dossier PROD
, il n’y a que les scénarios qui sont live.
En règle générale, il n’y a qu’une seule version d’un même scénario en PROD
.
Toutefois, dans certains cas, vous pouvez imaginer avoir des scénarios en PROD qui ont des versions différentes. Voici les cas d’usages :
- Vous souhaitez mesurer la performance de deux scénarios sur la même fonctionnalité et donc avoir des datas pour comparer dans un temps définit pour définir in fine le meilleur scénario pour votre cas d’usage ;
- Un module présent dans le scénario a été mis à jour sur une nouvelle version de son API et certains des outils que vous avez mis en place sont reliés à l’ancienne version de l’API. Par conséquent, vous avez deux mêmes scénarios avec des versions d’APIs différentes dans un souci de compatibilité de votre parc logiciel.
Backup
Ce dossier contient la dernière version du scénario poussée en PROD
et qui vient d’être remplacée par une version antérieure. Le dossier BACKUP
ne contient seulement que la dernière version de PROD
. Les autres versions antérieures sont déplacées dans le dossier ARCHIVED
. L’objectif de ce dossier BACKUP
est de pouvoir retrouver rapidement la dernière version d’un scénario de PROD
pour potentiellement le repousser en PROD
dans le cas où un scénario actuellement en PROD
rencontrerait trop de difficultés ou d’erreurs qui nuisent à son fonctionnement.
Archived
Le dossier _ARCHIVED
contient seulement les versions de PROD
antérieures. La bonne pratique voudrait que l’on garde uniquement les deux dernières versions d’un scénario. Les versions en dessous peuvent être considérées comme non pertinentes à garder ici et il convient donc de les supprimer pour une meilleure lisibilité et éviter de surcharger le dossier. Si vous souhaitez le faire, avant de supprimer un scénario du dossier _ARCHIVED
, il est important de faire un backup du blueprint et de le stocker soit sur un repository ou un Drive.
INFO
le dossier _ARCHIVED
est identifié par un underscore _
. Cet underscore signifie dans ce contexte la présence de scénarios non critiques dans le cycle de vie des différentes automatisations.
FAQ
Pourquoi ne pas mettre le nom de l’entreprise / organisation dans le dossier ?
Le nom de l’entreprise / organisation est déjà inclut de base sur votre projet (aka votre compte). Il est donc sous-entendu. Il n’y a pas besoin de le répéter.
Pourquoi ne pas ajouter le nom de l’entité / équipe en charge dans le dossier ?
En fonction de la complexité et du nombre de scénario, il sera utile de mettre le nom de la business unit / équipe / entité à qui est destiné le scénario dans le titre du scénario. Pour rappel, la stratégie de dossier a pour objectif de représenter le cycle de vie d’un scénario. Par conséquent, par exemple, il est important de ne pas avoir 2 dossiers PROD (ex. PROD_MARKETING
et PROD_COMMUNICATION
)
Peut-on ajouter une date pour différencier ?
Les dates ne sont pas indiquées à ce niveau-là. Les dossiers ont pour vocation d’exprimer un state
du scénario.