@atlashub/smartstack-cli 2.9.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/.documentation/business-analyse.html +81 -17
  2. package/dist/mcp-entry.mjs +1302 -223
  3. package/dist/mcp-entry.mjs.map +1 -1
  4. package/package.json +1 -1
  5. package/templates/agents/efcore/db-deploy.md +1 -1
  6. package/templates/agents/efcore/migration.md +26 -10
  7. package/templates/agents/efcore/rebase-snapshot.md +24 -7
  8. package/templates/agents/efcore/squash.md +73 -57
  9. package/templates/agents/gitflow/commit.md +138 -18
  10. package/templates/agents/gitflow/exec.md +1 -1
  11. package/templates/agents/gitflow/finish.md +79 -62
  12. package/templates/agents/gitflow/init-clone.md +186 -0
  13. package/templates/agents/gitflow/init-detect.md +137 -0
  14. package/templates/agents/gitflow/init-validate.md +210 -0
  15. package/templates/agents/gitflow/init.md +231 -74
  16. package/templates/agents/gitflow/merge.md +65 -33
  17. package/templates/agents/gitflow/pr.md +93 -49
  18. package/templates/agents/gitflow/start.md +76 -33
  19. package/templates/agents/gitflow/status.md +41 -71
  20. package/templates/hooks/appsettings-guard.sh +76 -0
  21. package/templates/hooks/ef-migration-check.md +1 -1
  22. package/templates/hooks/hooks.json +9 -0
  23. package/templates/project/test-frontend/msw/handlers.ts +58 -0
  24. package/templates/project/test-frontend/msw/server.ts +25 -0
  25. package/templates/project/test-frontend/setup.ts +16 -0
  26. package/templates/project/test-frontend/test-utils.tsx +59 -0
  27. package/templates/project/test-frontend/vitest.config.ts +31 -0
  28. package/templates/skills/_resources/config-safety.md +61 -0
  29. package/templates/skills/_resources/formatting-guide.md +2 -2
  30. package/templates/skills/application/SKILL.md +12 -3
  31. package/templates/skills/application/steps/step-04-backend.md +21 -0
  32. package/templates/skills/application/steps/step-07-tests.md +259 -120
  33. package/templates/skills/business-analyse/SKILL.md +57 -28
  34. package/templates/skills/business-analyse/_shared.md +70 -39
  35. package/templates/skills/business-analyse/html/ba-interactive.html +2622 -0
  36. package/templates/skills/business-analyse/questionnaire/00-application.md +123 -131
  37. package/templates/skills/business-analyse/questionnaire/01-context.md +173 -24
  38. package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +170 -50
  39. package/templates/skills/business-analyse/questionnaire/03-scope.md +154 -48
  40. package/templates/skills/business-analyse/questionnaire/10-documentation.md +1 -1
  41. package/templates/skills/business-analyse/questionnaire/14-risk-assumptions.md +135 -0
  42. package/templates/skills/business-analyse/questionnaire/15-success-metrics.md +136 -0
  43. package/templates/skills/business-analyse/questionnaire.md +55 -46
  44. package/templates/skills/business-analyse/steps/step-00-init.md +24 -2
  45. package/templates/skills/business-analyse/steps/step-01-cadrage.md +31 -20
  46. package/templates/skills/business-analyse/steps/step-03-specify.md +1 -0
  47. package/templates/skills/business-analyse/steps/step-05-handoff.md +103 -1
  48. package/templates/skills/business-analyse/steps/step-06-extract.md +518 -0
  49. package/templates/skills/check-version/SKILL.md +1 -1
  50. package/templates/skills/efcore/steps/db/step-deploy.md +22 -3
  51. package/templates/skills/efcore/steps/db/step-reset.md +27 -4
  52. package/templates/skills/efcore/steps/db/step-seed.md +46 -2
  53. package/templates/skills/efcore/steps/db/step-status.md +14 -0
  54. package/templates/skills/efcore/steps/migration/step-01-check.md +31 -5
  55. package/templates/skills/efcore/steps/migration/step-02-create.md +20 -4
  56. package/templates/skills/efcore/steps/rebase-snapshot/step-03-create.md +60 -0
  57. package/templates/skills/efcore/steps/shared/step-00-init.md +47 -8
  58. package/templates/skills/efcore/steps/squash/step-03-create.md +27 -5
  59. package/templates/skills/gitflow/SKILL.md +91 -29
  60. package/templates/skills/gitflow/_shared.md +144 -2
  61. package/templates/skills/gitflow/phases/status.md +11 -1
  62. package/templates/skills/gitflow/steps/step-commit.md +1 -1
  63. package/templates/skills/gitflow/steps/step-init.md +202 -39
  64. package/templates/skills/gitflow/templates/config.json +10 -1
  65. package/templates/skills/ralph-loop/steps/step-03-commit.md +2 -2
  66. package/templates/skills/validate-feature/SKILL.md +83 -0
  67. package/templates/skills/validate-feature/steps/step-01-compile.md +38 -0
  68. package/templates/skills/validate-feature/steps/step-02-unit-tests.md +45 -0
  69. package/templates/skills/validate-feature/steps/step-03-integration-tests.md +53 -0
  70. package/templates/skills/validate-feature/steps/step-04-api-smoke.md +157 -0
