Se non hai familiarità con Produzione snella e le relative metodologie, 5S potrebbe essere un po' un mistero per te. Prima di immergermi nello spiegarlo in dettaglio, e come può essere applicato con ottimi risultati allo sviluppo del software, vale la pena vedere da dove viene. Come probabilmente sai, I processi e le idee di Toyota sono diventati famosi per un motivo. Sono riusciti a ottenere risultati sorprendenti in un settore molto competitivo, con molte meno risorse rispetto alla concorrenza. Di conseguenza, la gente voleva sapere come l'hanno fatto. Una delle armi segrete di Toyota era il 5S, che hanno adottato da Hirano in Giappone e ne hanno fatto uno proprio. Al giorno d'oggi, è una parte fondamentale delle metodologie snelle e aiuta le aziende di tutto il mondo. Con uno strumento così potente potresti pensare che ci sarebbe molta complessità. tuttavia, 5S è in realtà abbastanza semplice.

Cosa significano le 5S?

5S comprende 5 parole, ciascuno che inizia con S – Ordinare, Raddrizza/Imposta in ordine, Splendore, Standardizzare e sostenere. sì, c'erano originariamente parole giapponesi (Seiri, Seitone, In piedi, Seiketsu e Merda), ma lavoriamo con le versioni inglesi. È molto più facile!

Ognuna di queste parole ha un'idea di come migliorare il lavoro che stiamo facendo per aumentare la nostra efficienza ed efficacia. Sembra promettente, Giusto? Ma, come possono queste idee essere applicate allo sviluppo del software? Diamo un'occhiata più in dettaglio.

Il 5S per il software

Ordinare – Il primo passo in 5S è rimuovere qualsiasi elemento indesiderato dall'area di lavoro. In un ambiente ingegneristico ciò significherebbe strumenti e altri oggetti sul posto di lavoro. Per software, questo è più probabile che si applichi all'area di lavoro del tuo computer.

Per esempio, puoi ripulire il desktop e il file system, rimuovendo tutti gli elementi indesiderati in modo da poter trovare più facilmente ciò che stai cercando. Rimuovere il disordine in ogni modo possibile, porta sempre a un risultato più efficiente in qualsiasi tipo di lavoro. Sono sicuro che l'hai sperimentato al lavoro oa casa.

Potresti anche applicare questa idea al tuo IDE di codifica o ad altri strumenti che utilizzi nello sviluppo del software, come sviluppatore o project manager.

  • Rimuovi progetti o file indesiderati che non sono più necessari o pertinenti
  • Elimina qualsiasi codice morto che non è stato utilizzato in un progetto (ad esempio, non era impegnato nel sistema di controllo delle versioni)
  • Rimuovi il codice commentato che non è più utilizzato (le vecchie versioni vengono comunque memorizzate)

Come potete vedere, l'idea è abbastanza semplice, ma i risultati possono essere potenti. Dopotutto, tenendo tutto chiaro, pulito e ben ordinato porta sempre a un lavoro migliore.

 

Raddrizzare – Questo si riferisce all'ordinamento degli articoli in modo che siano più facili da trovare e più veloci da lavorare. L'idea originale doveva essere applicata all'allineamento e alla disposizione degli strumenti sul posto di lavoro, ma possiamo applicarli anche al nostro mondo di computer virtuale.

Potresti iniziare mantenendo i tuoi strumenti più importanti e comunemente usati sul desktop del tuo computer o creare scorciatoie per risparmiare tempo quando completi le tue attività.

Scavando un po' più a fondo, i file e il codice dovrebbero essere organizzati in modo tale da essere facilmente “raggiungibili”. Non raggruppare tutta la documentazione in una cartella denominata "Documentazione", dividerlo in progetti e argomenti rilevanti. L'ordine porta all'efficienza in tutto ciò che facciamo.

Lo stesso vale per il codice ovviamente con cose come gli spazi dei nomi, e il posizionamento logico e l'ordinamento del codice (metodi, oggetti, gerarchia ecc).

Queste piccole cose potrebbero richiedere del tempo per diventare un'abitudine all'inizio, ma quando torni a trovare qualcosa qualche giorno, settimane o addirittura anni dopo sarai felice di aver dedicato del tempo a sistemare il tuo spazio di lavoro.

 

