Skip to main content

AS-IS e gap analysis

Sintesi

Il POC copre già anagrafiche dipendenti e progetti, associazioni, import Excel/presenze, allocazione mensile, consolidamento, export e un primo forecast. Non è però ancora pronto per un uso multiutente/multicliente: lo schema di dominio non collega i record all'organizzazione e le API controllano l'autenticazione senza applicare sistematicamente il tenant scope.

Inventario AS-IS

AreaEsistenteLimite principale
DipendentiAnagrafica, sede, area, manager, titolo di studio, contratto, orario, livello, date rapporto, costo correnteProfilo HR incompleto; la sede non è un catalogo né è storicizzata; ruoli non separati; nessuna azienda legale; nessun collegamento all'account utente; ferie assenti
Costicurrent_hourly_cost_eur e tabella employee_cost_historyVa definita la fonte autorevole, impedita la sovrapposizione degli intervalli e usato il valore valido alla data del calcolo
ProgettiAnagrafica, periodo, budget, finanziatore, percentuali, costi standard, associazioni risorseMancano sede opzionale strutturata, compatibilità geografica progetto-risorsa, limite ore per risorsa, regole complete di costo e governance dei cambiamenti
Enti finanziatoriEntità funding_bodiesTariffe standard non sono modellate chiaramente per ente + macro-livello + intervallo di validità
ConsuntivoPresenze giornaliere/mensili, allocazioni, run di calcolo, risultati e consolidamento immutabileIl “mese consegnato” non è distinto in modo esplicito dal cursore consuntivo; ricalcolo retroattivo e propagazione non sono completi
ForecastTarget mensili, associazioni, costo forecast, ricalcolo per progetto e globaleNon considera ferie/monte ore, copertura globale, over-allocation e limite ore per progetto/risorsa come problema unico
Import/exportWorkbook, staging, diff, apply, import presenze, export dipendenti/progetti/timesheetParser e mapping sono ancora vertical-specific; manca un contratto adapter/versione formato realmente estendibile
Auditaudit_log generico e metadati sui runCopertura e correlazione insufficienti per spiegare ogni variazione e ricalcolo
OrganizzazioniTabelle placeholder rendicontazione.organizations e organization_membersNon referenziano l'identità di piattaforma e non sono collegate alle entità operative
AutorizzazioneUtente autenticato richiesto dalle APINessun filtro tenant uniforme; rischio di lettura/scrittura cross-organization

Gap funzionali verso il TO-BE

RequisitoStatoGap da chiuderePriorità
Condivisione dati tra utenti della stessa organizzazioneAssenteTenant key, risoluzione organizzazione, policy API/DB, migrazione dati, test negativiP0
Isolamento tra organizzazioniAssenteDeny-by-default e vincoli sulle relazioni cross-tenantP0
Mini gestionale HRParzialeProfilo completo, ruoli, macro-livelli, società, reporting line, storico rapportoP1
Accesso dipendente e piano ferie self-serviceAssenteLink dipendente-account, permessi, workflow ferie, calendario e auditP1
Collaboratori P. IVAAssenteTipo risorsa, organizzazione “Liberi professionisti”, ore contrattuali e bypass forecast/consuntivo automaticoP1
Import/export pluggabiliParzialeCanonical model, adapter registry, versioning, validation report, idempotenzaP1
Enti e tariffe storicheParzialeTariffe per macro-livello e validità, regola standard/reale deterministicaP1
Sedi e compatibilità progetto-risorsaAssente/parzialeCatalogo sedi, storico sede dipendente, sede opzionale progetto e vincolo sulla cittàP1
Correzione retroattivaParzialeDirty range, ricalcolo in cascata, versioni e protezione mesi consegnatiP1
Doppio cursore temporaleParzialeactual_through_month separato da delivered_through_monthP1
Forecasting vincolatoParzialeDisponibilità, ferie, copertura, capacità, 1720 configurabile, infeasibility reportP1/P2
Hardening commercialeAssente/parzialeSLO, backup/restore, osservabilità, security review, migrazioni e runbookP2

Debito strutturale prioritario

  • Identificativi utente non omogenei (bigint in alcune tabelle contro ID testuali nell'identità di piattaforma).
  • Tabelle globali senza organization_id e chiavi uniche non tenant-aware.
  • rendicontazione-service contiene route, parser, import, repository, allocazione ed export nello stesso deployment e con confini ancora deboli.
  • Scritture e calcoli sincroni possono diventare fragili con ricalcoli globali.
  • Lo stato operativo è globale anziché per organizzazione.
  • Il costo corrente duplicato sul dipendente può divergere dallo storico.

Rischio se si sviluppano prima le feature

Aggiungere ferie, società, tariffe o nuovi formati prima del tenant scope moltiplicherebbe tabelle e endpoint da migrare, aumentando sia il rischio di data leak sia il costo della bonifica. Per questo la Fase 0 organizzazioni è un gate di ingresso per tutto il resto.