@atlashub/smartstack-cli 4.18.0 → 4.19.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.
- package/package.json +1 -1
- package/templates/agents/ba-reader.md +86 -80
- package/templates/agents/ba-writer.md +318 -415
- package/templates/agents/docs-context-reader.md +3 -3
- package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +133 -0
- package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +126 -0
- package/templates/skills/apex/SKILL.md +29 -16
- package/templates/skills/apex/_shared.md +62 -9
- package/templates/skills/apex/references/analysis-methods.md +8 -6
- package/templates/skills/apex/references/challenge-questions.md +5 -5
- package/templates/skills/apex/references/core-seed-data.md +68 -45
- package/templates/skills/apex/references/frontend-route-wiring-app-tsx.md +26 -21
- package/templates/skills/apex/references/parallel-execution.md +156 -0
- package/templates/skills/apex/references/person-extension-pattern.md +12 -12
- package/templates/skills/apex/references/post-checks.md +1748 -1726
- package/templates/skills/apex/references/smartstack-api.md +63 -57
- package/templates/skills/apex/references/smartstack-frontend-compliance.md +594 -0
- package/templates/skills/apex/references/smartstack-frontend.md +1246 -1842
- package/templates/skills/apex/references/smartstack-layers.md +98 -145
- package/templates/skills/apex/steps/step-00-init.md +30 -6
- package/templates/skills/apex/steps/step-01-analyze.md +27 -23
- package/templates/skills/apex/steps/step-02-plan.md +12 -12
- package/templates/skills/apex/steps/step-03-execute.md +198 -143
- package/templates/skills/apex/steps/step-04-examine.md +24 -93
- package/templates/skills/apex/steps/step-05-deep-review.md +16 -16
- package/templates/skills/apex/steps/step-06-resolve.md +9 -9
- package/templates/skills/apex/steps/step-07-tests.md +3 -1
- package/templates/skills/apex/steps/step-08-run-tests.md +1 -1
- package/templates/skills/business-analyse/SKILL.md +182 -301
- package/templates/skills/business-analyse/_shared.md +119 -336
- package/templates/skills/business-analyse/html/ba-interactive.html +703 -82
- package/templates/skills/business-analyse/html/build-html.js +41 -3
- package/templates/skills/business-analyse/html/src/partials/cadrage-context.html +34 -0
- package/templates/skills/business-analyse/html/src/partials/cadrage-risks.html +48 -0
- package/templates/skills/business-analyse/html/src/partials/cadrage-scope.html +49 -0
- package/templates/skills/business-analyse/html/src/partials/cadrage-stakeholders.html +55 -0
- package/templates/skills/business-analyse/html/src/partials/cadrage-success.html +34 -0
- package/templates/skills/business-analyse/html/src/partials/consol-datamodel.html +8 -0
- package/templates/skills/business-analyse/html/src/partials/consol-flows.html +29 -0
- package/templates/skills/business-analyse/html/src/partials/consol-interactions.html +8 -0
- package/templates/skills/business-analyse/html/src/partials/consol-permissions.html +8 -0
- package/templates/skills/business-analyse/html/src/partials/decomp-dependencies.html +38 -0
- package/templates/skills/business-analyse/html/src/partials/decomp-modules.html +51 -0
- package/templates/skills/business-analyse/html/src/partials/handoff-summary.html +24 -0
- package/templates/skills/business-analyse/html/src/partials/module-spec-container.html +4 -0
- package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +17 -1
- package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +31 -5
- package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +100 -63
- package/templates/skills/business-analyse/html/src/scripts/06-render-mockups.js +372 -0
- package/templates/skills/business-analyse/html/src/scripts/10-comments.js +41 -13
- package/templates/skills/business-analyse/html/src/styles/09-mockups-html.css +136 -0
- package/templates/skills/business-analyse/patterns/suggestion-catalog.md +7 -5
- package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +142 -0
- package/templates/skills/business-analyse/questionnaire/03-data-ui.md +94 -0
- package/templates/skills/business-analyse/questionnaire/04-risks-metrics.md +150 -0
- package/templates/skills/business-analyse/questionnaire/05-cross-module.md +69 -0
- package/templates/skills/business-analyse/questionnaire.md +23 -280
- package/templates/skills/business-analyse/react/application-viewer.md +2 -2
- package/templates/skills/business-analyse/react/components.md +4 -4
- package/templates/skills/business-analyse/react/i18n-template.md +1 -1
- package/templates/skills/business-analyse/react/schema.md +14 -14
- package/templates/skills/business-analyse/references/acceptance-criteria.md +21 -21
- package/templates/skills/business-analyse/references/analysis-semantic-checks.md +3 -3
- package/templates/skills/business-analyse/references/compilation-structure-cards.md +1 -1
- package/templates/skills/business-analyse/references/consolidation-structural-checks.md +5 -5
- package/templates/skills/business-analyse/references/deploy-data-build.md +12 -11
- package/templates/skills/business-analyse/references/deploy-modes.md +10 -10
- package/templates/skills/business-analyse/references/detection-strategies.md +6 -6
- package/templates/skills/business-analyse/references/html-data-mapping.md +15 -15
- package/templates/skills/business-analyse/references/naming-conventions.md +4 -4
- package/templates/skills/business-analyse/references/review-data-mapping.md +29 -29
- package/templates/skills/business-analyse/references/robustness-checks.md +36 -36
- package/templates/skills/business-analyse/references/spec-auto-inference.md +2 -2
- package/templates/skills/business-analyse/references/ui-dashboard-spec.md +1 -1
- package/templates/skills/business-analyse/references/ui-resource-cards.md +1 -1
- package/templates/skills/business-analyse/references/validation-checklist.md +3 -3
- package/templates/skills/business-analyse/references/wireframe-svg-style-guide.md +2 -2
- package/templates/skills/business-analyse/schemas/application-schema.json +8 -8
- package/templates/skills/business-analyse/schemas/feature-schema.json +3 -3
- package/templates/skills/business-analyse/schemas/index-schema.json +47 -0
- package/templates/skills/business-analyse/schemas/project-schema.json +6 -6
- package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +1 -1
- package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +5 -3
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +4 -4
- package/templates/skills/business-analyse/schemas/sections/specification-schema.json +1 -1
- package/templates/skills/business-analyse/schemas/shared/common-defs.json +4 -4
- package/templates/skills/business-analyse/steps/step-00-init.md +68 -77
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +54 -180
- package/templates/skills/business-analyse/steps/step-02-structure.md +175 -0
- package/templates/skills/business-analyse/steps/step-03-specify.md +198 -0
- package/templates/skills/business-analyse/steps/step-04-consolidate.md +478 -0
- package/templates/skills/business-analyse/steps/step-05-deploy.md +220 -0
- package/templates/skills/business-analyse/steps/step-06-review.md +51 -69
- package/templates/skills/business-analyse/templates/tpl-frd.md +1 -1
- package/templates/skills/business-analyse/templates/tpl-handoff.md +20 -17
- package/templates/skills/business-analyse/templates/tpl-launch-displays.md +2 -2
- package/templates/skills/business-analyse/templates-react.md +2 -2
- package/templates/skills/derive-prd/SKILL.md +92 -0
- package/templates/skills/derive-prd/references/acceptance-criteria.md +169 -0
- package/templates/skills/derive-prd/references/entity-domain-mapping.md +115 -0
- package/templates/skills/{business-analyse → derive-prd}/references/handoff-file-templates.md +131 -120
- package/templates/skills/{business-analyse → derive-prd}/references/handoff-mappings.md +95 -95
- package/templates/skills/{business-analyse → derive-prd}/references/handoff-seeddata-generation.md +312 -312
- package/templates/skills/{business-analyse → derive-prd}/references/prd-generation.md +262 -263
- package/templates/skills/derive-prd/references/readiness-scoring.md +104 -0
- package/templates/skills/derive-prd/schemas/handoff-schema.json +95 -0
- package/templates/skills/derive-prd/steps/step-00-validate.md +130 -0
- package/templates/skills/derive-prd/steps/step-01-transform.md +206 -0
- package/templates/skills/derive-prd/steps/step-02-export.md +181 -0
- package/templates/skills/{business-analyse → derive-prd}/templates/tpl-progress.md +172 -172
- package/templates/skills/ralph-loop/SKILL.md +2 -1
- package/templates/skills/ralph-loop/references/init-resume-recovery.md +1 -1
- package/templates/skills/ralph-loop/steps/step-01-task.md +2 -2
- package/templates/skills/apex/references/agent-teams-protocol.md +0 -203
- package/templates/skills/business-analyse/_architecture.md +0 -124
- package/templates/skills/business-analyse/_elicitation.md +0 -206
- package/templates/skills/business-analyse/_module-loop.md +0 -115
- package/templates/skills/business-analyse/_rules.md +0 -142
- package/templates/skills/business-analyse/_suggestions.md +0 -34
- package/templates/skills/business-analyse/questionnaire/00-application.md +0 -160
- package/templates/skills/business-analyse/questionnaire/00b-project.md +0 -85
- package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +0 -189
- package/templates/skills/business-analyse/questionnaire/03-scope.md +0 -164
- package/templates/skills/business-analyse/questionnaire/04-data.md +0 -88
- package/templates/skills/business-analyse/questionnaire/05-integrations.md +0 -58
- package/templates/skills/business-analyse/questionnaire/06-security.md +0 -68
- package/templates/skills/business-analyse/questionnaire/07-ui.md +0 -76
- package/templates/skills/business-analyse/questionnaire/08-performance.md +0 -42
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +0 -45
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +0 -58
- package/templates/skills/business-analyse/questionnaire/11-data-lifecycle.md +0 -59
- package/templates/skills/business-analyse/questionnaire/12-migration.md +0 -58
- package/templates/skills/business-analyse/questionnaire/13-cross-module.md +0 -69
- package/templates/skills/business-analyse/questionnaire/14-risk-assumptions.md +0 -135
- package/templates/skills/business-analyse/questionnaire/15-success-metrics.md +0 -136
- package/templates/skills/business-analyse/references/agent-module-prompt.md +0 -366
- package/templates/skills/business-analyse/references/agent-pooling-best-practices.md +0 -557
- package/templates/skills/business-analyse/references/cache-warming-strategy.md +0 -566
- package/templates/skills/business-analyse/references/cadrage-challenge-patterns.md +0 -41
- package/templates/skills/business-analyse/references/cadrage-coverage-matrix.md +0 -74
- package/templates/skills/business-analyse/references/cadrage-pre-analysis.md +0 -115
- package/templates/skills/business-analyse/references/cadrage-shared-modules.md +0 -68
- package/templates/skills/business-analyse/references/cadrage-structure-cards.md +0 -85
- package/templates/skills/business-analyse/references/team-orchestration.md +0 -1093
- package/templates/skills/business-analyse/references/validate-incremental-html.md +0 -121
- package/templates/skills/business-analyse/steps/step-01b-applications.md +0 -419
- package/templates/skills/business-analyse/steps/step-02-decomposition.md +0 -387
- package/templates/skills/business-analyse/steps/step-03a-data.md +0 -16
- package/templates/skills/business-analyse/steps/step-03a1-setup.md +0 -486
- package/templates/skills/business-analyse/steps/step-03a2-analysis.md +0 -300
- package/templates/skills/business-analyse/steps/step-03b-ui.md +0 -405
- package/templates/skills/business-analyse/steps/step-03c-compile.md +0 -516
- package/templates/skills/business-analyse/steps/step-03d-validate.md +0 -691
- package/templates/skills/business-analyse/steps/step-04-consolidation.md +0 -17
- package/templates/skills/business-analyse/steps/step-04a-collect.md +0 -415
- package/templates/skills/business-analyse/steps/step-04b-analyze.md +0 -163
- package/templates/skills/business-analyse/steps/step-04c-decide.md +0 -186
- package/templates/skills/business-analyse/steps/step-05a-handoff.md +0 -937
- package/templates/skills/business-analyse/steps/step-05b-deploy.md +0 -522
- package/templates/skills/business-analyse/steps/step-05c-ralph-readiness.md +0 -703
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/* ============================================
|
|
2
|
+
HTML MOCKUPS - Realistic component previews
|
|
3
|
+
============================================ */
|
|
4
|
+
|
|
5
|
+
/* Screen section container */
|
|
6
|
+
.screen-section {
|
|
7
|
+
margin-bottom: 2rem;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.screen-section h3 {
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
gap: 0.4rem;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/* Mockup frame enhancements for HTML mockups */
|
|
17
|
+
.mockup-frame .mock-header {
|
|
18
|
+
margin-bottom: 1rem;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/* SmartTable inside mockups */
|
|
22
|
+
.mockup-content .mock-table {
|
|
23
|
+
border: 1px solid var(--border);
|
|
24
|
+
border-radius: 6px;
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.mockup-content .mock-table th {
|
|
29
|
+
background: var(--bg-hover);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* SmartForm tabs */
|
|
33
|
+
.mockup-content .form-tab-bar {
|
|
34
|
+
display: flex;
|
|
35
|
+
gap: 0;
|
|
36
|
+
border-bottom: 1px solid var(--border);
|
|
37
|
+
margin-bottom: 1.5rem;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.mockup-content .form-tab {
|
|
41
|
+
padding: 0.5rem 1rem;
|
|
42
|
+
font-size: 0.85rem;
|
|
43
|
+
cursor: pointer;
|
|
44
|
+
border-bottom: 2px solid transparent;
|
|
45
|
+
color: var(--text-muted);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.mockup-content .form-tab.active {
|
|
49
|
+
border-bottom-color: var(--primary);
|
|
50
|
+
color: var(--primary-light);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* SmartKanban columns */
|
|
54
|
+
.mockup-content .kanban-board {
|
|
55
|
+
display: flex;
|
|
56
|
+
gap: 1rem;
|
|
57
|
+
overflow-x: auto;
|
|
58
|
+
padding-bottom: 0.5rem;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.mockup-content .kanban-column {
|
|
62
|
+
min-width: 200px;
|
|
63
|
+
flex: 1;
|
|
64
|
+
background: var(--bg-hover);
|
|
65
|
+
border-radius: 8px;
|
|
66
|
+
padding: 0.75rem;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.mockup-content .kanban-column-header {
|
|
70
|
+
font-weight: 600;
|
|
71
|
+
font-size: 0.85rem;
|
|
72
|
+
color: var(--text-bright);
|
|
73
|
+
margin-bottom: 0.75rem;
|
|
74
|
+
display: flex;
|
|
75
|
+
justify-content: space-between;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.mockup-content .kanban-card {
|
|
79
|
+
background: var(--bg-card);
|
|
80
|
+
border: 1px solid var(--border);
|
|
81
|
+
border-radius: 6px;
|
|
82
|
+
padding: 0.5rem;
|
|
83
|
+
margin-bottom: 0.5rem;
|
|
84
|
+
font-size: 0.8rem;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/* SmartDashboard KPI */
|
|
88
|
+
.mockup-content .mock-kpi-grid {
|
|
89
|
+
margin-bottom: 1.5rem;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* SmartFilter pills */
|
|
93
|
+
.mockup-content .filter-pill {
|
|
94
|
+
padding: 0.3rem 0.7rem;
|
|
95
|
+
border-radius: 16px;
|
|
96
|
+
font-size: 0.8rem;
|
|
97
|
+
cursor: pointer;
|
|
98
|
+
transition: all var(--transition-fast);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.mockup-content .filter-pill:hover {
|
|
102
|
+
background: var(--bg-hover);
|
|
103
|
+
border-color: var(--primary);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.mockup-content .filter-pill.active {
|
|
107
|
+
background: var(--primary);
|
|
108
|
+
color: #fff;
|
|
109
|
+
border-color: var(--primary);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/* Subtable in forms */
|
|
113
|
+
.mockup-content .subtable-container {
|
|
114
|
+
margin: 1rem 0;
|
|
115
|
+
border: 1px solid var(--border);
|
|
116
|
+
border-radius: 8px;
|
|
117
|
+
overflow: hidden;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.mockup-content .subtable-header {
|
|
121
|
+
display: flex;
|
|
122
|
+
justify-content: space-between;
|
|
123
|
+
align-items: center;
|
|
124
|
+
padding: 0.5rem 0.75rem;
|
|
125
|
+
background: var(--bg-hover);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* Permission annotation in mockup toolbar */
|
|
129
|
+
.mockup-toolbar .permission-badge {
|
|
130
|
+
margin-left: auto;
|
|
131
|
+
font-size: 0.65rem;
|
|
132
|
+
color: var(--text-muted);
|
|
133
|
+
background: var(--bg-dark);
|
|
134
|
+
padding: 0.15rem 0.5rem;
|
|
135
|
+
border-radius: 4px;
|
|
136
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Proactive Suggestion Catalog
|
|
2
2
|
|
|
3
3
|
> **Version:** 3.0.0
|
|
4
|
-
> **Usage:** Loaded by step-01-
|
|
4
|
+
> **Usage:** Loaded by step-01-cadrage after scope definition to suggest complementary modules/sections.
|
|
5
5
|
> **Protocol:** Match feature type against patterns, present via AskUserQuestion (multiSelect: true).
|
|
6
6
|
> **Purpose:** Guide users toward complete feature design by suggesting companion modules and standard sections.
|
|
7
7
|
|
|
@@ -75,7 +75,7 @@ Suggests system integrations based on requirements:
|
|
|
75
75
|
|
|
76
76
|
### 4.1 Trigger Point
|
|
77
77
|
|
|
78
|
-
After step-01-
|
|
78
|
+
After step-01-cadrage completes scope definition (scope.mustHave + scope.shouldHave populated):
|
|
79
79
|
|
|
80
80
|
```
|
|
81
81
|
Step-01: Analyse → Define Scope → Load Suggestion Catalog → Present Suggestions
|
|
@@ -84,7 +84,7 @@ Step-01: Analyse → Define Scope → Load Suggestion Catalog → Present Sugges
|
|
|
84
84
|
### 4.2 Suggestion Algorithm
|
|
85
85
|
|
|
86
86
|
```
|
|
87
|
-
Input:
|
|
87
|
+
Input: index.json (module name, keywords, must-haves, should-haves)
|
|
88
88
|
|
|
89
89
|
1. Read scope.mustHave + scope.shouldHave (user-defined features)
|
|
90
90
|
2. Extract primary keywords (module type) from scope.description
|
|
@@ -94,7 +94,7 @@ Input: feature.json.scope.* (module name, keywords, must-haves, should-haves)
|
|
|
94
94
|
6. Filter out already-present modules/sections
|
|
95
95
|
7. Rank by relevance (keyword match > condition confidence)
|
|
96
96
|
8. Present top 3-4 suggestions to user
|
|
97
|
-
9. Store results in
|
|
97
|
+
9. Store results in index.json suggestions[] array
|
|
98
98
|
```
|
|
99
99
|
|
|
100
100
|
### 4.3 Implementation Code
|
|
@@ -210,7 +210,7 @@ When user selects suggestions:
|
|
|
210
210
|
1. **Add Selected Modules:** Update scope.mustHave with new modules
|
|
211
211
|
2. **Add Selected Sections:** Update specification.sections (in step-02)
|
|
212
212
|
3. **Add Selected Integrations:** Update specification.integrations
|
|
213
|
-
4. **Store Decisions:** Log in
|
|
213
|
+
4. **Store Decisions:** Log in index.json.suggestions[]
|
|
214
214
|
5. **Continue:** Proceed to step-02-specify with expanded scope
|
|
215
215
|
|
|
216
216
|
```json
|
|
@@ -245,6 +245,8 @@ When user selects suggestions:
|
|
|
245
245
|
}
|
|
246
246
|
```
|
|
247
247
|
|
|
248
|
+
Stored in index.json.
|
|
249
|
+
|
|
248
250
|
---
|
|
249
251
|
|
|
250
252
|
## 5. Customization & Feedback Loop
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# Categorie 2 : Parties prenantes et perimetre
|
|
2
|
+
|
|
3
|
+
> **Usage :** Identifier les acteurs, leurs besoins, et delimiter le perimetre fonctionnel
|
|
4
|
+
> **Quand charger :** TOUJOURS (noyau)
|
|
5
|
+
> **Objectif :** Comprendre QUI utilise le systeme, COMMENT, et QUOI il doit faire
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 2.1 Identification des utilisateurs
|
|
10
|
+
|
|
11
|
+
> **But :** Dresser la carte complete de toutes les personnes qui interagiront avec le systeme.
|
|
12
|
+
|
|
13
|
+
| # | Question | Type de reponse |
|
|
14
|
+
|---|----------|-----------------|
|
|
15
|
+
| Q2.1 | Qui sont les personnes qui utiliseront ce systeme au quotidien ? Decrivez leurs postes et ce qu'ils font dans l'entreprise. | Liste de profils utilisateurs |
|
|
16
|
+
| Q2.2 | Y a-t-il des personnes qui ne l'utiliseront pas directement mais qui beneficieront des resultats (rapports, donnees, decisions) ? | Liste de beneficiaires indirects |
|
|
17
|
+
| Q2.3 | Qui est le decideur final sur ce projet ? Qui peut dire "oui, on lance" ou "non, on arrete" ? | Nom et role du decideur |
|
|
18
|
+
| Q2.4 | Y a-t-il des personnes ou des services qui pourraient s'opposer a ce projet ou le freiner ? Pourquoi ? | Liste de resistances potentielles |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 2.2 Le quotidien de chaque utilisateur
|
|
23
|
+
|
|
24
|
+
> **But :** Comprendre concretement ce que chaque type d'utilisateur fait et a besoin de faire.
|
|
25
|
+
|
|
26
|
+
| # | Question | Type de reponse |
|
|
27
|
+
|---|----------|-----------------|
|
|
28
|
+
| Q2.5 | Pour chaque type d'utilisateur : quelles sont les 3 a 5 taches principales qu'il doit accomplir avec ce systeme ? | Taches par profil utilisateur |
|
|
29
|
+
| Q2.6 | A quelle frequence chaque utilisateur se servira-t-il du systeme ? Tous les jours ? Plusieurs fois par jour ? Une fois par semaine ? | Frequence d'utilisation par profil |
|
|
30
|
+
| Q2.7 | Quel est le niveau de confort de chaque utilisateur avec les outils informatiques ? | Niveau d'aisance par profil |
|
|
31
|
+
| Q2.8 | Pour chaque utilisateur : quelles sont ses 2 a 3 plus grandes frustrations avec la facon de travailler actuelle ? | Frustrations par profil |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 2.3 Les niveaux d'acces
|
|
36
|
+
|
|
37
|
+
> **But :** Definir qui peut voir quoi et faire quoi, en langage simple.
|
|
38
|
+
|
|
39
|
+
| # | Question | Type de reponse |
|
|
40
|
+
|---|----------|-----------------|
|
|
41
|
+
| Q2.9 | Tous les utilisateurs doivent-ils voir les memes informations ? Si non, qui voit quoi ? | Regles de visibilite des donnees |
|
|
42
|
+
| Q2.10 | Qui a le droit de modifier ou supprimer des informations ? Tout le monde ou seulement certaines personnes ? | Regles de modification |
|
|
43
|
+
| Q2.11 | Y a-t-il des actions sensibles qui necessitent une validation par un superieur ? | Liste des actions a valider |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 2.4 Perimetre fonctionnel
|
|
48
|
+
|
|
49
|
+
> **But :** Lister tout ce que le systeme doit faire et ne pas faire, avec des priorites claires.
|
|
50
|
+
|
|
51
|
+
| # | Question | Type de reponse |
|
|
52
|
+
|---|----------|-----------------|
|
|
53
|
+
| Q2.12 | Listez toutes les fonctionnalites que vous souhaitez dans ce systeme. Ne vous censurez pas. | Liste libre de fonctionnalites |
|
|
54
|
+
| Q2.13 | Parmi cette liste, quelles sont les fonctionnalites INDISPENSABLES ? Celles sans lesquelles le systeme n'a aucun interet ? | Liste de fonctionnalites vitales |
|
|
55
|
+
| Q2.14 | Quelles fonctionnalites seraient tres utiles mais pourraient attendre une deuxieme version ? | Liste de fonctionnalites importantes |
|
|
56
|
+
| Q2.15 | Y a-t-il des choses que le systeme ne doit explicitement PAS faire ? Des limites claires a poser ? | Liste d'exclusions |
|
|
57
|
+
|
|
58
|
+
**Test de priorite :**
|
|
59
|
+
> Pour chaque fonctionnalite classee comme indispensable, poser la question :
|
|
60
|
+
> "Si on enlevait cette fonctionnalite, le systeme aurait-il encore de la valeur ?"
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 2.5 Le parcours principal
|
|
65
|
+
|
|
66
|
+
> **But :** Comprendre le flux de travail principal de bout en bout.
|
|
67
|
+
|
|
68
|
+
| # | Question | Type de reponse |
|
|
69
|
+
|---|----------|-----------------|
|
|
70
|
+
| Q2.16 | Decrivez le parcours typique d'un utilisateur du debut a la fin : il ouvre le systeme, que fait-il en premier ? | Liste d'etapes ordonnees |
|
|
71
|
+
| Q2.17 | A quels moments l'utilisateur doit-il prendre une decision ? Quelles sont les options possibles ? | Points de decision et options |
|
|
72
|
+
| Q2.18 | Que se passe-t-il quand quelque chose ne se deroule pas comme prevu ? Quels sont les cas particuliers ? | Scenarios alternatifs |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 2.6 Besoins transversaux
|
|
77
|
+
|
|
78
|
+
> **But :** Identifier les fonctionnalites qui traversent tout le systeme.
|
|
79
|
+
|
|
80
|
+
| # | Question | Type de reponse |
|
|
81
|
+
|---|----------|-----------------|
|
|
82
|
+
| Q2.19 | Les utilisateurs ont-ils besoin de recevoir des notifications ou des alertes ? Si oui, dans quelles situations ? | Liste de situations de notification |
|
|
83
|
+
| Q2.20 | Faut-il pouvoir exporter des donnees du systeme (rapports, fichiers, impressions) ? Dans quel format et pour qui ? | Besoins d'export |
|
|
84
|
+
| Q2.21 | Faut-il pouvoir importer des donnees dans le systeme depuis une source externe ? | Besoins d'import |
|
|
85
|
+
| Q2.22 | Faut-il garder un historique de qui a fait quoi et quand ? Pour quelles actions ? | Besoins de tracabilite |
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Guide d'elicitation approfondi
|
|
90
|
+
|
|
91
|
+
### Techniques de relance
|
|
92
|
+
|
|
93
|
+
| Question | Si la reponse est vague | Relance recommandee |
|
|
94
|
+
|----------|------------------------|---------------------|
|
|
95
|
+
| Q2.1 (utilisateurs) | Un seul type mentionne | "Pensez aux differents moments de la journee : qui saisit ? Qui consulte les rapports ? Qui gere les cas particuliers ?" |
|
|
96
|
+
| Q2.4 (oppositions) | "Personne ne s'opposera" | "Quand un nouvel outil est introduit, qui doit changer ses habitudes le plus ?" |
|
|
97
|
+
| Q2.5 (taches) | Taches generiques | "Quand il arrive le matin et ouvre le systeme, quelle est sa premiere action ?" |
|
|
98
|
+
| Q2.9 (visibilite) | Reponse ambigue | "Un employe du service A peut-il voir les donnees du service B ? Un stagiaire voit-il la meme chose qu'un directeur ?" |
|
|
99
|
+
| Q2.13 (indispensable) | Tout est indispensable | "Si vous ne pouviez garder que 3 fonctionnalites pour un premier lancement, lesquelles ?" |
|
|
100
|
+
| Q2.15 (exclusions) | "Je ne vois pas" | "Certains utilisateurs pourraient-ils s'attendre a des fonctionnalites que vous ne souhaitez PAS inclure ?" |
|
|
101
|
+
| Q2.16 (parcours) | Moins de 3 etapes | "Detaillons : l'utilisateur arrive sur l'ecran d'accueil. Que voit-il ? Ou clique-t-il ?" |
|
|
102
|
+
|
|
103
|
+
### Signaux d'alerte a detecter
|
|
104
|
+
|
|
105
|
+
| Signal du client | Probleme sous-jacent | Action de l'analyste |
|
|
106
|
+
|------------------|---------------------|----------------------|
|
|
107
|
+
| "Tous les utilisateurs font la meme chose" | Roles non differencies | "Qui peut supprimer ? Qui ne fait que consulter ? Qui valide ?" |
|
|
108
|
+
| "Tout le monde doit tout voir" | Securite non reflechie | "Meme les stagiaires ? Les prestataires externes ? Les donnees salariales ?" |
|
|
109
|
+
| Tout est indispensable (> 10 vitaux) | Priorites non definies | Appliquer le test de priorite |
|
|
110
|
+
| Aucune exclusion identifiee | Perimetre non borne | "Y a-t-il des aspects qui relevent d'un autre projet ou d'une version future ?" |
|
|
111
|
+
| Parcours lineaire sans alternative | Seul le cas ideal est decrit | "Que se passe-t-il a l'etape X si la condition Y n'est pas remplie ?" |
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Mapping vers le cadrage
|
|
116
|
+
|
|
117
|
+
| Reponse | Alimente |
|
|
118
|
+
|---------|----------|
|
|
119
|
+
| Q2.1-Q2.4 | `cadrage.stakeholders[]` |
|
|
120
|
+
| Q2.5-Q2.8 | `cadrage.stakeholders[].tasks`, `.frequency`, `.painPoints` |
|
|
121
|
+
| Q2.9-Q2.11 | `cadrage.applicationRoles[]` |
|
|
122
|
+
| Q2.12-Q2.15 | `cadrage.globalScope` (vital, important, optional, excluded) |
|
|
123
|
+
| Q2.16-Q2.18 | `cadrage.coverageMatrix` + base pour les cas d'utilisation |
|
|
124
|
+
| Q2.19-Q2.22 | `cadrage.coverageMatrix` + detection de modules transversaux |
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Strategie de questionnement
|
|
129
|
+
|
|
130
|
+
### Ordre des questions en 4 lots
|
|
131
|
+
|
|
132
|
+
**Lot 1 (Q2.1-Q2.4) : Qui est concerne ?**
|
|
133
|
+
- Identifier tous les acteurs du projet
|
|
134
|
+
|
|
135
|
+
**Lot 2 (Q2.5-Q2.11) : Que font-ils et quels droits ?**
|
|
136
|
+
- Detailler les taches, frequences et niveaux d'acces par profil
|
|
137
|
+
|
|
138
|
+
**Lot 3 (Q2.12-Q2.15) : Quel perimetre ?**
|
|
139
|
+
- Lister et hierarchiser les fonctionnalites
|
|
140
|
+
|
|
141
|
+
**Lot 4 (Q2.16-Q2.22) : Comment ca se deroule ?**
|
|
142
|
+
- Cartographier le parcours principal et les besoins transversaux
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Categorie 3 : Donnees et interface
|
|
2
|
+
|
|
3
|
+
> **Usage :** Definir les entites, les regles de donnees et l'experience utilisateur
|
|
4
|
+
> **Quand charger :** Par module, lors de la specification (step-03)
|
|
5
|
+
> **Objectif :** Comprendre les donnees manipulees et comment elles sont presentees
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 3.1 Entites et attributs
|
|
10
|
+
|
|
11
|
+
| # | Question | Type de reponse |
|
|
12
|
+
|---|----------|-----------------|
|
|
13
|
+
| Q3.1 | Quelles sont les entites principales gerees par ce module ? | Liste d'entites |
|
|
14
|
+
| Q3.2 | Pour chaque entite : quels sont les attributs importants ? | Par entite |
|
|
15
|
+
| Q3.3 | Quelles relations existent entre les entites ? (appartient a, contient, reference) | Schema relationnel |
|
|
16
|
+
| Q3.4 | Volume de donnees attendu ? (dizaines, centaines, milliers, millions) | Estimation par entite |
|
|
17
|
+
| Q3.5 | Pour chaque entite : le Code doit-il etre auto-genere ou saisi par l'utilisateur ? | Par entite |
|
|
18
|
+
| Q3.6 | Si auto-genere : quelle strategie ? (sequentiel, timestamp, annee, UUID court) | Par entite |
|
|
19
|
+
|
|
20
|
+
## 3.2 Regles de donnees
|
|
21
|
+
|
|
22
|
+
| # | Question | Type de reponse |
|
|
23
|
+
|---|----------|-----------------|
|
|
24
|
+
| Q3.7 | Quelles validations sur les donnees ? (champs obligatoires, formats, plages de valeurs) | Liste de regles |
|
|
25
|
+
| Q3.8 | Y a-t-il des regles inter-champs ? (date fin > date debut, montant selon statut) | Liste de contraintes |
|
|
26
|
+
| Q3.9 | Donnees sensibles a proteger ? (donnees personnelles, financieres, medicales) | Liste + niveau |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 3.3 Interface et ecrans
|
|
31
|
+
|
|
32
|
+
| # | Question | Type de reponse |
|
|
33
|
+
|---|----------|-----------------|
|
|
34
|
+
| Q3.10 | Peripheriques cibles ? (desktop, mobile, tablette) | Liste |
|
|
35
|
+
| Q3.11 | Ecrans principaux necessaires pour ce module ? | Liste d'ecrans |
|
|
36
|
+
| Q3.12 | Informations cles par ecran ? Quelles colonnes dans la liste, quels champs dans le formulaire ? | Par ecran |
|
|
37
|
+
| Q3.13 | Actions possibles par ecran ? (creer, editer, supprimer, valider, exporter, changer statut) | Par ecran |
|
|
38
|
+
|
|
39
|
+
## 3.4 Tableaux de bord
|
|
40
|
+
|
|
41
|
+
| # | Question | Type de reponse |
|
|
42
|
+
|---|----------|-----------------|
|
|
43
|
+
| Q3.14 | Des tableaux de bord ou indicateurs sont-ils requis pour ce module ? | Oui/Non + description |
|
|
44
|
+
| Q3.15 | KPIs a afficher ? (nom, metrique, format, seuils d'alerte) | Par dashboard |
|
|
45
|
+
| Q3.16 | Types de graphiques souhaites ? (barres, lignes, camembert, cartes KPI) | Par KPI |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Guide d'elicitation approfondi
|
|
50
|
+
|
|
51
|
+
### Techniques de relance
|
|
52
|
+
|
|
53
|
+
| Question | Si la reponse est vague | Relance recommandee |
|
|
54
|
+
|----------|------------------------|---------------------|
|
|
55
|
+
| Q3.1 (entites) | Une seule entite | "Cette entite a-t-elle des sous-elements ? (lignes de detail, pieces jointes, historique)" |
|
|
56
|
+
| Q3.1 (entites) | Mention de "User" | "L'utilisateur est gere par la plateforme. Decrivez l'entite METIER (Client, Employee, Contact...)" |
|
|
57
|
+
| Q3.2 (attributs) | Champs techniques (ID, CreatedDate) | "Les champs techniques sont auto-geres. Quels sont les attributs METIER ?" |
|
|
58
|
+
| Q3.3 (relations) | "1:N" sans detail | "Un {Parent} peut avoir combien de {Children} max ? Un {Child} peut-il exister sans {Parent} ?" |
|
|
59
|
+
| Q3.4 (volume) | "Beaucoup" | "Ordre de grandeur : dizaines, centaines, milliers, millions ? Croissance par mois ?" |
|
|
60
|
+
| Q3.11 (ecrans) | "Un ecran de liste" | "Avec pages dediees pour creation et edition ? Detail en page avec onglets ?" |
|
|
61
|
+
| Q3.13 (actions) | "CRUD classique" | "Actions metier specifiques ? (valider, dupliquer, archiver, changer statut, assigner)" |
|
|
62
|
+
| Q3.14 (dashboards) | "Juste des chiffres" | "Les tendances ne seraient-elles pas plus lisibles en graphique ?" |
|
|
63
|
+
|
|
64
|
+
### Anti-patterns a detecter
|
|
65
|
+
|
|
66
|
+
| Signal | Anti-pattern | Action |
|
|
67
|
+
|--------|-------------|--------|
|
|
68
|
+
| Entite "User" avec attributs metier | Confusion User/Identity | La plateforme gere les Users via Identity |
|
|
69
|
+
| Attributs Id, TenantId, CreatedBy | Champs techniques comme metier | Ces champs sont auto-generes par AuditableEntity |
|
|
70
|
+
| "Un seul gros formulaire avec tout" | Formulaire monolithique | Proposer des onglets ou wizard par section logique |
|
|
71
|
+
| Actions sans confirmation | Actions destructives non protegees | "La suppression necessite-t-elle une confirmation ?" |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## RBAC Exclusion
|
|
76
|
+
|
|
77
|
+
> Les concepts suivants sont geres par le systeme RBAC de la plateforme et NE DOIVENT PAS etre modelises comme attributs d'entite :
|
|
78
|
+
|
|
79
|
+
| Concept | Wrong (attribut) | Correct (RBAC) |
|
|
80
|
+
|---------|-----------------|----------------|
|
|
81
|
+
| Role utilisateur | `User.Role` | Permission set `{app}.{module}.*` |
|
|
82
|
+
| Niveau d'acces | `User.AccessLevel` | Permission matrix per role |
|
|
83
|
+
| Est admin | `User.IsAdmin` | `{app}.{module}.admin` permission |
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Mapping vers le feature
|
|
88
|
+
|
|
89
|
+
| Reponse | Alimente |
|
|
90
|
+
|---------|----------|
|
|
91
|
+
| Q3.1-Q3.6 | `entities.json` (entites, attributs, relations, codePattern) |
|
|
92
|
+
| Q3.7-Q3.9 | `rules.json` (regles metier de validation et securite) |
|
|
93
|
+
| Q3.10-Q3.13 | `screens.json` (sections, resources, colonnes, actions) |
|
|
94
|
+
| Q3.14-Q3.16 | `screens.json` (sections dashboard, KPI resources) |
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Categorie 4 : Risques et criteres de reussite
|
|
2
|
+
|
|
3
|
+
> **Usage :** Identifier les risques et definir comment mesurer le succes
|
|
4
|
+
> **Quand charger :** TOUJOURS (noyau, charge dans le cadrage)
|
|
5
|
+
> **Objectif :** Anticiper les problemes et etablir des criteres observables
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 4.1 Les risques identifies
|
|
10
|
+
|
|
11
|
+
> **But :** Lister tout ce qui pourrait empecher le projet de reussir.
|
|
12
|
+
|
|
13
|
+
| # | Question | Type de reponse |
|
|
14
|
+
|---|----------|-----------------|
|
|
15
|
+
| Q4.1 | Quels sont les principaux risques que vous voyez pour ce projet ? Qu'est-ce qui pourrait mal tourner ? | Liste de risques |
|
|
16
|
+
| Q4.2 | Parmi ces risques, lesquels auraient les consequences les plus graves ? | Hierarchisation par gravite |
|
|
17
|
+
| Q4.3 | Pour chaque risque grave : avez-vous une idee de comment le prevenir ou le reduire ? | Mesures de mitigation |
|
|
18
|
+
|
|
19
|
+
**Reformulation guidee pour Q4.1 :**
|
|
20
|
+
```
|
|
21
|
+
question: "Quels sont les principaux risques que vous voyez pour ce projet ?"
|
|
22
|
+
header: "Risques"
|
|
23
|
+
multiSelect: true
|
|
24
|
+
options:
|
|
25
|
+
- label: "Adoption par les utilisateurs"
|
|
26
|
+
description: "Les utilisateurs pourraient ne pas vouloir changer leurs habitudes"
|
|
27
|
+
- label: "Qualite des donnees existantes"
|
|
28
|
+
description: "Les donnees actuelles sont incompletes, incorrectes ou dispersees"
|
|
29
|
+
- label: "Complexite des regles metier"
|
|
30
|
+
description: "Certaines regles sont mal documentees ou connues uniquement par quelques personnes"
|
|
31
|
+
- label: "Dependances externes"
|
|
32
|
+
description: "Le projet depend de systemes ou decisions externes qui pourraient retarder"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 4.2 Les hypotheses a valider
|
|
38
|
+
|
|
39
|
+
> **But :** Rendre explicites les certitudes non verifiees.
|
|
40
|
+
|
|
41
|
+
| # | Question | Type de reponse |
|
|
42
|
+
|---|----------|-----------------|
|
|
43
|
+
| Q4.4 | Quelles hypotheses faites-vous sur le projet ? Qu'est-ce que vous tenez pour acquis sans l'avoir verifie ? | Liste d'hypotheses |
|
|
44
|
+
| Q4.5 | Parmi ces hypotheses, lesquelles seraient les plus graves si elles se revelaient fausses ? | Hierarchisation par impact |
|
|
45
|
+
| Q4.6 | Comment pourriez-vous verifier ces hypotheses avant que le projet avance trop loin ? | Methodes de validation |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 4.3 Les lecons du passe
|
|
50
|
+
|
|
51
|
+
| # | Question | Type de reponse |
|
|
52
|
+
|---|----------|-----------------|
|
|
53
|
+
| Q4.7 | Y a-t-il eu des projets similaires dans l'entreprise ? Qu'est-ce qui a fonctionne ou echoue ? | Retour d'experience |
|
|
54
|
+
| Q4.8 | Si ce projet devait echouer, quelle serait la raison la plus probable ? | Cause d'echec anticipee |
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 4.4 La definition du succes
|
|
59
|
+
|
|
60
|
+
> **But :** Determiner concretement ce qui fera dire "ce projet est un succes".
|
|
61
|
+
|
|
62
|
+
| # | Question | Type de reponse |
|
|
63
|
+
|---|----------|-----------------|
|
|
64
|
+
| Q4.9 | Quand le systeme sera en place, comment saurez-vous que le projet est un succes ? Quel changement concret observerez-vous ? | Description du succes observable |
|
|
65
|
+
| Q4.10 | Si vous deviez convaincre votre direction que le projet a reussi, quels chiffres presenteriez-vous ? | Metriques de succes |
|
|
66
|
+
| Q4.11 | Au bout de combien de temps apres le lancement pourrez-vous juger si ca fonctionne ? | Delai d'evaluation |
|
|
67
|
+
|
|
68
|
+
**Reformulation guidee pour Q4.9 :**
|
|
69
|
+
```
|
|
70
|
+
question: "Comment saurez-vous que le projet est un succes ?"
|
|
71
|
+
header: "Succes"
|
|
72
|
+
options:
|
|
73
|
+
- label: "Gain de temps mesurable"
|
|
74
|
+
description: "Un processus qui prenait X heures ne prend plus que Y minutes"
|
|
75
|
+
- label: "Reduction des erreurs"
|
|
76
|
+
description: "Le nombre d'erreurs a diminue de maniere significative"
|
|
77
|
+
- label: "Meilleure satisfaction"
|
|
78
|
+
description: "Les utilisateurs expriment que leur quotidien s'est ameliore"
|
|
79
|
+
- label: "Indicateurs en hausse"
|
|
80
|
+
description: "Des chiffres cles se sont ameliores"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 4.5 Les objectifs mesurables
|
|
86
|
+
|
|
87
|
+
| # | Question | Type de reponse |
|
|
88
|
+
|---|----------|-----------------|
|
|
89
|
+
| Q4.12 | Pour chaque amelioration attendue, pouvez-vous donner un objectif chiffre ? | Objectifs quantifies |
|
|
90
|
+
| Q4.13 | Quels indicateurs suivez-vous deja aujourd'hui qui pourraient servir de reference ? | Indicateurs existants |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 4.6 Les criteres d'acceptation
|
|
95
|
+
|
|
96
|
+
| # | Question | Type de reponse |
|
|
97
|
+
|---|----------|-----------------|
|
|
98
|
+
| Q4.14 | Quelles sont les conditions minimales pour que vous acceptiez de mettre le systeme en service ? | Liste de conditions obligatoires |
|
|
99
|
+
| Q4.15 | Qui decide officiellement que le systeme est pret a etre utilise ? | Processus de validation |
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Guide d'elicitation approfondi
|
|
104
|
+
|
|
105
|
+
### Techniques de relance
|
|
106
|
+
|
|
107
|
+
| Question | Si la reponse est vague | Relance recommandee |
|
|
108
|
+
|----------|------------------------|---------------------|
|
|
109
|
+
| Q4.1 (risques) | "Je ne vois pas de risque" | "Pensez aux projets passes : qu'est-ce qui a coince ? Les delais ? L'adoption ? La qualite des donnees ?" |
|
|
110
|
+
| Q4.4 (hypotheses) | "On ne fait pas d'hypotheses" | "Est-on certain que tous les utilisateurs ont un ordinateur ? Que les donnees actuelles sont completes ?" |
|
|
111
|
+
| Q4.8 (echec) | Refuse de repondre | "C'est une question difficile mais importante. Imaginons le pire scenario : cela nous aide a le prevenir." |
|
|
112
|
+
| Q4.9 (succes) | "Que tout fonctionne bien" | "Imaginons que je visite votre bureau 3 mois apres le lancement. Qu'est-ce que je verrais de different ?" |
|
|
113
|
+
| Q4.12 (objectifs) | "Difficile a chiffrer" | "Meme approximativement : le processus prend combien de temps aujourd'hui ? Quel serait un temps acceptable ?" |
|
|
114
|
+
| Q4.14 (conditions) | "Il faut que tout soit parfait" | "Si vous deviez lancer avec seulement 80% des fonctionnalites, lesquelles seraient dans ces 80% ?" |
|
|
115
|
+
|
|
116
|
+
### Signaux d'alerte
|
|
117
|
+
|
|
118
|
+
| Signal du client | Probleme sous-jacent | Action |
|
|
119
|
+
|------------------|---------------------|--------|
|
|
120
|
+
| "Il n'y a aucun risque" | Manque de recul | Proposer des risques standards |
|
|
121
|
+
| Risques uniquement techniques | Vision incomplete | Ajouter dimensions humaines et organisationnelles |
|
|
122
|
+
| Aucun critere mesurable | Succes non defini | Proposer metriques standards : temps, erreurs, adoption, satisfaction |
|
|
123
|
+
| "Ca doit etre parfait" | Attentes irrealistes | "Quel est le niveau minimum acceptable pour un premier lancement ?" |
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Mapping vers le cadrage
|
|
128
|
+
|
|
129
|
+
| Reponse | Alimente |
|
|
130
|
+
|---------|----------|
|
|
131
|
+
| Q4.1-Q4.3 | `cadrage.risks[]` |
|
|
132
|
+
| Q4.4-Q4.6 | `cadrage.risks[]` (type: "assumption") |
|
|
133
|
+
| Q4.7-Q4.8 | `cadrage.risks[]` (enrichissement contexte historique) |
|
|
134
|
+
| Q4.9-Q4.13 | `cadrage.acceptanceCriteria[]` |
|
|
135
|
+
| Q4.14-Q4.15 | `cadrage.acceptanceCriteria[]` (conditions de livraison) |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Strategie de questionnement
|
|
140
|
+
|
|
141
|
+
### Ordre en 3 lots
|
|
142
|
+
|
|
143
|
+
**Lot 1 (Q4.1-Q4.6) : Risques et hypotheses**
|
|
144
|
+
- Commencer par les risques visibles puis les hypotheses implicites
|
|
145
|
+
|
|
146
|
+
**Lot 2 (Q4.7-Q4.8) : Lecons du passe**
|
|
147
|
+
- Tirer les lecons des experiences precedentes
|
|
148
|
+
|
|
149
|
+
**Lot 3 (Q4.9-Q4.15) : Succes et acceptation**
|
|
150
|
+
- Definir le succes, quantifier, etablir les conditions de livraison
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Categorie 5 : Impact cross-module
|
|
2
|
+
|
|
3
|
+
> **Usage :** Analyser l'impact sur les modules existants et les dependances partagees
|
|
4
|
+
> **Quand charger :** TOUJOURS pour les nouveaux modules (pas les ameliorations)
|
|
5
|
+
> **Objectif :** Detecter les interactions, les entites partagees et les risques de conflit
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 5.1 Dependances avec les modules existants
|
|
10
|
+
|
|
11
|
+
| # | Question | Type de reponse |
|
|
12
|
+
|---|----------|-----------------|
|
|
13
|
+
| Q5.1 | Avec quels modules existants ce nouveau module interagit-il ? | Liste de modules |
|
|
14
|
+
| Q5.2 | Quelles donnees sont partagees entre modules ? (entites, tables de reference) | Par module |
|
|
15
|
+
| Q5.3 | Y a-t-il des entites existantes que ce module va referencer ? (relations FK) | Liste de references |
|
|
16
|
+
| Q5.4 | Ce module produira-t-il des evenements que d'autres modules consomment ? | Liste d'evenements |
|
|
17
|
+
|
|
18
|
+
## 5.2 Evaluation d'impact
|
|
19
|
+
|
|
20
|
+
| # | Question | Type de reponse |
|
|
21
|
+
|---|----------|-----------------|
|
|
22
|
+
| Q5.5 | Les modules existants doivent-ils etre modifies pour supporter ce nouveau module ? | Liste de changements |
|
|
23
|
+
| Q5.6 | Y a-t-il des composants UI ou des changements de navigation partages ? | Liste |
|
|
24
|
+
| Q5.7 | Ce module affectera-t-il les permissions ou roles existants ? | Oui/Non + detail |
|
|
25
|
+
| Q5.8 | Y a-t-il un risque de conflit de modele de donnees ? (meme entite modifiee par 2 modules) | Evaluation du risque |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Cross-Module Patterns
|
|
30
|
+
|
|
31
|
+
| Besoin | Pattern | Exemple |
|
|
32
|
+
|--------|---------|---------|
|
|
33
|
+
| Reference une entite | Navigation property + FK | `Order.ClientId -> Client` |
|
|
34
|
+
| Donnees de reference partagees | Entite partagee dans Domain | `Status`, `Category` |
|
|
35
|
+
| Notification evenementielle | MediatR notification | `OrderCreatedNotification` |
|
|
36
|
+
| Requete cross-module | DTO en lecture seule | `IClientQueryService` |
|
|
37
|
+
| Lien de navigation | NavRoute entry | `business/{app}/{module}` |
|
|
38
|
+
| Permission partagee | Hierarchie de permissions | `{app}.*` covers all modules |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Guide d'elicitation
|
|
43
|
+
|
|
44
|
+
### Techniques de relance
|
|
45
|
+
|
|
46
|
+
| Question | Si la reponse est vague | Relance recommandee |
|
|
47
|
+
|----------|------------------------|---------------------|
|
|
48
|
+
| Q5.1 (interactions) | "Aucun" | "Ce module est totalement isole ? Pas de lien avec des clients, produits, utilisateurs d'autres modules ?" |
|
|
49
|
+
| Q5.2 (donnees partagees) | "Je ne sais pas" | Utiliser le `{codebase_context}` : "J'ai trouve les entites {list}. Ce module a-t-il besoin de les referencer ?" |
|
|
50
|
+
| Q5.3 (FK references) | Vague | "Une {entity} de ce module appartient-elle a un {existing_entity} ?" |
|
|
51
|
+
| Q5.4 (evenements) | "Non" | "Quand un {entity} est cree/modifie/supprime, faut-il notifier un autre module ?" |
|
|
52
|
+
| Q5.8 (conflits) | "Pas de risque" | "Deux modules modifient-ils la meme entite ?" |
|
|
53
|
+
|
|
54
|
+
### Anti-patterns a detecter
|
|
55
|
+
|
|
56
|
+
| Signal | Anti-pattern | Action |
|
|
57
|
+
|--------|-------------|--------|
|
|
58
|
+
| Module totalement isole | Silo de donnees | Rare qu'un module metier n'ait aucune connexion. Verifier avec le codebase context. |
|
|
59
|
+
| Duplication d'entite existante | Entite dupliquee | Si `Client` existe deja, ne pas creer `Customer`. Referencer l'existant. |
|
|
60
|
+
| Modification d'entite d'un autre module | Couplage fort | Utiliser des evenements (MediatR) plutot que des modifications directes. |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Mapping vers la consolidation
|
|
65
|
+
|
|
66
|
+
| Reponse | Alimente |
|
|
67
|
+
|---------|----------|
|
|
68
|
+
| Q5.1-Q5.4 | `consolidation.crossModuleInteractions[]`, `consolidation.sharedEntities[]` |
|
|
69
|
+
| Q5.5-Q5.8 | `consolidation.globalRiskAssessment[]`, `consolidation.permissionCoherence` |
|