@@ -1,166 +1,158 @@
1
- # Category 00: Application Context
1
+ # Categorie 0 : Identite de l'application
2
2
 
3
- > **Loaded by:** step-01-cadrage.md (application mode only)
4
- > **When:** Always loaded when workflow.mode = "application"
5
- > **Purpose:** Define application-level scope, roles, and module landscape before decomposition
3
+ > **Charge par :** step-01-cadrage.md (mode application uniquement)
4
+ > **Quand :** Toujours charge quand le mode est "application" (multi-module)
5
+ > **Objectif :** Definir le cadre global de l'application avant d'entrer dans les details
6
6
 
7
7
  ---
8
8
 
9
- ## Questions
9
+ ## 0.1 L'application en quelques mots
10
10
 
11
- ### 0.1 Application Identity
11
+ > **But :** Comprendre rapidement de quoi il s'agit.
12
12
 
13
- | # | Question | Type | Options |
14
- |---|----------|------|---------|
15
- | Q0.1 | What is the name of this application? | Free text | PascalCase name (e.g., Sales, Operations, HumanResources) |
16
- | Q0.2 | Briefly describe the application's purpose (1-2 sentences) | Free text | Business goal, target audience |
13
+ | # | Question | Type de reponse |
14
+ |---|----------|-----------------|
15
+ | Q0.1 | Quel nom donneriez-vous a cette application ? Un nom court et parlant qui la resumerait en un mot. | Nom de l'application |
16
+ | Q0.2 | En 2 a 3 phrases, quel est l'objectif principal de cette application ? A qui s'adresse-t-elle et quel probleme resout-elle ? | Description courte |
17
17
 
18
- **AskUserQuestion batch 1:**
18
+ **Reformulation guidee pour Q0.1 :**
19
19
  ```
20
- Q0.1: "Quel est le nom de cette application ?"
21
- header: "Application"
22
- options:
23
- - label: "Ventes / Sales"
24
- description: "Gestion des ventes, commandes, clients"
25
- - label: "Opérations / Operations"
26
- description: "Gestion des opérations, logistique, stocks"
27
- - label: "RH / HR"
28
- description: "Gestion des ressources humaines"
29
- - label: "Finance"
30
- description: "Gestion financière, facturation, comptabilité"
31
-
32
- Q0.2: "Quel est l'objectif principal de cette application en 1-2 phrases ?"
33
- header: "Objectif"
34
- options:
35
- - label: "Automatiser un processus"
36
- description: "Remplacer un processus manuel par un système numérique"
37
- - label: "Centraliser les données"
38
- description: "Regrouper des informations dispersées dans plusieurs outils"
39
- - label: "Améliorer la visibilité"
40
- description: "Obtenir des tableaux de bord et du suivi en temps réel"
41
- - label: "Conformité"
42
- description: "Répondre à des obligations réglementaires ou de sécurité"
20
+ question: "Quel nom donneriez-vous a cette application ?"
21
+ header: "Application"
22
+ options:
23
+ - label: "Gestion des ventes"
24
+ description: "Suivi des clients, commandes, devis et facturation"
25
+ - label: "Gestion des operations"
26
+ description: "Pilotage de la logistique, des stocks et de la production"
27
+ - label: "Ressources humaines"
28
+ description: "Gestion du personnel, des conges et des formations"
29
+ - label: "Gestion financiere"
30
+ description: "Comptabilite, budget, tresorerie et rapports financiers"
43
31
  ```
44
32
 
45
- ### 0.2 Module Landscape
33
+ ---
34
+
35
+ ## 0.2 Les grands domaines fonctionnels
46
36
 
47
- | # | Question | Type | Options |
48
- |---|----------|------|---------|
49
- | Q0.3 | How many distinct functional areas (modules) do you envision? | Number + list | Module names and brief descriptions |
50
- | Q0.4 | Which modules are essential for the first release (must-have)? | Multi-select | From Q0.3 list |
37
+ > **But :** Identifier les grandes familles de fonctionnalites avant de les detailler.
51
38
 
