I 4 miti della produttività

Foto di Sohrab Salimi
Sohrab Salimi
3 min. tempo di lettura
Questo contenuto è stato tradotto con IA. Vedi originale

Vuoi migliorare la produttività dello sviluppo software per te stesso, nel tuo team o nella tua organizzazione? Allora continua a leggere e sfateremo insieme alcuni miti.

Velocità versus qualità

Mito: Ogni progetto nello sviluppo software è un compromesso tra velocità e qualità.

Verità: Nella produttività dello sviluppo software non esiste alcun conflitto tra velocità e qualità.

"Quando la qualità è buona, lo sviluppo è più facile."
Greger Wikstrand

L'alta qualità consente l'alta velocità. Questa è la lezione appresa da molti metodi agili popolari, come lo sviluppo guidato dai test (TDD), l'integrazione continua e DevOps. Quando non ci si concentra abbastanza sulla qualità, si accumulano sempre più debiti tecnici. Abbastanza presto, l'intero budget viene assorbito dalla manutenzione e non rimane nulla per gli investimenti. Devi mantenere il tuo sistema (o l'ambiente di sistema) in uno stato in cui puoi effettivamente cambiare o migliorare qualcosa.

Se vuoi saperne di più sulla qualità e su come raggiungerla, ti consiglio il World Quality Report.

Competenze versus quantità

Mito: Gli sviluppatori software sono solo risorse e possono essere sostituiti quando necessario.

Verità: Per quanto riguarda la produttività nello sviluppo software, ci sono grandi differenze tra i singoli sviluppatori!

Ci sono differenze individuali tra i singoli sviluppatori. Supponiamo semplicemente che uno sviluppatore medio abbia una produttività di 1. Un programmatore scarso potrebbe avere una produttività di 0 o addirittura -1. Ciò significa che la prestazione di uno sviluppatore scarso e quella di uno mediocre possono effettivamente annullarsi a vicenda. D'altro canto, un programmatore eccezionale può avere una produttività di 10 o addirittura 30. Un tale sviluppatore può sostituire interi team di sviluppatori. Quindi sì, si tratta di avere le persone giuste.

Ci vuole tempo per costruire un team ad alte prestazioni nello sviluppo software. A meno che non ci si concentri esplicitamente sulla creazione di una cosiddetta Transactive Memory (memoria transattiva) nel team, ci vorrà fino a un anno perché questo miglioramento si realizzi da solo. Le persone non sono piante in vaso che possono essere spostate da un punto all'altro per ordine del giardiniere. Sono alberi con radici profonde. Le loro radici vengono ferite e lasciano un grande buco quando vengono trapiantati.

Agile versus Waterfall

Mito: In altri settori si lavora con successo con il metodo waterfall e quindi dovremmo farlo anche noi.

Verità: Dagli anni '50 è successo molto e nemmeno nell'edilizia si lavora più con il waterfall.

C'è una differenza fondamentale tra la produzione di massa (riproduzione) e i settori con molta più incertezza e lavoro di design, come nello sviluppo software o persino nel settore edile. Ma un momento, il settore edile non è il fiore all'occhiello del metodo waterfall? Tutto inizia con l'architetto, poi si prosegue con gli ingegneri, la costruzione dell'edificio e infine il suo utilizzo. Sì, questa era la situazione negli anni '50, quando la costruzione di edifici avveniva su terreni vergini. Ma le cose sono cambiate. Nell'edilizia oggi si tratta di ristrutturare, ripristinare e trasformare edifici già esistenti – e nessuno sa cosa si nasconda dentro un muro o sotto un pavimento. Anche il settore edile si sta muovendo verso un approccio più agile.

Naturalmente ci sono alcuni prerequisiti nell'Agile affinché tutto funzioni bene, ma non li si può eliminare ignorandoli. Se non stai già lavorando in modo agile, è estremamente importante per l'aumento della produttività e la risoluzione dei problemi diventare agili.

Cloud versus On-Premise

Mito: Il cloud è semplicemente composto da server nel cloud – non può migliorare la tua produttività.

Verità: Il cloud è uno dei più potenti motori per la produttività nello sviluppo software.

...e questo anche se consideri il cloud semplicemente come un modo per affittare server (Infrastructure-as-a-Service), il che di per sé offre già vantaggi significativi per la produttività nello sviluppo software. La capacità di ottenere un ambiente completamente nuovo in pochi secondi consente, ad esempio, la Continuous Integration e il Deployment e persino DevOps, il che può aumentare notevolmente la produttività. Ma il cloud è più di una semplice infrastruttura. Oggigiorno è solo questione di ore prima di poter iniziare a vendere i primi prodotti nel proprio negozio online dopo aver completato il design. E tutto questo grazie a Manufacturing-as-a-Service, Logistics-as-a-Service e persino eCommerce-as-a-Service. Lo stesso vale non solo per i prodotti fisici ma anche per lo sviluppo software.

Questo testo proviene dal blog di Greger Wikstrand ed è stato tradotto in italiano.

Parla con il nostro Assistente Parla con il nostro Assistente