Il tutto è più della somma delle parti. Infatti, il tutto (un sistema) comprende:
- Le parti (componenti)
- Le interazioni e le connessioni esplicite o implicite tra le parti
- Le caratteristiche risultanti dall’intero sistema.
Le singole parti possono solitamente essere sostituite con relativa facilità in seguito a un cambiamento, mentre a volte i collegamenti devono essere creati nuovamente. In un sistema cresciuto in maniera organica, i collegamenti tra i componenti risultano per lo più impliciti. In questo caso manca la descrizione necessaria per la ricostruzione dell’intero sistema e il passaggio diventa da complicato a impossibile.
Un esempio concreto: immaginatevi un sistema di database presente all’interno dell’infrastruttura IT di un provider. I dati archiviati al suo interno sono relativamente facili da migrare qualora si decida di passare a un altro servizio. Ma che cosa ne sarebbe degli altri componenti e delle relative connessioni, come le impostazioni, i permessi di accesso, la suddivisione del database su più server (sharding), ecc.? Siete a conoscenza della complessità dell’intero sistema, o meglio, siete in grado di comprenderla? Se sì, lo sforzo richiesto per riprodurla sulla nuova infrastruttura è sostenibile? In molti casi la risposta a questa domanda sarebbe no.
Avvalendoci del controllo di sicurezza come esempio, risulta più facile chiarire come le caratteristiche di sistema rendano complicato il cambio di fornitore. Un controllo di questo tipo prende in considerazione dei requisiti tecnici, organizzativi e contrattuali. Per attestare la sicurezza di un sistema si ricorre a una certificazione. Ma questa certificazione è collegata a un caso concreto, ossia il sistema com’è al momento del controllo. Dunque, nel caso in cui si decida di cambiare fornitore di servizio, il sistema viene costruito di nuovo e per questo motivo è richiesta una nuova certificazione. L’esborso aggiuntivo aumenta perciò i costi legati al passaggio, disincentivandolo e quindi contribuendo all’effetto lock-in.