52
- **AskUserQuestion batch 2:**
39
+ | # | Question | Type de reponse |
40
+ |---|----------|-----------------|
41
+ | Q0.3 | Quels sont les grands domaines fonctionnels de cette application ? Par exemple : gestion des clients, suivi des commandes, facturation, tableau de bord... | Liste de domaines avec description courte |
42
+ | Q0.4 | Parmi ces domaines, lesquels sont indispensables pour un premier lancement ? Les autres suivront dans les versions suivantes. | Liste des domaines prioritaires |
43
+
44
+ **Reformulation guidee pour Q0.3 :**
53
45
  ```
54
- Q0.3: "Combien de domaines fonctionnels distincts (modules) envisagez-vous ?"
55
- header: "Modules"
56
- options:
57
- - label: "2-3 modules"
58
- description: "Application ciblée avec peu de domaines fonctionnels"
59
- - label: "4-6 modules"
60
- description: "Application standard couvrant plusieurs domaines"
61
- - label: "7-10 modules"
62
- description: "Application complète avec de nombreux domaines"
63
- - label: "10+ modules"
64
- description: "Application d'entreprise très complète"
65
-
66
- Q0.4: "Quels modules sont indispensables pour la première release ?"
67
- header: "Priorité"
68
- multiSelect: true
69
- options: [Dynamic - populated from Q0.3 answers]
46
+ question: "Quels sont les grands domaines fonctionnels de cette application ?"
47
+ header: "Domaines"
48
+ options:
49
+ - label: "2 a 3 domaines"
50
+ description: "Application ciblee sur quelques fonctions essentielles"
51
+ - label: "4 a 6 domaines"
52
+ description: "Application standard couvrant les principaux besoins"
53
+ - label: "7 a 10 domaines"
54
+ description: "Application complete couvrant un large perimetre"
55
+ - label: "Plus de 10 domaines"
56
+ description: "Application d'entreprise tres complete"
70
57
  ```
71
58
 
72
- ### 0.3 Application Roles
59
+ ---
60
+
61
+ ## 0.3 Les profils utilisateurs de l'application
62
+
63
+ > **But :** Definir les grands types d'acces a l'echelle de toute l'application.
73
64
 
74
- | # | Question | Type | Options |
75
- |---|----------|------|---------|
76
- | Q0.5 | Do the standard 4-tier roles work for this application? (Admin/Manager/Contributor/Viewer) | Yes/Customize | Default SmartStack roles |
77
- | Q0.6 | Are there roles specific to certain modules only? | List | Per-module role restrictions |
65
+ | # | Question | Type de reponse |
66
+ |---|----------|-----------------|
67
+ | Q0.5 | Quels sont les grands profils d'utilisateurs de cette application ? Pensez en termes de "ce qu'ils font" et pas de titres de postes. | Liste de profils |
68
+ | Q0.6 | Certains profils n'ont-ils acces qu'a certains domaines ? Ou tout le monde voit tout ? | Regles de restriction par domaine |
78
69
 
79
- **AskUserQuestion batch 3:**
70
+ **Reformulation guidee pour Q0.5 :**
80
71
  ```
81
- Q0.5: "Les 4 rôles standards conviennent-ils pour cette application ?"
82
- header: "Rôles"
83
- options:
84
- - label: "Oui, 4 rôles standards"
85
- description: "Admin (tout), Manager (gestion), Contributeur (saisie), Lecteur (consultation)"
86
- - label: "Personnaliser les noms"
87
- description: "Garder les 4 niveaux mais renommer les rôles (ex: Directeur, Responsable...)"
88
- - label: "Ajouter des rôles"
89
- description: "Plus de 4 rôles nécessaires (ex: Approbateur, Auditeur...)"
90
- - label: "Moins de rôles"
91
- description: "Seulement 2-3 rôles suffisent pour cette application"
92
-
93
- Q0.6: "Y a-t-il des rôles limités à certains modules seulement ?"
94
- header: "Restrictions"
95
- options:
96
- - label: "Non, tous les rôles sont globaux"
97
- description: "Chaque rôle a accès à tous les modules (avec ses permissions)"
98
- - label: "Oui, certains rôles sont restreints"
99
- description: "Certains rôles ne voient que certains modules"
72
+ question: "Quels profils d'utilisateurs voyez-vous pour cette application ?"
73
+ header: "Profils"
74
+ options:
75
+ - label: "4 profils standards"
76
+ description: "Administrateur (tout gerer), Responsable (superviser), Contributeur (travailler), Lecteur (consulter)"
77
+ - label: "Adapter les noms"
78
+ description: "Garder 4 niveaux d'acces mais avec des noms qui correspondent a votre organisation"
79
+ - label: "Plus de profils"
80
+ description: "Besoin de profils supplementaires comme Approbateur, Auditeur, Support..."
81
+ - label: "Moins de profils"
82
+ description: "Seulement 2 a 3 niveaux suffisent pour cette application"
100
83
  ```
101
84
 
