En tant que développeur ou développeuse, dois-je être autonome ?
Tout bon étudiant de philosophie sait que le diable se cache dans les détails, et qu’il n’y a pas de bonne dissertation sans une bonne définition des termes.
L’anarchie : je refuse toutes les lois. L’anarchie politique n’est pas
le chaos sans loi, et est significativement plus proche de la conception Kantienne d’autonomie. La définition ici d’anarchie est
celle de Kant.
Hétéronomie : je suis les règles érigées par d’autres (ça peut être des lois morales, des lois civiles, des règlements
d’entreprise, etc.)
Autonomie : je choisis les règles (qui ne sont pas universelles) que je suis.
L’autonomie selon Kant (vu que c’est surtout de lui qu’on va parler), c’est le fait de se donner soi-même sa propre loi.
Autrement dit c’est l’inverse de l’hétéronomie.
Lorsque j’agis sans forme de scrupule, c’est-à-dire sans inquiétude morale des conséquences globales de
mes actes, c’est de l’anarchie morale.
Lorsque que la loi m’est imposée, la conduite droite n’est pas morale, ce n’est qu’une obéissance.
Il n’y a que lorsque je définis moi-même ma loi (qui est par essence une restriction, une contrainte) que s’opère une
moralité, et c’est ainsi que se réalise ma liberté.
C’est quoi la différence entre la morale et l’éthique ? Initialement il n’y en a pas, éthique est d’origine grecque et morale est d’origine latine. La philosophie a ensuite différencié les deux termes, la morale désigne des règles et des lois préconstituées, on parle surtout de morales car il y a autant de morales qu’il y a de civilisations, d’époques. Éthique désigne maintenant plutôt une réflexion sur une morale.
La morale : il ne faut pas livrer de code qui n’est pas tester unitairement
L’éthique : pourquoi dois-je tester mon code avant de le livrer ?
Vous avez donc deviné qu’on va essayer de parler d’éthique, en parlant de morales.
En dernier ressort, une action morale (comprendre moralement bonne) c’est une action qui est conforme à des
lois morales. Comment définir quelle loi est morale, laquelle ne l’est pas et plus terre-à-terre quelles règles
devrait-on suivre en tant que développeur ou développeuse ?
Une autre question, il peut exister des lois civiles qui contredisent votre loi morale. Est-ce que du coup c’est une bonne loi ?
Sois plus terre-à-terre
L’autonomie, c’est donc choisir les lois qu’on doit respecter. Et à l’inverse celles qu’on s’autorise à transgresser.
Je pense que c’est intéressant de se poser les questions en ces termes. Être réellement autonome c’est être en capacité de s’émanciper des règles et des lois. De toutes les règles et de toutes les lois, si ma morale l’approuve.
Mais ça ne veut surtout pas dire que ça devient le culte de l’égoïsme et qu’on brise toutes les règles qui ne nous arrangent pas. Ça veut dire que l’autonomie se substitue au bonheur égoïste, à la recherche de mon optimum local d’efficacité. Être autonome c’est comprendre totalement pourquoi des règles existent, (qui les a mis en place? dans quel but ? pour répondre à quel problème initial ?) et quels sont les risques ou effets à briser une règle.
Briser une règle n’est pas anodin
Si une loi dit “le daily stand-up doit être au milieu de la journée”, il est important que l’équipe comprenne pourquoi il est important de faire une réunion quotidienne, et pourquoi elle se pose au début de la journée. Si l’équipe décide collégialement de déplacer le standup à 14 h, il faut la rigueur intellectuelle de comprendre ce qu’on gagne, mais surtout ce qu’on perd à changer une règle, ou à arrêter de s’y soumettre. Et c’est tout à fait normal de ne pas savoir répondre à cette question, nous sommes entourés de règles tacites ou explicites autour de nous sur la façon d’organiser notre code, notre temps de travail, et nous prenons rarement le temps d’en expliquer les origines.
S’il est très facile et satisfaisant de supprimer un process, encore faut-il avoir les connaissances généalogiques suffisantes pour comprendre l’intérêt de la règle et l’humilité de savoir dire qu’on ne sait plus pourquoi la règle existe.
Nous recherchons l’efficacité
Suivre des règles et des process et rechercher une efficacité de travail maximale sont deux injonctions contradictoires
Nous subissons souvent des injonctions à nous adapter à un environnement technique extrêmement changeant, à toujours
être efficaces, productifs. Le clean code nous apprend à bien coder, le software craftsmanship à être pragmatique
et efficace. Dans cet environnement, toute contrainte nous ralentissant est perçue comme contre-productive (et donc souvent
non-professionnelle) si elle nous empêche de travailler aussi vite et aussi longtemps que nous le souhaitions.
Quand les salariés sont en concurrence les uns avec les autres, leur compétitivité les pousse
à rechercher de la performance individuelle plutôt que rechercher la performance collective, l’apprentissage collectif.
J’observe souvent un décalage entre les critères de performance individuels et les critères de performance globaux de l’entreprise (typiquement, le profit),
il me semble pourtant que la vitesse d’écriture de code n’est pas le goulet d’étranglement de la plupart des entreprises.
Certains individus pourront donc se sentir pousser des ailes et adopter une “attitude de cow-boy”. Cette attitude est exaltante, mais elle montre deux choses importantes selon moi :
- les personnes capables de s’affranchir des lois pour aller plus vite ne le font pas par autonomie, ils le font par anarchie morale. L’intérêt est de montrer sa capacité, sa puissance, en étant plus rapide et plus efficace que les autres. La performance influe sur la compétitivité entre les salariés. Ces cowboys généralement ne gèrent pas d’applications, ne font pas de maintenance, ils aiment les projets neuf.
- les personnes étant dans l’entreprise depuis plus longtemps connaissent les règles, les process, pourquoi elles existent. À l’inverse, il est toujours plus facile d’enfreindre une règle quand on sait qu’on ne subira pas de représailles. D’où le fait que ces “cowboys d’entreprise” sont souvent des prestataires ou des consultants externes.
Petit aparté, dans “le maniement des hommes” de Thibault Le Texier il explique que le management, les règlements et les lois semblent un vestige du passé dans un environnement de travail moderne. Les individus n’ont plus besoin de manager ni de surveillance, ils se managent eux-même en intériorisant la surveillance, tout en restant le plus productif possible. Peut-être devrait-on chercher dans les formes modernes du travail les raisons de cette recherche d’autonomie ?
Une équipe agile
Ça me semblait important de mettre au clair qu’on ne peut pas viser l’autonomie d’une équipe (la fameuse auto-organisation) sans cette capacité à s’émanciper des règles, non pas par égoïsme mais justement parce que l’autre est une fin en soi. Et qu’en tant que développeur ou développeuse dans une équipe agile, mon éthique me dit que je ne dois pas uniquement penser à mon écriture de code. Il faut penser aux autres personnes de l’entreprises. Les chefs et cheffes de projet, les testeurs et testeuses, les PO, les membres de l’équipe commerciale, et les OPS. Leurs fonctions, leurs attentes, leurs appétences et leurs désirs doivent rester dans notre esprit quand on choisit d’agir, encore plus quand il s’agit de transgresser une règle faite pour sécuriser leur travail.
C’est en ayant une approche holistique (qui envisage l’entreprise comme un système avec des agents interconnectés, avec des intérêts personnels différents) qu’on peut être une équipe autonome responsable.
La morale anarchiste, selon Piotr Kropotkine, c’est se demander si une règle d’action qu’on se donne peut devenir la règle de toute femme ou tout homme placé dans la même situation. Seulement à ce moment là pouvons-nous considérer que nous sommes en présence de la loi morale kantienne, quand nous sommes à la fois les sujets (en tant qu’êtres sensibles) et les auteurs (en tant qu’êtres raisonnables).
Donc, faut-il être autonome ?
Oui, mais le faire sans orgueil et sans égoïsme. Je ne dois pas me subordonner à qui que ce soit d’extérieur. Autrui est lui aussi une fin en soi. La recherche d’autonomie passe donc par la compréhension, l’écoute et l’empathie. Et contrairement aux apparences la recherche d’autonomie passe donc par une prise de conscience du collectif.
Il est à noter que le contexte de la loi Kantienne s’applique à des citoyens et citoyennes. Le contexte de la vie en entreprise n’est pas tout à fait pareil, car il est basé sur un contrat de subordination. Vous offrez votre force de travail et votre subordination totale en échange d’un salaire. Du coup, le choix d’appliquer ou de ne pas appliquer des règles n’est pas le même que dans la situation que décrit Manu Kant. Ce raisonnement ne s’applique donc pas à toutes les entreprises ni à toutes les équipes, mais uniquement à celles visant l’autonomie de leurs équipes, notamment par l’agilité.
philosophie meta agile loi morale