Files
davideandClaude Sonnet 5 4441fa2cd1 Aggiunge architettura.md e blueprint.md, sostituisce la proposta CSV con le domande cliente
Ricostruisce architettura e blueprint da software.old adattandoli al repository, verificati sulle fonti. Elimina la proposta CSV mai inviata e la sostituisce con invii/2026-09-27_domande-cliente_v0.4.md. Allinea versioni e registro modifiche di richiesta.md, workflow.md, domande-cliente.md e indice-documenti.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-27 19:13:30 +02:00

189 lines
12 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Blueprint di progetto
**Progetto:** Gestionale per enti del Terzo Settore
**Documento:** `blueprint.md`
**Versione:** 0.4.2 · **Data:** 27/09/2026 · **Stato:** Bozza senza stime; uso interno
**Allineato a:** `richiesta.md` v0.4 · **Schema di versione:** vedi `indice-documenti.md`
**Cosa contiene:** come si organizza la realizzazione: prerequisiti, pacchetti di lavoro (P) con le dipendenze, tappe di collaudo interne (T), rischi di pianificazione. È la base per stimare le ore del preventivo, stima non ancora fatta (§6). Cosa si costruisce è in `richiesta.md`, come si costruisce in `architettura.md`, i costi ricorrenti in `costi-ricorrenti.md`.
---
## 1. Prerequisiti
### 1.1 Prima di iniziare lo sviluppo
| Prerequisito | Perché blocca | Rif. |
|---|---|---|
| Vincoli del bando su budget e date | Dicono se perimetro e sequenza del §4 sono compatibili; senza, il piano può essere da rifare | ⚖️ C12 |
| Requisiti approvati (v1.0) e procedura per le modifiche | Senza un punto fermo ogni richiesta nuova entra nel lavoro senza stima | Q18 |
| Valutazione d'impatto, se serve | Va fatta prima dello sviluppo e può imporre misure che cambiano la base applicativa (P2) | ⚖️ C13 |
| Stack applicativo | Serve per impostare il progetto (P1) | B1.10 |
### 1.2 Prima di un singolo pacchetto
Non bloccano l'avvio, ma fermano il pacchetto indicato se arrivano in ritardo.
| Serve | Per | Rif. |
|---|---|---|
| Numero di enti | Dimensionare la produzione (P12) | Q1 |
| Fase delle circolari | P9 in fase 1 o in fase 2 | Q26 |
| Qualifica e sezione RUNTS: uno o due campi | Scheda dell'ente (P4) | Q25 |
| Tipo di firma | Firma reale (P11); fino ad allora firma simulata | Q4 |
| Conservazione a norma o archivio interno con marca temporale, e a nome di chi | Archiviazione definitiva dei libri (P7, P11) | Q9; ⚖️ C4, C5, C6 |
| Estratti conto PDF | Importazione (P8) | Q10 |
| Fattura elettronica | Proforma o integrazione (P6) | Q5 |
| Schema dei progetti e formato di esportazione | Tutto M6 (P10) | Q13 |
| Modo di lavoro condiviso | M6 e M7 (P10, P13) | Q19 |
| Materiali del cliente: modelli di verbale e circolare, estratto conto di esempio per banca, schema del progetto, tariffe orarie | P7 e P9, P8, P10, P14 | `domande-cliente.md` §2 |
| Sezioni del bilancio sociale, valore delle ore di volontariato | Fase 2 (P13, P14) | Q14, Q15 |
---
## 2. Pacchetti di lavoro
La colonna "Ore" resta vuota fino alla stima (§6).
### 2.1 Avvio
| # | Pacchetto | Contenuto | Rif. | Dipende da | Ore |
|---|---|---|---|---|---|
| P1 | Impianto del progetto | Repository, test automatici, rilascio automatico, ambienti di test e produzione in container, backup, monitoraggio | `architettura.md` §8; RT-13, RT-15, RT-16 | B1.10 | ⏳ |
| P2 | Base applicativa | Accesso con seconda verifica, utenti di studio ed ente, ruoli e permessi, separazione per ente con row-level security, registro delle operazioni, notifiche, lavori in background e pianificatore, archivio file con antivirus | `architettura.md` §3–5, §7; RT-1, RT-2, RT-4, RT-9, RT-10 | P1, C13 | ⏳ |
| P3 | Componenti condivisi | Flusso di approvazione, procedura guidata a sezioni, generazione di PDF e Word, firma simulata, tabelle di configurazione | `architettura.md` §3; RT-3, RT-5, RT-7 | P2 | ⏳ |
### 2.2 Fase 1
| # | Pacchetto | Contenuto | Rif. | Dipende da | Ore |
|---|---|---|---|---|---|
| P4 | M2 Anagrafica enti | Scheda dell'ente con le liste chiuse (qualifica, sezione RUNTS, attività art. 5 e 6) | RF-2.1–2.14 | P2 | ⏳ |
| P5 | M3 Anagrafica stakeholder | Schede persona con più ruoli, controllo dei duplicati, conteggi per M2 | RF-3.1–3.3, W3 | P4 | ⏳ |
| P6 | M1 Gestione cliente | Catalogo, offerte, firme, scadenziario, proforma, alert | RF-1.1–1.9, W1, W2 | P3, P4 | ⏳ |
| P7 | M4 Libri sociali | Libro soci, registro volontari, verbali, flusso di approvazione, archiviazione, correzioni come voci collegate | RF-4.1–4.7, W4 | P3, P5 | ⏳ |
| P8 | M5 Contabilità | Calendario e alert, caricamenti, importazione con mappatura, imputazione sul Modello D, rendiconto, relazione illustrativa | RF-5.1–5.7, W5 | P3, P4 | ⏳ |
| P9 | M8 Circolari | Scrittura, scelta dei destinatari, invio via email e nell'app, stato di lettura | RF-8.1–8.2, RF-1.10, W7 | P2, P4 | ⏳ |
| P10 | M6 Progettazione | Procedura guidata a sezioni, lavoro condiviso, esportazione | RF-6.1–6.5, W6 | P3, P4, Q13 | ⏳ |
| P11 | Servizi esterni reali | Firma del fornitore (sandbox negli ultimi 40 giorni), marche temporali via API, conservazione a norma se richiesta da Q9 | RT-5, RT-6; `costi-ricorrenti.md` §3, nota 3 | P6, P7, Q4, Q9 | ⏳ |
| P12 | Messa in produzione | Server dimensionato, account dei fornitori intestati a Davide, contratti sul trattamento dei dati, prova di ripristino | RT-11, RT-13, D10; ⚖️ C1 | P8–P11, T4 | ⏳ |
### 2.3 Fase 2
| # | Pacchetto | Contenuto | Rif. | Dipende da | Ore |
|---|---|---|---|---|---|
| P13 | M7 Rendicontazione sociale | Procedura guidata precompilata con i dati di M2, M3 e M5 | RF-7.1–7.4, W8 | P3, P5, P8, Q14, Q19 | ⏳ |
| P14 | M9 Valutazione volontariato | Tariffe per attività, time sheet, valorizzazione delle ore | RF-9.1–9.4, W9 | P3, P5, Q15 | ⏳ |
### 2.4 Per tutto il progetto
| # | Pacchetto | Contenuto | Rif. | Dipende da | Ore |
|---|---|---|---|---|---|
| P15 | Collaudo con il cliente | Preparazione e conduzione delle tappe (§3), validazione delle ipotesi 🔸, correzioni che ne derivano | `richiesta.md` §7 | Ogni tappa | ⏳ |
| P16 | Documento di consegna | Accessi, configurazioni, procedure operative (rilascio, ripristino, fornitore che non risponde) | RT-15; `architettura.md` §8.2 | P12 | ⏳ |
| P17 | Passaggio dei servizi al cliente | Trasferimento di account, dominio, backup e contratti a fine primo anno | RT-15, D11, B1.9 | P16, Q23 | ⏳ |
| P18 | Gestione del progetto | Incontri, gestione delle richieste di modifica; 🔸 supporto alla rendicontazione del bando | Q18; ⚖️ C7 | — | ⏳ |
---
## 3. Tappe di collaudo interne
Rilasci intermedi **nell'ambiente di test, con dati finti** (RT-10), per far provare il software al cliente mentre si sviluppa. **Non cambiano le fasi** concordate (fase 1 e fase 2, `richiesta.md` §2): servono a validare presto le ipotesi 🔸, quando correggerle costa meno. Le modifiche alla struttura dei dati che ne derivano passano da migrazioni (D12).
| # | Tappa | Pacchetti | Cosa valida il cliente |
|---|---|---|---|
| T1 | Base e anagrafiche | P1–P5 | Accesso, separazione tra enti, schede ente e persona; ipotesi RF-2.13–2.14 e RF-3.3 |
| T2 | Acquisizione e libri sociali | P6, P7 | W1, W2 e W4 con firma simulata; ipotesi RF-1.1 e passi 🔸 di W1, W2, W4 |
| T3 | Contabilità e circolari | P8, P9 | W5 e W7; ipotesi RF-5.1 e passi 🔸 di W5, W7 |
| T4 | Progettazione e servizi reali | P10, P11 | W6, firma reale in sandbox; collaudo finale della fase 1, prima di P12 |
| T5 | Fase 2 | P13, P14 | W8 e W9 |
⚠️ Fino a P11 la firma è simulata e **non ha valore legale**: nessun uso reale del software (offerte vere, libri sociali ufficiali) prima della messa in produzione (P12). Va detto al cliente alla prima tappa.
---
## 4. Ordine e dipendenze
```mermaid
flowchart LR
subgraph Avvio
P1[P1 Impianto] --> P2[P2 Base] --> P3[P3 Componenti]
end
subgraph F1[Fase 1]
P4[P4 M2] --> P5[P5 M3]
P6[P6 M1]
P7[P7 M4]
P8[P8 M5]
P9[P9 M8]
P10[P10 M6]
P11[P11 Servizi reali] --> P12[P12 Produzione]
end
subgraph F2[Fase 2]
P13[P13 M7]
P14[P14 M9]
end
P2 --> P4
P2 --> P9
P3 --> P6 & P7 & P8 & P10
P4 --> P6 & P8 & P9 & P10
P5 --> P7
P6 & P7 --> P11
P8 & P9 & P10 --> P12
P5 & P8 --> P13
P5 --> P14
Q13([Q13 schema progetti]) -.-> P10
Q4Q9([Q4 · Q9]) -.-> P11
```
**Perché questo ordine:**
- **M2 per primo:** ogni dato appartiene a un ente (RT-1); senza schede ente non si prova nient'altro.
- **M3 prima di M4:** libro soci e registro volontari prendono i dati dalle schede persona (RF-3.3 🔸).
- **M1 dopo i componenti condivisi:** usa la firma (simulata) e la generazione dei documenti.
- **M5 e M8 non dipendono da M4:** se M4 si ferma su Q9 o C6, si va avanti con loro.
- **M6 in fondo alla fase 1:** lo schema dei progetti non esiste ancora (RF-6.5, Q13); è il pacchetto più esposto ai ritardi del cliente.
- **Servizi reali (P11) il più tardi possibile:** la sandbox di firma è gratuita solo per 40 giorni (`costi-ricorrenti.md` §3, nota 3).
- **M7 dopo M3 e M5:** ne estrae i dati (RF-7.2), quindi la loro struttura deve essere stabile.
Con un solo sviluppatore i pacchetti vanno in sequenza; il diagramma serve a sapere cosa si può anticipare quando un pacchetto si ferma.
---
## 5. Rischi di pianificazione
I rischi generali sono in `domande-cliente.md` §3; qui ci sono solo quelli legati all'ordine e ai tempi.
| Rischio | Effetto | Come si riduce |
|---|---|---|
| Schema dei progetti (Q13) in ritardo | P10 fermo, fase 1 non chiusa | Data di consegna dei materiali nel contratto; M6 in fondo alla fase 1 |
| Date del bando (C12) incompatibili con la sequenza | Perimetro da ridurre o fase 2 fuori dal bando | C12 prima dell'incontro con il cliente |
| Integrazione della firma reale più lunga di 40 giorni | +104 € per ogni mese di abbonamento anticipato (`costi-ricorrenti.md` §3, nota 3) | Collaudo con firma simulata (T2); P11 subito prima di P12 |
| Conservazione a nome di ogni ente o senza API (C6, Q9) | P7 e P11 cambiano (più archivi o un passo manuale) | Chiudere C6 prima del preventivo |
| Valutazione d'impatto (C13) che chiede misure non previste | P2 da rifare in parte | C13 prima di P2 |
| Ipotesi 🔸 smentite tardi | Lavoro da rifare | Tappe T1–T5 (§3) |
---
## 6. Stime (da fare)
La colonna "Ore" del §2 si compila nel passo successivo, insieme a Davide:
1. per ogni pacchetto: ore minime e massime, l'assunzione usata e il dato che la verifica;
2. i pacchetti più incerti si stimano sull'ipotesi dichiarata: P10 e P13 sull'opzione (a) di Q19 (B1.2), P11 sul tipo di firma indicato da Q4 o, senza risposta, su quello più probabile, P7 senza conservazione per ogni ente;
3. le tariffe orarie le decide Davide;
4. i costi ricorrenti sono già calcolati a parte (`costi-ricorrenti.md`).
Prima della stima vanno decise anche B1.11 (guida d'uso e formazione) e B1.12 (correzione dei difetti nel primo anno): nessun requisito nelle fonti, ma cambiano il preventivo.
---
## Registro delle modifiche
| Versione | Data | Allineato a | Modifiche |
|---|---|---|---|
| 0.4 | 27/09/2026 | `richiesta.md` v0.4 | Prima stesura, ricostruita da `blueprint-progetto.md` e `mvp.md` della cartella `software.old` (24/09/2026). Rispetto all'originale: tolte le stime in settimane e il diagramma temporale (cifre senza dati a supporto; la stima si fa al §6); moduli e fasi allineati a `richiesta.md` v0.4 (circolari M8 in fase 1, M9); prerequisiti riferiti alle domande e alle verifiche attuali (Q, C, B); l'MVP diventa una serie di tappe di collaudo interne, che non cambiano le fasi concordate |
| 0.4.1 | 27/09/2026 | `richiesta.md` v0.4 | Verifica sulle fonti: la conservazione digitale è richiesta da [D], quindi in §1.2 e P11 si sceglie solo tra conservazione a norma e archivio interno (prima "sì o no") |
| 0.4.2 | 27/09/2026 | `richiesta.md` v0.4 | Nome di M3 allineato a `richiesta.md` v0.4.4; aggiunte in §1.2 le domande Q25 e Q26 |
---
## Stato
- **Fase corrente:** analisi dei requisiti; blueprint in bozza v0.4.2, senza stime.
- **Decisioni prese:** D1–D13 (`richiesta.md` §7). Ordine dei pacchetti e tappe sono proposte 🔸.
- **Prossimo passo:** C12 con il commercialista; scelta dello stack (B1.10) e di B1.11, B1.12; poi stima delle ore per pacchetto.