102
- ### 0.4 Cross-Module Expectations
85
+ ---
86
+
87
+ ## 0.4 Les processus qui traversent les domaines
103
88
 
104
- | # | Question | Type | Options |
105
- |---|----------|------|---------|
106
- | Q0.7 | Are there business processes that span multiple modules? | Yes/No + description | E2E flows |
107
- | Q0.8 | What is the default role for new users? | Selection | From role list |
89
+ > **But :** Identifier les flux de bout en bout qui impliquent plusieurs domaines.
108
90
 
109
- **AskUserQuestion batch 4:**
91
+ | # | Question | Type de reponse |
92
+ |---|----------|-----------------|
93
+ | Q0.7 | Y a-t-il des processus metier qui traversent plusieurs domaines ? Par exemple : une commande qui va de la vente a la livraison puis a la facturation ? | Description des processus transversaux |
94
+ | Q0.8 | Quand un nouvel utilisateur rejoint l'equipe, quel profil d'acces recoit-il par defaut ? | Profil par defaut |
95
+
96
+ **Reformulation guidee pour Q0.7 :**
110
97
  ```
111
- Q0.7: "Y a-t-il des processus métier qui traversent plusieurs modules ?"
112
- header: "Flux E2E"
113
- options:
114
- - label: "Oui, plusieurs flux"
115
- description: "Des processus impliquent 2+ modules (ex: commande facturation livraison)"
116
- - label: "Oui, un flux principal"
117
- description: "Un processus principal traverse les modules"
118
- - label: "Non, modules indépendants"
119
- description: "Chaque module fonctionne de manière autonome"
120
- - label: "Pas encore défini"
121
- description: "Les interactions seront identifiées pendant l'analyse"
122
-
123
- Q0.8: "Quel rôle par défaut pour les nouveaux utilisateurs ?"
124
- header: "Rôle défaut"
125
- options:
126
- - label: "Lecteur (Viewer)"
127
- description: "Accès en lecture seule par défaut, droits ajoutés manuellement"
128
- - label: "Contributeur"
129
- description: "Peut créer et modifier, mais pas supprimer ni approuver"
130
- - label: "Aucun accès"
131
- description: "Pas d'accès tant qu'un admin n'assigne pas de rôle"
98
+ question: "Y a-t-il des processus metier qui traversent plusieurs domaines ?"
99
+ header: "Processus"
100
+ options:
101
+ - label: "Oui, plusieurs processus"
102
+ description: "Des enchainements impliquent 2 domaines ou plus (commande puis facturation puis livraison)"
103
+ - label: "Oui, un processus principal"
104
+ description: "Un grand flux traverse l'ensemble de l'application"
105
+ - label: "Non, domaines independants"
106
+ description: "Chaque domaine fonctionne de maniere autonome"
107
+ - label: "A definir plus tard"
108
+ description: "Les interactions seront identifiees au fil de l'analyse"
132
109
  ```
133
110
 
134
111
  ---
135
112
 
136
- ## Elicitation Guide
113
+ ## Guide d'elicitation approfondi
137
114
 
138
- ### Follow-up probes (if answers are vague)
115
+ ### Techniques de relance
139
116
 
140
- | Signal | Probe |
141
- |--------|-------|
142
- | "We need everything" | "Si vous ne pouviez garder que 3 modules pour le lancement, lesquels ?" |
143
- | Vague module names | "Pouvez-vous décrire ce que fait concrètement le module {name} en 1 phrase ?" |
144
- | "Standard roles are fine" | "Qui utilise l'application au quotidien ? Quel est son titre exact ?" |
145
- | No cross-module flows | "Quand un {entity} est créé dans le module A, est-ce qu'un autre module doit en être informé ?" |
117
+ | Question | Si la reponse est vague ou insuffisante | Relance recommandee |
118
+ |----------|----------------------------------------|---------------------|
119
+ | Q0.2 (objectif) | Description trop vague ("gerer les choses") | "Pouvez-vous completer la phrase : 'Grace a cette application, les utilisateurs pourront...' ?" |
120
+ | Q0.3 (domaines) | "On a besoin de tout" | "Si vous ne pouviez garder que 3 domaines pour le premier lancement, lesquels choisiriez-vous ?" |
121
+ | Q0.4 (priorites) | Tout est prioritaire | "Quel domaine apporte le plus de valeur immediatement ? Lequel peut fonctionner sans les autres ?" |
122
+ | Q0.5 (profils) | Confusion entre titres de poste et profils | "Oublions les titres. Parmi vos utilisateurs : qui fait la saisie au quotidien ? Qui valide ? Qui consulte ? Qui administre ?" |
123
+ | Q0.7 (processus transversaux) | "Pas de lien entre domaines" | "Quand une information est creee dans un domaine, un autre domaine en a-t-il besoin ? Par exemple, une vente declenche-t-elle une facture ?" |
146
124
 
