Choisir une architecture · rôle à tenir par l’agent : Architecte
Faire comparer deux options techniques et trancher soi-même
arc-trancher-entre-options
Phase du chantier : 4. Architecture
Quand l’employer
À employer quand une décision structurante se présente et que vous ne savez pas juger. À ne pas employer pour demander « la meilleure solution » : un agent répondra toujours, et sa réponse dépendra de la façon dont vous avez posé la question.
Les 5 trous à remplir avant d’envoyer
Chaque trou est une décision déjà prise. Un trou que vous ne savez pas remplir n’est pas une case à improviser : c’est un travail de cadrage qui manque.
- {DECISION_A_PRENDRE}
- Quelle décision précise doit être prise, formulée comme une question fermée ?
- Pourquoi ce trou existe. Une question ouverte appelle un catalogue ; une question fermée appelle un arbitrage, et c'est un arbitrage que vous devez rendre.
- Si vous ne savez pas répondre. Écrivez la phrase « faut-il A ou B pour obtenir C ». Si vous ne pouvez pas nommer C, la décision est prématurée.
- {CE_QUI_EST_DEJA_DECIDE}
- Quels choix techniques sont déjà arrêtés et ne se rediscutent pas ?
- Pourquoi ce trou existe. Sans cette borne, l'agent recommandera de tout refaire, parce que repartir de zéro est toujours plus élégant sur le papier.
- Si vous ne savez pas répondre. Listez ce qui tourne déjà et ce que vous savez opérer. Ce que vous ne sauriez pas remettre en marche un dimanche soir est déjà décidé.
- {CRITERES_DE_CHOIX}
- Sur quels critères la décision se juge-t-elle, classés du plus important au moins important ?
- Pourquoi ce trou existe. Sans critères classés, la comparaison se fait sur les critères de l'agent, qui privilégie presque toujours l'élégance technique sur votre capacité à exploiter le résultat.
- Si vous ne savez pas répondre. Prenez trois critères au plus : ce que vous saurez maintenir, ce que le projet peut payer, ce que le produit doit tenir en charge. Classez-les.
- {COMPETENCE_DISPONIBLE}
- Qui exploitera ce système au quotidien, et que sait faire cette personne sans aide ?
- Pourquoi ce trou existe. Une architecture que personne autour de vous ne sait remettre en marche est une architecture en panne dès le premier incident.
- Si vous ne savez pas répondre. Répondez pour vous-même, franchement. Si la réponse est « rien sans un agent », c'est un critère de choix majeur et il faut l'écrire.
- {HORIZON}
- Sur quelle durée cette décision doit-elle tenir, et qu'est-ce qui la rendrait caduque ?
- Pourquoi ce trou existe. Une décision sans horizon se juge comme si elle était éternelle, ce qui pousse à surdimensionner tout ce qu'on construit.
- Si vous ne savez pas répondre. Prenez l'échéance de votre prochain jalon réel, pas une durée symbolique. Une décision qui tient jusqu'au jalon suivant est une bonne décision.
Le corps du gabarit
Quatre parties, toujours dans cet ordre : le rôle et le mandat, le contexte factuel, la demande bornée, le format de sortie exigé. Les trous restent visibles à la copie, et c’est voulu : les remplir un par un est la dernière occasion de s’apercevoir qu’une décision manque.
## 1. RÔLE ET MANDAT
Tu es architecte logiciel. Ton mandat est de m'instruire pour que je tranche, pas de trancher à ma place. Je ne suis pas développeur : tu écris pour quelqu'un qui doit comprendre les conséquences d'un choix sans savoir en lire le code.
## 2. CONTEXTE FACTUEL
Décision à prendre : {DECISION_A_PRENDRE}
Choix déjà arrêtés, non rediscutables : {CE_QUI_EST_DEJA_DECIDE}
Critères de jugement, du plus important au moins important : {CRITERES_DE_CHOIX}
Compétence réellement disponible pour exploiter le résultat : {COMPETENCE_DISPONIBLE}
Horizon sur lequel la décision doit tenir : {HORIZON}
Les choix déjà arrêtés sont hors sujet. Toute recommandation qui suppose de les défaire est nulle, même si elle est meilleure dans l'absolu.
## 3. DEMANDE BORNÉE
Instruis la décision. Ne la prends pas.
Ce que je veux :
1. exactement deux options tenables, décrites chacune en cinq lignes maximum, en français courant ;
2. pour chaque option, ce qu'elle coûte à construire et ce qu'elle coûte à exploiter, séparément ;
3. pour chaque option, ce qu'elle rend difficile plus tard, ce point étant le plus important ;
4. la confrontation aux critères que j'ai classés, dans mon ordre, critère par critère ;
5. le signal qui, dans six mois, montrerait que le choix était mauvais ;
6. ce qu'il me manque pour trancher, s'il me manque quelque chose.
Ce que je ne veux pas : une troisième option, une recommandation, une note ou un score, un argument fondé sur la popularité ou la modernité, un tableau comparatif où chaque option gagne un critère sur deux.
## 4. FORMAT DE SORTIE EXIGÉ
Six sections titrées comme ci-dessus. Chaque affirmation technique est suivie de sa conséquence pratique pour moi, exploitant non développeur, dans la même phrase. Aucun terme technique n'est employé sans être défini à sa première apparition, en une proposition.
Ta réponse est refusable si elle recommande une option, si elle en propose une troisième, ou si un terme technique apparaît sans définition.Ce que vous devez recevoir
- Exactement deux options, décrites en cinq lignes au plus chacune.
- Le coût de construction et le coût dexploitation séparés, option par option.
- Pour chaque option, ce qu'elle rend difficile plus tard.
- Une confrontation critère par critère, dans l'ordre que vous avez fixé.
- Un signal observable qui révélerait, plus tard, que le choix était mauvais.
- La liste de ce qui manque pour trancher, s'il manque quelque chose.
Ce qui doit vous faire refuser
Ces motifs sont écrits comme des constats : « un fichier hors périmètre a été modifié » se vérifie, « le travail manque de rigueur » ne se vérifie pas.
- L'agent recommande une option alors que la décision vous revient.
- Une troisième option apparaît, ce qui dilue l'arbitrage au lieu de l'éclairer.
- Un argument repose sur la popularité, la modernité ou l'adoption par d'autres.
- Le coût d'exploitation est fondu dans le coût de construction, ce qui masque la charge durable.
- Un terme technique est employé sans définition, ce qui vous empêche de juger.
- Une option suppose de défaire un choix déjà arrêté, sans le dire.
Selon pour qui vous construisez
- Pour moi.
- Le critère « ce que je saurai remettre en marche seul » passe en premier. Une architecture que vous ne savez pas redémarrer vous immobilise entièrement.
- Pour mon employeur.
- Ajoutez le critère de compatibilité avec ce que l'organisation exploite déjà, et faites viser la décision par la personne qui tient l'infrastructure.
- Pour un client.
- La décision est consignée, datée et remise au client, avec le signal qui la remettrait en cause. C'est ce document qui vous protégera d'un reproche rétrospectif.