Software di Schedulazione: esempi concreti e considerazioni

Software di Schedulazione
Ognuno di noi ha in testa un software di schedulazione!

È un sabato pomeriggio. Siete nel vostro supermercato preferito, e vi state avviando alla cassa con il carrello pieno zeppo. Ci sono quattro casse aperte, tutte con qualche carrello in coda. Avete un milionesimo di secondo per decidere dove dirigervi: stimate, per ogni cassa, quanto è lunga la coda, com’è riempito ogni carrello, e scegliete la cassa che pensate vi servirà per prima.

Tanto, al cliente prima di voi finirà la carta degli scontrini e i vostri calcoli saranno stati del tutto inutili. Ecco: questa è la schedulazione (inutilità compresa).

C’è di più: volete dirigervi alla stessa cassa esattamente in contemporanea ad un’altra persona, che ha fatto gli stessi vostri calcoli. Bisogna decidere chi ha la precedenza. Supponiamo che siate entrambi gentiluomini, e che vi affidiate alla regola di far passar avanti il più anziano. Anche questo è un tassello della schedulazione: definire una regola di priorità per risolvere i conflitti: non importa quale sia, basta che ce ne sia una per non prendevi a pugni (che, in fondo, è una regola come un’altra). Per introdurci pian piano alla terminologia, queste regole prendono il nome di “dispatching rules” (regole di carico).

Non vi basta?

Andiamo ancora avanti. Vostra moglie sta curiosando per le vetrine del centro commerciale: non volete aspettarla troppo, all’uscita del supermercato, né farvi aspettare troppo. Appena vi siete messi in coda, fate un calcolo approssimativo di quando sarete servito, in base a quanto sono riempiti i carrelli (quelli prima di voi e il vostro), e lo telefonate a vostra moglie. Ecco un altro tassello della schedulazione: dare un’idea di quando finirà (o incomincerà) la vostra pena.

Un supermercato futuribile potrebbe fare tutto questo da solo: lasciarvi girovagare per le corsie, per non togliervi il gusto di comperare anche qualche cosa che non vi serve e, arrivati alle casse, farvi lasciare il carrello in una zona di parcheggio. Un marchingegno leggerà gli RFID dei prodotti nel carrello, lo metterà in coda alla cassa più scarica (il carrello sarà di sicuro un AGV o qualcosa del genere, e la cassa sarà del tutto automatica), e su un visore in alto apparirà l’istante in cui ogni carrello uscirà dalla cassa.

Questo scenario si avvicina ancora un pochino di più alla schedulazione: c’è un sistema centrale che esegue una procedura uguale per tutti, con l’obiettivo di migliorare il servizio, riducendo le code. Se prima vi mettevate nella coda della vostra cassiera preferita, incurante che ci fossero altre casse libere, ci spiace: non potrete più farlo.

Tra l’altro, di cassiere non ce ne saranno più: vi andrà bene se avrete a che fare con un chat bot, che vi farà credere di avere a cuore le vostre esigenze.

L’agenda dei compiti

Vediamo un altro caso inerente al nostro software di schedulazione.

È domenica sera, e su un foglietto scrivete le attività (che da ora in poi, seguendo la terminologia specifica, chiameremo task), della settimana successiva, riportando, per ciascuna, la data entro cui deve essere eseguita (l’urgenza), il tempo che impiegherete per svolgerla, e la sua importanza (che stabilisce una priorità a pari urgenza).

Vi segnate anche, per ogni giorno, le ore che potrete dedicarvi: ad esempio otto ore da lunedì a giovedì e sei il venerdì. Si usa definire risorsa il soggetto che esegue un task (una persona, una squadra, una macchina), e capacità il periodo di tempo che può dedicarvi per ogni giorno. Voi siete quindi una risorsa che ha, il lunedì, una capacità di otto ore.

Dopo di ciò, in base a tutte queste informazioni, stendete una lista dei task da compiere, giorno per giorno, in modo da rispettare l’ordine delle urgenze e delle priorità, con accanto a ciascuno le ore in cui prevedete di iniziarlo e di finirlo.

Il lunedì incominciate a lavorare, eseguite via via i vari task, seguendo questa lista.

Software di Schedulazione
  • Pianificazione

Esaminando con attenzione quello che avete fatto, vi potete rendere conto di aver eseguito tre diverse attività. In una realtà aziendale di dimensioni poco più che minuscole sono normalmente svolte da uffici diversi.
La prima è la pianificazione: stabilite i task che dovete eseguire, per quando servono, e il tempo necessario per ciascuno di essi (quest’ultima informazione potrebbe essere derivata automaticamente dalla natura del task).

  • Schedulazione