147
- ### Anti-patterns
125
+ ### Signaux d'alerte a detecter
148
126
 
149
- | Anti-pattern | Signal | Action |
150
- |--------------|--------|--------|
151
- | Too many modules | > 10 modules for v1 | Suggest phased approach: core modules first |
152
- | No clear priority | "Everything is must-have" | Challenge priorities: "If you could only ship 3 modules?" |
153
- | Role confusion | Mixing business roles with system roles | Clarify: "We're defining system access levels, not job titles" |
154
- | Monolithic thinking | "It's all one big module" | Challenge: "Could a user only need access to part of this?" |
127
+ | Signal du client | Probleme sous-jacent | Action de l'analyste |
128
+ |------------------|---------------------|----------------------|
129
+ | Plus de 10 domaines pour une premiere version | **Ambition trop large** | Suggerer une approche par phases : domaines fondamentaux d'abord, extensions ensuite |
130
+ | "Tout est prioritaire" | **Pas de hierarchisation** | "Si vous aviez un budget pour 3 domaines seulement, lesquels choisiriez-vous en premier ?" |
131
+ | Confusion entre role organisationnel et acces | **Roles mal definis** | Separer : "le poste dans l'entreprise" (directeur, comptable) et "ce qu'il fait dans l'application" (consulter, modifier, administrer) |
132
+ | Un seul domaine qui fait tout | **Vision monolithique** | "Pourrait-on decouper ce domaine en sous-domaines independants ? Certains utilisateurs n'auraient-ils besoin que d'une partie ?" |
155
133
 
156
134
  ---
157
135
 
