188 lines
12 KiB
Markdown
188 lines
12 KiB
Markdown
# 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.
|