La seconda è la schedulazione (svolta, ovviamente, da un relativo software di schedulazione), che a sua volta si divide in due passi: mettere in ordine i task da eseguire (in termini tecnici si chiama sequenziazione) e la datazione del loro inizio e della loro fine (la schedulazione vera e propria). La schedulazione fornisce sempre un risultato “fattibile”, in quanto ogni task occupa la risorsa, quando essa è disponibile, per il tempo necessario ad essere eseguito. Per questo motivo viene chiamata anche “schedulazione a capacità finita”. Accenniamo soltanto ad un altro procedimento, la “schedulazione a capacità infinita”.

Senza entrare più di tanto nel merito, essa assume che ogni task usufruisca di tutta la capacità della risorsa su cui deve essere eseguito. Sarebbe più corretto chiamarla “schedulazione a capacità illimitata”, nel senso che la risorsa non ha limiti nel servire i clienti: è come se si creasse, per magia, ad ogni arrivo, una nuova cassa; nessuno fa più coda, ma la occupa unicamente per il tempo per far leggere gli articoli e pagare.

Per la sua natura di massimo dettaglio, la schedulazione a capacità finita prende anche il nome di “schedulazione fine” (da cui, tra l’altro, deriva il nome dell’applicazione Fine.UP (software di schedulazione del Gruppo Sme.UP); dove si gioca sull’ambiguità tra il termine “fine” in italiano e in inglese: dichiaro di non esserne il responsabile).

  • Esecuzione

La terza è l’esecuzione vera e propria, e la sua registrazione: cancellate il task dalla lista, eventualmente segnando, accanto, il tempo impiegato. Può essere utile, dopo questa attività, rieseguire la schedulazione, dato che sono variati due elementi: è passato del tempo e sono stati eseguiti alcuni task, impiegando un tempo che potrebbe essere stato diverso da quello preventivato. È quindi possibile che varino le date dei task ancora da eseguire: questa nuova previsione si sostituisce alla precedente, essendo ovviamente più attendibile.

Un ulteriore e più drastico rimescolamento si verifica se inserite nel piano, durante la settimana, nuovi task con urgenza maggiore di quelli già presenti. Vedremo più avanti come sia possibile evitare questa situazione (naturalmente se la si ritiene una turbativa e non un’opportunità): si congelano i task già presenti, e si permette ai nuovi unicamente di accodarsi.

Considerazioni finali sul software di schedulazione

Forse qualcuno sarà rimasto stupito dal fatto che ho dichiarato “inutile” la schedulazione, ed ha interpretato questa affermazione come una battuta. È vero solo in parte, in quanto riflette un pensiero alquanto diffuso.

Nella quasi totalità delle aziende di produzione si utilizza quotidianamente la pianificazione materiali (l’MRP), che suggerisce cosa e quando produrre e acquistare, mentre la schedulazione è utilizzata da un numero assai minore. Questa scelta si basa su assunti sia veri sia falsi. È vero che, senza una disciplina di reparto, un controllo su ciò che vi si esegue, qualsiasi schedulazione rimane un esercizio intellettuale. È vero inoltre che una schedulazione corretta ha bisogno di una serie non trascurabile di informazioni e di un’elevata precisione dei dati, che sono comunque necessarie in altri ambiti: la costificazione dei prodotti, il controllo dell’avanzamento della produzione, la documentazione tecnica dei processi. Arrendersi di fronte a questa difficoltà significa accettare la cecità del proprio sistema informativo.

Cosa è dannoso?

È invece falsa la convinzione che la schedulazione in sé non sia eccessivamente importante, accontentandosi che in fabbrica “sanno” cosa fare prima, hanno in testa una forma di schedulazione “trasparente” che basta e avanza per portare avanti i task. Fare le cose giuste al momento sbagliato impedisce di fare quelle giuste al momento giusto.

La prova dell’utilità della schedulazione è data dal fatto che, una volta messa in atto, un’azienda diventa spesso “schedulocentrica”: la schedulazione diventa l’ingranaggio che fa muovere solidalmente la pianificazione e la produzione, contenendo regole di sequenziazione ben precise con la possibilità di accedere a informazioni ovunque nel sistema. Il suo mancato funzionamento, anche per un breve periodo (un giorno, talvolta addirittura qualche ora) mette in crisi l’azienda, fa lavorare in modo cieco, con il rischio estremo di fermare la produzione.

Da Wikipedia

In ultimo, vi risparmio di consultare Wikipedia. Il termine schedulazione, che proviene dall’inglese (to schedule, ovvero pianificare, programmare) ha una lontana origine latina: la schedula (in italiano foglietto) su cui appuntarsi le cose da fare.

Per chi volesse andare a fondo, capire gli strumenti, le strategie, le particolarità fino all’ultimo dettaglio, non ho che da consigliare la lettura del mio libro “La ricchezza degli oggetti – Parte seconda: le applicazioni per la produzione”, in uscita nei primi mesi del 2018 presso l’editore Franco Angeli.


Guido Galdini

Guido Galdini
Specialista Sme.UP ERP – Gruppo Sme.UP


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *