Chi non l’ha mai vissuto nella quotidianità di un progetto? Sei in una riunione, si parla, si discute, non si va avanti, ma non si capisce bene perché. Ti assale la sensazione di parlare lingue diverse. Ci possono essere molte ragioni, una delle più probabili è la mancanza di una comprensione comune dei termini.
Uno di questi termini è la parola configurazione, che secondo il contesto può avere significati molto diversi:
- Configurazione delle varianti
- Configurazione nel senso della gestione della configurazione
- Configurazione nel senso della parametrizzazione
E per completare la confusione: a volte, in un progetto o in un processo, ci si trova a dover gestire tutte e tre le interpretazioni contemporaneamente, e per di più sono anche in qualche modo collegate tra loro. Ma di questo parlerò più avanti.
Origine della parola
cōn-fīgere (latino) unire, inchiodare insieme
Il prefisso con- in latino significa «insieme». E figere, come si può intuire, significa «unire», «fissare», «fermare». Una «figura» non è quindi altro che qualcosa di «unito» 😉. E una configurazione è di conseguenza qualcosa di «messo insieme», o più precisamente, l’atto di unire.
In una configurazione, quindi, unisco singoli componenti per formare qualcosa di più grande. E, visto con un po’ di distanza, questo vale anche per tutte e tre le interpretazioni.
I diversi significati di «configurazione»
1. Configurazione delle varianti
Anche qui può aiutare un’occhiata al dizionario: in latino variare significa «colorare», «alternare», «variare di colore». La variante è quindi una determinata «colorazione» del mio prodotto, o la colorazione di un componente del mio prodotto. Ed è esattamente questo il senso della configurazione delle varianti: io (per esempio come cliente) unisco singoli componenti «colorati» (varianti) per formare un prodotto (unione = configurazione).
Vuoi un esempio? Sto configurando una variante di bicicletta. Il telaio lo vorrei nella «colorazione» bici da trekking da uomo, 54 cm. Qui «colorazione» non va intesa alla lettera, si intende la variante del telaio. Poi, per favore, il cambio nella variante a 21 marce, la sella in gel, e tutto questo in blu marino (questa volta la colorazione è anche letterale).
Voilà, abbiamo composto, a partire dalle singole varianti dei componenti, una (delle tante possibili) varianti di bicicletta — detto altrimenti, l’abbiamo «configurata» 👍.
A rigore, secondo me, in molti casi si dovrebbe parlare più propriamente di selezione di varianti che non di configurazione di varianti. Ma questo è un altro argomento, su cui di certo scriverò ancora in futuro 😉.
2. Gestione della configurazione (ad es. ISO 10007)
Chi interroga il motore di ricerca che preferisce trova diverse definizioni (ad esempio ISO 10007 o ANSI/EIA-649). Eccone una, per esempio, tratta dall’ANSI:
La gestione della configurazione è un processo di management per stabilire e mantenere la coerenza delle prestazioni di un prodotto, nonché delle sue caratteristiche funzionali e fisiche, con i requisiti, il design del prodotto e le informazioni operative durante tutto il ciclo di vita del prodotto.
La definizione ANSI mi piace molto, perché contiene affermazioni importanti:
- Si tratta di un processo di management
- Garantisce che il prodotto sia conforme ai suoi requisiti
- … e tutto questo per l’intero ciclo di vita del prodotto.
Indipendentemente dalla norma di riferimento, nella sostanza funziona sempre così: se siamo responsabili di un prodotto, dobbiamo prima stabilire quali «elementi» sono importanti per noi (i cosiddetti elementi di configurazione). Il concetto di elemento va inteso in senso ampio: non guardiamo solo ai componenti fisici (le parti) di un prodotto, ma anche a tutte le informazioni rilevanti nell’ambito dello sviluppo (e dell’intero ciclo di vita). Quindi requisiti, disegni, specifiche, ecc. — L’identificazione di questi elementi di configurazione rilevanti si chiama, nel linguaggio delle norme, opportunamente identificazione della configurazione. La configurazione è quindi l’insieme degli elementi di configurazione che abbiamo identificato nell’ambito dell’identificazione della configurazione. Chiaro fin qui? 😉
Ecco un esempio - ammetto anacronistico e poco digitalizzato, ma qui conta il principio:
Ingo, l’ingegnere responsabile di un produttore di biciclette, deve sviluppare una nuova bicicletta. Per avere una gestione della configurazione a regola d’arte, lui (o il suo apprendista Anton) si procura innanzitutto un raccoglitore con diverse sezioni, che potrebbero essere ad esempio:
- Requisiti
- ISO 4210 (norma per la costruzione di biciclette)
- Requisiti del reparto vendite (cosa vogliono i clienti)
- Specifica
- Telaio
- Sistema frenante
- Trasmissione/cambio
- Documenti di produzione
- Disegno di saldatura del telaio
- Istruzioni di montaggio
Con questo l’identificazione della configurazione sarebbe completata, la configurazione creata. Nelle singole sezioni vengono ora archiviate, poco a poco, le informazioni rilevanti attualmente valide. Nella sezione ISO 4210, quindi, la ISO 4210:2023, l’ultima versione della norma per la costruzione di biciclette. Poco più tardi, non appena i progettisti responsabili hanno terminato il loro lavoro, anche i disegni costruttivi del telaio, del freno, ecc.
Nel frattempo, Anton (l’apprendista) può fotocopiare una volta a settimana l’intero raccoglitore e archiviarlo (snapshot). Al più tardi quando lo sviluppo è concluso e l’ingegnere responsabile Ingo ha approvato il grado di maturità della specifica, il raccoglitore fotocopiato riceve, scritta a pennarello rosso, la dicitura «progettazione approvata» (baseline AS-DESIGNED).
Su come esattamente la gestione della configurazione garantisca che un prodotto soddisfi i suoi requisiti, e su cosa tutto ciò abbia a che fare con la traceability… scriverò ancora, un’altra volta!
3. Parametrizzazione di uno smart product
Impostare lo sfondo preferito nel sistema operativo Windows, adattare il sistema CAD alle esigenze della propria azienda, oppure inserire nel computer da bicicletta la dimensione della ruota perché la velocità venga indicata correttamente. Colloquialmente, anche tutto questo rientra nel termine «configurare». Per ricollegarlo all’origine della parola «configurazione»: si potrebbe dire che si uniscono i singoli interruttori e leve di regolazione che il prodotto ci offre.
Un termine forse migliore di configurazione, in questo caso, è parametrizzazione. Il mio prodotto (software) mi offre diversi interruttori e possibilità di impostazione, per ciascuno dei quali posso impostare un parametro. Nel caso della bici(computer) si tratta addirittura di un prodotto composto da elementi software ed elettromeccanici. Chi ha molto a che fare con Linux conoscerà i file *.conf (come Configuration), e qualcuno forse si ricorderà anche dei file .ini di Windows. Ma il principio è sempre lo stesso. Impostando gli interruttori si può influenzare il comportamento del software o del prodotto.
Mettiamo insieme (😉) quanto imparato
Nelle sezioni precedenti abbiamo visto che la parola «configurazione» può essere usata in contesti molto diversi. Nell’introduzione ho scritto che, per completare la confusione generale, i tre contesti possono anche presentarsi insieme in un progetto o in un processo. Come promesso, anche su questo qualche parola in più.
O meglio, prima un esempio:
Viktor del reparto vendite ha scritto fin dall’inizio nel capitolato, per l’ingegnere Ingo, che la bicicletta dovesse poter essere ordinata con un telaio da donna e uno da uomo, e inoltre in diverse misure di telaio. I dischi dei freni dovevano essere disponibili in tre misure diverse, e per il cambio il cliente doveva poter scegliere tra 21 e 27 marce. Et voilà, l’elemento di configurazione «telaio» della configurazione proveniente dalla gestione della configurazione è a sua volta soggetto a una configurazione (delle varianti) 😉
Il risultato, ovviamente, è che esistono disegni costruttivi diversi (= varianti) per i diversi telai, e di conseguenza anche codici articolo e numeri di materiale diversi, con cui questi diversi telai vengono identificati nel processo logistico.
Se il produttore di biciclette è molto scrupoloso, dopo che ho ordinato la mia bicicletta farà fare al suo apprendista Anton, nell’ambito della gestione della configurazione, una nuova fotocopia del raccoglitore e la farà intestare con AS-ORDERED by Julian Weyer. Tutto ciò che ho ordinato (bici da trekking da uomo, 54 cm, sella in gel, cambio a 21 marce, blu marino, ce lo ricordiamo) viene evidenziato con un pennarello nella mia baseline, mentre tutte le varianti che non ho ordinato vengono cancellate o tolte dal raccoglitore (se poi questa fotocopia del raccoglitore la vedrò mai io stesso, è un altro discorso, ma qui conta il principio).
Anche i singoli parametri (colloquialmente quindi la configurazione) del computer da bicicletta possono essere elementi di configurazione nel senso della gestione della configurazione. Vale a dire: prima della consegna della bicicletta, il montatore che ha effettuato il montaggio e la parametrizzazione archivia i dati dei parametri anche nel mio raccoglitore fotocopiato, in modo che sia sempre ricostruibile in quale stato ho ricevuto la mia bicicletta (AS-DELIVERED).
Suona complicato e confuso? In realtà, trovo tutto questo persino piuttosto logico e coerente — se si è consapevoli di questi diversi aspetti e si inquadra correttamente il contesto del progetto. In caso di dubbio, meglio chiedere una volta di più:
💬 Cosa intendi esattamente tu quando parli di configurazione?