158
- ## Technical Mapping
136
+ ## Mapping vers le cadrage
137
+
138
+ | Reponse | Alimente |
139
+ |---------|----------|
140
+ | Q0.1, Q0.2 | `metadata.application`, `cadrage.problem` |
141
+ | Q0.3, Q0.4 | `modules[]` dans le fichier principal |
142
+ | Q0.5, Q0.6 | `cadrage.applicationRoles[]` |
143
+ | Q0.7 | `consolidation.e2eFlows[]` (rempli a l'etape 04) |
144
+ | Q0.8 | `cadrage.applicationRoles[].isDefault` |
145
+
146
+ ---
147
+
148
+ ## Strategie de questionnement
149
+
150
+ ### Ordre des questions en 2 lots
151
+
152
+ **Lot 1 (Q0.1, Q0.2, Q0.3, Q0.4) : L'application et ses domaines**
153
+ - Definir l'identite et le perimetre global
154
+ - Hierarchiser les domaines pour le premier lancement
159
155
 
160
- | Answer | Maps to |
161
- |--------|---------|
162
- | Application name | `metadata.application`, `cadrage.applicationRoles[].role` prefix |
163
- | Module list | `modules[]` in master feature.json |
164
- | Roles | `cadrage.applicationRoles[]` |
165
- | Cross-module flows | `consolidation.e2eFlows[]` (populated later in step-04) |
166
- | Default role | `cadrage.applicationRoles[].isDefault` |
156
+ **Lot 2 (Q0.5, Q0.6, Q0.7, Q0.8) : Les profils et les processus**
157
+ - Etablir les grands profils d'acces
158
+ - Identifier les flux transversaux
@@ -1,36 +1,185 @@
1
- # Category 1: Business Context
1
+ # Categorie 1 : Contexte metier
2
2
 
3
- > **Usage:** Fundamental questions about the business need
4
- > **When to load:** ALWAYS (core)
3
+ > **Usage :** Questions fondamentales pour comprendre le besoin metier en profondeur
4
+ > **Quand charger :** TOUJOURS (noyau)
5
+ > **Objectif :** Comprendre le POURQUOI avant de parler du QUOI
5
6
 
6
7
  ---
7
8
 
8
- ## 1.1 Fundamental Need
9
+ ## 1.1 Le probleme a resoudre
9
10
 
10
- | # | Question | Answer Type |
11
- |---|----------|-------------|
12
- | Q1.1 | What business problem should this module/feature solve? | Free text |
13
- | Q1.2 | What is the current situation (AS-IS)? | Description |
14
- | Q1.3 | What is the target situation (TO-BE)? | Description |
15
- | Q1.4 | What triggered this need? (urgency, regulation, roadmap) | Trigger type |
11
+ > **But :** Identifier la douleur reelle, pas la solution imaginee.
12
+
13
+ | # | Question | Type de reponse |
14
+ |---|----------|-----------------|
15
+ | Q1.1 | Decrivez en quelques phrases le probleme que vous rencontrez aujourd'hui. Qu'est-ce qui ne fonctionne pas, ou pas assez bien ? | Texte libre |
16
+ | Q1.2 | Qui souffre le plus de ce probleme au quotidien ? Quel impact a-t-il sur leur travail ? | Description des personnes impactees |
17
+ | Q1.3 | Depuis combien de temps ce probleme existe-t-il ? A-t-il empire recemment ? | Historique et evolution |
18
+
19
+ **Reformulation guidee pour Q1.1 :**
20
+ ```
21
+ question: "Decrivez le probleme que vous rencontrez aujourd'hui"
22
+ header: "Probleme"
23
+ options:
24
+ - label: "Processus trop lent"
25
+ description: "Des taches repetitives prennent trop de temps et ralentissent le travail quotidien"
26
+ - label: "Informations dispersees"
27
+ description: "Les donnees sont eparpillees entre plusieurs outils, fichiers ou personnes"
28
+ - label: "Manque de visibilite"
29
+ description: "Impossible de suivre l'avancement, les chiffres ou l'etat d'une situation en temps reel"
30
+ - label: "Erreurs frequentes"
31
+ description: "Des erreurs humaines se produisent regulierement par manque d'outil adapte"
32
+ ```
33
+
34
+ ---
35
+
36
+ ## 1.2 La situation actuelle
37
+
38
+ > **But :** Comprendre comment les choses se passent AUJOURD'HUI, concretement.
39
+
40
+ | # | Question | Type de reponse |
41
+ |---|----------|-----------------|
42
+ | Q1.4 | Comment gerez-vous ce sujet aujourd'hui ? Avec quels outils (tableur, email, papier, logiciel) ? | Description des outils et methodes actuels |
43
+ | Q1.5 | Decrivez les etapes principales de votre processus actuel, du debut a la fin. | Liste d'etapes ordonnees |
44
+ | Q1.6 | Quelles sont les etapes les plus penibles ou les plus longues dans ce processus ? | Points de douleur precis |
45
+ | Q1.7 | Quelles erreurs ou problemes reviennent regulierement ? Donnez 2 a 3 exemples concrets. | Exemples de dysfonctionnements |
46
+
47
+ **Reformulation guidee pour Q1.4 :**
48
+ ```
49
+ question: "Comment gerez-vous ce sujet aujourd'hui ?"
50
+ header: "Outils"
51
+ options:
52
+ - label: "Tableur (Excel, Sheets)"
53
+ description: "Fichiers Excel ou Google Sheets partages ou individuels"
54
+ - label: "Email et documents"
55
+ description: "Echanges par email avec pieces jointes, documents Word ou PDF"
56
+ - label: "Logiciel existant"
57
+ description: "Un logiciel est deja en place mais ne repond plus aux besoins"
58
+ - label: "Processus manuel"
59
+ description: "Papier, appels telephoniques, reunions en personne"
60
+ ```
61
+
62
+ ---
63
+
64
+ ## 1.3 La situation souhaitee
65
+
66
+ > **But :** Definir clairement ce que le client veut OBTENIR, pas ce qu'il veut CONSTRUIRE.
67
+
68
+ | # | Question | Type de reponse |
69
+ |---|----------|-----------------|
70
+ | Q1.8 | Si le probleme etait resolu demain, que feriez-vous differemment dans votre journee de travail ? | Description du changement concret |
71
+ | Q1.9 | Quels resultats concrets attendez-vous ? Citez 2 a 3 ameliorations mesurables (gain de temps, reduction d'erreurs, meilleure visibilite...). | Liste de resultats attendus |
72
+ | Q1.10 | Comment saurez-vous que le projet est un succes ? Quel est le signe visible qui montrera que le probleme est resolu ? | Critere de succes observable |
73
+
74
+ **Reformulation guidee pour Q1.8 :**
75
+ ```
76
+ question: "Si le probleme etait resolu demain, que changeriez-vous dans votre journee ?"
77
+ header: "Vision"
78
+ options:
79
+ - label: "Gain de temps"
80
+ description: "Des taches qui prennent des heures se feraient en quelques minutes"
81
+ - label: "Decisions plus rapides"
82
+ description: "Les informations seraient disponibles immediatement pour decider"
83
+ - label: "Moins d'erreurs"
84
+ description: "Les controles automatiques empecheraient les erreurs courantes"
85
+ - label: "Meilleure collaboration"
86
+ description: "Tout le monde verrait les memes informations a jour en temps reel"
87
+ ```
88
+
89
+ ---
90
+
91
+ ## 1.4 Le declencheur et l'urgence
92
+
93
+ > **But :** Comprendre pourquoi MAINTENANT et calibrer les attentes.
94
+
95
+ | # | Question | Type de reponse |
96
+ |---|----------|-----------------|
97
+ | Q1.11 | Qu'est-ce qui a declenche cette demande ? Pourquoi maintenant et pas il y a 6 mois ? | Evenement declencheur |
98
+ | Q1.12 | Que se passerait-il si ce projet n'etait PAS realise ? Quelles consequences a court et moyen terme ? | Impact de l'inaction |
99
+
100
+ **Reformulation guidee pour Q1.11 :**
101
+ ```
102
+ question: "Qu'est-ce qui a declenche cette demande maintenant ?"
103
+ header: "Declencheur"
104
+ options:
105
+ - label: "Croissance de l'activite"
106
+ description: "Le volume de travail a augmente et les outils actuels ne suivent plus"
107
+ - label: "Obligation reglementaire"
108
+ description: "Une nouvelle regle ou loi impose de changer la facon de travailler"
109
+ - label: "Probleme critique"
110
+ description: "Un incident recent a mis en lumiere un dysfonctionnement grave"
111
+ - label: "Opportunite strategique"
112
+ description: "Un changement d'organisation ou de strategie ouvre une fenetre d'action"
113
+ ```
114
+
115
+ ---
116
+
117
+ ## Guide d'elicitation approfondi
118
+
119
+ ### Techniques de relance par question
120
+
121
+ | Question | Si la reponse est vague ou insuffisante | Relance recommandee |
122
+ |----------|----------------------------------------|---------------------|
123
+ | Q1.1 (probleme) | Le client decrit une solution au lieu d'un probleme | "Oublions la solution un instant. Fermez les yeux et pensez a un moment recent ou ce probleme vous a frustre. Racontez-moi cette situation." |
124
+ | Q1.2 (qui souffre) | Reponse generique "tout le monde" | "Prenons une personne precise, celle qui est la plus impactee. Quel est son poste ? Que fait-elle quand elle est bloquee par ce probleme ?" |
125
+ | Q1.4 (outils actuels) | "On se debrouille" sans details | "Prenons un exemple concret : la derniere fois que ce probleme s'est presente, qu'avez-vous fait exactement, etape par etape ?" |
126
+ | Q1.5 (processus actuel) | Moins de 3 etapes decrites | "Reprenons depuis le debut : quelqu'un a besoin de faire cette tache. Qu'est-ce qu'il fait en premier ? Puis ensuite ? Qui d'autre intervient ? Quand considere-t-on que c'est termine ?" |
127
+ | Q1.6 (etapes penibles) | "Tout va bien sauf..." (minimisation) | "Si je chronometrais chaque etape de votre processus, laquelle prendrait le plus de temps ? Laquelle fait le plus soupirer vos equipes ?" |
128
+ | Q1.7 (erreurs frequentes) | "Ca arrive rarement" | "La derniere fois qu'une erreur s'est produite, quel a ete l'impact ? Combien de temps pour la corriger ? Qui a du intervenir ?" |
129
+ | Q1.8 (vision) | Reponse vague "ca irait mieux" | "Concretement, imaginez que vous arrivez lundi matin et que tout fonctionne parfaitement. Quelle est la premiere chose que vous faites differemment de d'habitude ?" |
130
+ | Q1.9 (resultats) | Pas de chiffres ni de mesures | "Aujourd'hui, combien de temps prend ce processus ? Combien d'erreurs par mois ? Si on divisait par deux, est-ce que ca suffirait ?" |
131
+ | Q1.10 (critere succes) | "Que les utilisateurs soient contents" | "Imaginons que 3 mois apres le lancement, je vous demande si le projet est un succes. Que me montrez-vous concretement comme preuve ?" |
132
+ | Q1.12 (consequences inaction) | "Ca continuera comme avant" | "Et si ca continue encore 1 an comme ca ? 2 ans ? Quels risques voyez-vous : perte de clients, surcharge des equipes, non-conformite ?" |
133
+
134
+ ### Signaux d'alerte a detecter
135
+
136
+ | Signal du client | Probleme sous-jacent | Action de l'analyste |
137
+ |------------------|---------------------|----------------------|
138
+ | "Il faudrait un bouton pour..." ou "On a besoin d'un ecran qui..." | **Le client decrit une solution, pas un besoin** | Reformuler : "Quel probleme ce bouton/ecran resoudrait-il ? Qu'est-ce qui est difficile aujourd'hui sans lui ?" |
139
+ | "C'est evident" ou "Tout le monde le sait" | **Hypothese implicite non validee** | "Pouvez-vous me l'expliquer comme si c'etait ma premiere journee dans votre entreprise ? Je veux etre sur de bien comprendre." |
140
+ | "On verra plus tard" ou "C'est pas prioritaire" | **Sujet potentiellement critique esquive** | "Je comprends. Pouvez-vous quand meme me donner un exemple pour que je le note ? On decidera ensemble de la priorite." |
141
+ | Mots vagues : "optimiser", "ameliorer", "moderniser" | **Besoin non concretise** | "Quand vous dites 'optimiser', pouvez-vous me donner un exemple precis de ce qui serait different ?" |
142
+ | "On fait comme le concurrent X" | **Besoin copie sans reflexion** | "Qu'est-ce qui fonctionne bien chez le concurrent X selon vous ? Et qu'est-ce qui ne vous conviendrait pas dans leur approche ?" |
143
+ | Pas de reponse a Q1.12 (consequences inaction) | **Besoin possiblement artificiel** | Approfondir : si l'absence de solution n'a pas de consequence, le besoin est-il reel ? |
144
+
145
+ ### Regles d'enchainement
146
+
147
+ | Apres | Si la reponse indique... | Alors |
148
+ |-------|-------------------------|-------|
149
+ | Q1.1 | Le client decrit un besoin technique | Poser Q1.2 pour recentrer sur les personnes impactees |
150
+ | Q1.4 | Aucun outil existant | Sauter Q1.7 (pas d'erreurs a corriger dans un processus inexistant) |
151
+ | Q1.5 | Processus tres simple (< 3 etapes) | Reduire la profondeur sur Q1.6, accelerer vers la vision (Q1.8) |
152
+ | Q1.9 | Resultats non mesurables | Revenir a Q1.10 et insister sur le critere de succes observable |
153
+ | Q1.11 | Obligation reglementaire | Charger le questionnaire de securite (categorie 06) en priorite |
154
+ | Q1.12 | Consequences graves | Marquer le projet comme priorite haute, insister sur les risques dans le cadrage |
155
+
156
+ ---
157
+
158
+ ## Mapping vers le cadrage
159
+
160
+ | Reponse | Alimente |
161
+ |---------|----------|
162
+ | Q1.1, Q1.2, Q1.3 | `cadrage.problem` |
163
+ | Q1.4, Q1.5, Q1.6, Q1.7 | `cadrage.asIs` |
164
+ | Q1.8, Q1.9, Q1.10 | `cadrage.toBe` + `cadrage.acceptanceCriteria` |
165
+ | Q1.11, Q1.12 | `cadrage.trigger` + `cadrage.risks` |
16
166
 
17
167
  ---
18
168
 
19
- ## Elicitation Guide
169
+ ## Strategie de questionnement
20
170
 
21
- ### Follow-ups by Question
171
+ ### Ordre des questions en 3 lots
22
172
 
23
- | Question | If answer is vague/insufficient | Probe |
24
- |----------|-------------------------------|-------|
25
- | Q1.1 (problem) | User describes a solution, not a problem | "Oublions la solution un instant quel problème rencontrez-vous concrètement aujourd'hui ?" |
26
- | Q1.2 (AS-IS) | No concrete workflow described | "Décrivez-moi une journée type : vous arrivez, vous ouvrez l'outil — que faites-vous en premier ?" |
27
- | Q1.3 (TO-BE) | Vague ("ça ira mieux") | "Concrètement, quel geste ou tâche sera différent ? Combien de clics/minutes en moins ?" |
28
- | Q1.4 (trigger) | Vague ("c'est utile") | "Quel événement ou quelle situation a déclenché ce besoin maintenant ? Obligation, inefficacité, opportunité ?" |
173
+ **Lot 1 (Q1.1, Q1.2, Q1.3, Q1.4) : Comprendre le probleme**
174
+ - Commencer par le probleme et les personnes impactees
175
+ - Poser ensuite la question des outils actuels pour ancrer dans le concret
29
176
 
30
- ### Anti-patterns to Detect
177
+ **Lot 2 (Q1.5, Q1.6, Q1.7) : Cartographier le processus actuel**
178
+ - Detailler les etapes du processus existant
179
+ - Identifier les points de friction et les erreurs recurrentes
180
+ - Ce lot peut etre raccourci si le processus est simple
31
181
 
32
- | Signal | Anti-pattern | Action |
33
- |--------|-------------|--------|
34
- | "Il faudrait un bouton/écran/champ..." | **Solution disguised as need** | Apply Solution → Problem Reframing |
35
- | "C'est évident", "tout le monde sait" | **Implicit assumption** | "Pouvez-vous le formuler explicitement pour que je puisse le documenter ?" |
36
- | Q1.4 = "Opportunité" sans urgence | **Déclencheur à clarifier** | "Quel gain concret attendez-vous ? Comment mesurerez-vous l'amélioration ?" |
182
+ **Lot 3 (Q1.8, Q1.9, Q1.10, Q1.11, Q1.12) : Definir la vision et l'urgence**
183
+ - Projeter le client dans l'avenir : que changerait une solution ?
184
+ - Quantifier les attentes : resultats mesurables
185
+ - Comprendre le declencheur et les consequences de l'inaction