Quando cerchiamo di districarci nei meandri della coesione e dell’accoppiamento una delle cose che rischiano di fregarci è un’analisi frettolosa e superficiale di alcuni problemi che sembrano noti e facili a priori. Uno di questi è il non porre attenzione alla distinzione tra servizi e processi. Usiamo un esempio per meglio comprendere.
Shipping è un servizio?
Probabilmente no, molto probabilmente Shipping è un processo all’interno di un servizio, o contesto, più ampio, che è quello del magazzino. Ovvio anche che lo scenario è fondamentale, il mondo della logistica modella in maniera radicalmente diversa da quello degli alimentari, eppure entrambi spediscono.
Tornando al nostro esempio, se Shipping è un processo all’interno di un servizio le “leggi” che regolano l’accoppiamento e la coesione cambiano perché è lecito aspettarsi che i cambiamenti impattino tutto il contesto del magazzino, e di conseguenza anche le spedizioni.
Il processo di scoperta dei service boundaries è lungo, tortuoso e complesso, ma fondamentale. Se non fatto, o fatto male, porta inevitabilmente ad un risultato zoppo, a prescindere dalla qualità del codice che possiamo scrivere.