Splendore – Mantenere i tuoi strumenti funzionanti e rimuovere la ruggine o lo sporco era una cosa intelligente da fare in un'officina di ingegneria. Ma come puoi applicarlo nello sviluppo del software?

L'area più grande a cui si applica è la pulizia del codice e il refactoring. Ovviamente, il refactoring può essere applicato anche alla documentazione e ai processi, se ci pensi.

Il refactoring del codice è qualcosa che non vorremmo mai fare nel software, ma sappiamo che è un bene per noi. Un po' come mangiare le nostre verdure da bambini.

Man mano che il numero di file e oggetti aumenta in un progetto o in un software, così anche la complessità e l'inefficienza di quel codice legacy.

Così, invece di ignorarlo, dovresti sempre lasciarti un po' di tempo in ogni progetto per migliorare il tuo codice attraverso il refactoring. Aggiungi un'interfaccia a quel codice comunemente usato, o crea un nuovo oggetto per memorizzare le azioni utilizzate più di frequente. Sai come fare il tuo lavoro, ma tieni a mente queste idee durante il ritmo frenetico dello sviluppo agile del software?

 

Standardizzare – Questa è la fase quattro del processo 5S, e per molti versi prende tutto il precedente 3 in considerazione. L'idea qui è di standardizzare tutto ciò che fai attraverso procedure comuni.

Così, piuttosto che fare solo il primo 3 SS una volta, dovresti avere un processo che descriva come queste attività dovrebbero essere eseguite e mantenute su base regolare. Altrimenti, come sappiamo tutti, il decadimento ricomincerà e avrai sprecato il tuo tempo.

Ciò significa che qualcuno dovrebbe documentare i processi che stai utilizzando

  • per organizzare la struttura del codice
  • per eseguire il refactoring del codice
  • per scrivere commenti nel codice

Potrebbe anche significare scrivere un documento introduttivo su quali strumenti vengono utilizzati dai team di sviluppo o di progetto, come configurarli e dove memorizzarli sul desktop (per la massima efficienza).

Documentazione e processi sono la chiave per ottenere sempre risultati efficienti e ripetibili in qualsiasi attività.

 

Sostenere – L'ultima S è forse la più importante. È l'idea di garantire che l'intera metodologia 5S non venga dimenticata nella routine quotidiana.

Ciò significa che devono essere effettuati audit per verificare tali processi, le procedure e la qualità vengono mantenute in ogni momento. Verificare inoltre che le precedenti 4S siano effettivamente svolte con la dovuta diligenza.

È sempre il caso che questo tipo di attività (documentazione, processi, recensioni, audit) appaiono troppo dispendiosi in termini di tempo e irrilevanti, quindi vengono facilmente ignorati o dimenticati. Ecco perché quest'ultimo pezzo è così critico. Senza esso, puoi dimenticarti persino di iniziare con l'approccio 5S per cominciare.

 

Come ora puoi vedere, molti degli approcci utilizzati nel mondo dell'ingegneria sono facilmente applicabili in qualsiasi scenario aziendale, incluso il mondo del software. Le idee sono semplici, ma i risultati possono essere incredibili. Così, perché non prendi queste idee e vedi come puoi applicarle oggi allo sviluppo del tuo software. Potresti essere sorpreso dalla rapidità con cui tu e il tuo team li abbracciate, soprattutto una volta visti i risultati!

Circa l'autore

Reese Bourgeois è l'amministratore delegato di Consulenza di flusso, un consorzio di consulenti esperti con comprovata esperienza nell'aiutare le organizzazioni a migliorare notevolmente la leadership e i processi aziendali.

Un post sul blog rappresenta l'opinione personale degli autori
e potrebbe non coincidere necessariamente con le politiche ufficiali di Nesma.
Condividi questo post su:

1 Commenti

Lascia un commento
  1. Ciao Reese, grazie per il tuo blog. Dici che gli approcci 5S si traducono in una maggiore produttività e i risultati possono essere incredibili. È possibile supportarlo con dati e/o analisi? Ad esempio, quale sarebbe l'effetto medio su un team di sviluppo in termini di miglioramento delle ore per punto funzione dopo l'adozione degli approcci 5S?

lascia un commento