Integrate the second way from the phoenix project

This commit is contained in:
Fred Pauchet 2023-12-14 21:49:59 +01:00
parent 4071ed0b1f
commit b2f9c475a2
3 changed files with 16 additions and 7 deletions

View File

@ -3,7 +3,8 @@
"Testing shows the presence, not the absence, of bugs"
-- Edsger Dijkstra
Lorsque nous démarrons une nouvelle application, la toute première version est généralement la partie la plus simple à mettre en place : elle ne nécessite pratiquement aucune maintenance ou considération pour les futurs désidérata de vos clients.
Lorsque nous démarrons une nouvelle application, la toute première version est généralement la partie la plus simple à mettre en place : elle ne nécessite pratiquement aucune maintenance ou considération pour les futurs désidérata qui pourraient vous être demandés.
Les tests unitaires et d'intégration *vous* place comme client et consommateur de votre propre travail.
* Principles of flow
@ -170,9 +171,8 @@ Loutil le plus connu est https://tox.readthedocs.io/en/latest/[Tox], qui cons
La documentation de Poetry spécifie https://python-poetry.org/docs/faq/#is-tox-supported[une section] indiquant comment faire fonctionner Tox et Poetry conjointement.
A noter que pour que les commandes ci-dessus fonctionnent correctement, il sera nécessaire que vous ayez les différentes versions dinterpréteurs installées ou accessibles.
Ceci évitera les erreurs de type `+ERROR:   pyXX: InterpreterNotFound: pythonX.X+`.
Une solution consiste à utiliser `pyenv`, qui s'occupera d'installer les versions devant l'être :
Une solution consiste à utiliser `pyenv`, qui s'occupera d'installer les versions devant l'être, afin d'éviter les erreurs de type `ERROR:   pyXX: InterpreterNotFound: pythonX.X` :
....
pyenv install 3.10
@ -184,6 +184,14 @@ pyenv install 3.10
* Fast feedback
* ...
**The Second Way** is about the constant of fast feedback from right-to-left at all stages of the value stream, amplifying it to ensure that we can prevent problems from happening again or enable faster detection and recovery. By doing this, we create quality at the source, creating or embedding knowledge where we need it.
Dans le roman "The Phoenix Project" cite:[phoenix_project], un des principes présentés consiste à avoir un retour le plus rapide possible, et ce à n'importe quelle étape de la chaîne de valeurs, c'est-à-dire du développement jusqu'à la mise à disposition.
L'objectif est d'améliorer la confiance que nous pouvons avoir dans le produit développé, d'éviter qu'un problème rencontré ne survienne à nouveau, tout en accélérant la découverte de nouveaux problèmes et la récupération d'un environnement qui serait tombé.
The necessary practices include "stopping the production line" when our builds and tests fail in the deployment pipeline; constantly elevating the improvement of daily work over daily work; creating fast automated test suites to ensure that code is always in a potentially deployable state; creating shared goals and shared pain between Development and IT Operations; and creating pervasive production telemetry so that everyone can see whether code and environments are operating as designed and that customuer goals are being met. cite:[phoenix_project]
Si nous visualisons les phases de développement comme un pipeline composé d'étapes séquentielles, il est nécessaire que la rencontre d'une erreur arrête toute la chaîne de production, pour éviter qu'une erreur n'arrive jusqu'à une phase de déploiement.
Ce process fait notamment référence à la https://fr.wikipedia.org/wiki/Andon_(gestion)[corde d'andon] dans les chaînes de production de Toyota (et, plus tard : https://fr.wikipedia.org/wiki/Lean_(production)[à la méthode Lean]).
Pour atteindre cet objectif, il est nécessaire :
. De disposer de tests automatisés,
. De scénarii de déploiement,
. D'une télémétrie omniprésente.

View File

@ -1,4 +1,3 @@
[deployment]
= Déploiement
Tips

View File

@ -32,12 +32,14 @@ footer:
page:
margin: [1.0in, 1.0in, 1.0in, 1.0in]
admonition:
border-color: #E6E8FA
border-width: 0.5
icon:
caution:
name: fa-fire
stroke_color: ff0000
size: 24
blockquote:
quote:
cite:
fontsize: 13
image: