Archivi categoria: software

Agilità vera e falsa

Agilità vera e falsa. Ora che essere agili è di moda, due riflessioni su cosa implica essere agili davvero.

La prima, stringata e acuta, su The Economist del 5 luglio 2018: The fashion for agile management is spreading, si diffonde la moda del management agile.

Con un commento arguto sull’uso del termine Scrum nel lavorare in gruppi:

Somehow, the teams concept acquired the name “scrum”. This moniker was clearly bestowed by someone who had never seen a real rugby game. An actual scrum involves 16 people pushing hard, getting nowhere and usually ending up collapsing or being penalised by the referee for foul play.

In qualche modo, il concetto di lavoro in gruppo ha acquisito il termine “scrum”. Questo termine è stato chiaramente conferito da qualcuno che non aveva mai visto una vera partita di rugby. Una mischia (scrum) vera coinvolge 16 persone che spingono forte, non arrivano da nessuna parte e di solito finiscono per cascare giù o essere penalizzate dall’arbitro per il gioco scorretto.

La seconda riflessione, più articolata e approfondita, viene da Martin Fowler, uno tra i firmatari del Manifesto Agile del 2001,  nell’intervento The State of Agile Software in 2018 (dove si può leggere la trascrizione di una presentazione effettuata nella conferenza Agile Australia).

On the surface, the world of agile software development is bright, since it is now mainstream. But the reality is troubling, because much of what is done is faux-agile, disregarding agile’s values and principles. The three main challenges we should focus on are: fighting the Agile Industrial Complex and its habit of imposing process upon teams, raising the importance of technical excellence, and organizing our teams around products (rather than projects). Despite the problems, the community’s great strength is its ability to learn and adapt, tackling problems that we original manifesto authors didn’t imagine.

In superficie, il mondo dello sviluppo agile del software è brillante, dal momento che è ormai accettato ovunque. Ma la realtà è preoccupante, perché gran parte di ciò che viene fatto è finto-agile, ed ignora i valori e i principi dell’agile.
Le tre principali sfide su cui dovremmo concentrarci sono: la lotta contro il Complesso Industriale Agile e l’abitudine di imporre dall’esterno i processi ai gruppi di lavoro; aumentare l’importanza dell’eccellenza tecnica; organizzare i nostri team in base ai prodotti (piuttosto che ai progetti).
Nonostante i problemi, la grande forza della comunità è la sua capacità di apprendere e adattarsi, affrontando problemi che noi autori del manifesto originale non immaginavamo.

Da leggere.

La continua evoluzione

Nel mondo dei libri fisici esistevano le edizioni.

Non è il mondo del web, dove le modifiche avvengono a ciclo continuo, e neppure quello delle app. Con gli aggiornamenti automatici delle applicazioni, i cambi di versione del software sono diventati poco percepibili, dal punto di vista degli utenti. E anche i libri digitali e le opere multimediali possono o potrebbero venire modificati e aggiornati in automatico (anche se è sperabile che ciò non accada senza il consenso di autori e fruitori).

Problema serio, per chi debba gestire gli archivi o studiare le opere basandosi sulla loro evoluzione nel tempo.

“The Web is about rapid evolution. It’s not about new editions. It is rather about an eternal beta and continuous flow. This is not print anymore. That age is over.” (Gerry McGovern).

Software e autismo

“Chi fa selezione del personale ha notato che le qualità mentali tipiche di un buon programmatore assomigliano a quelle che portano a diagnosticare la sindrome di Asperger: un interesse ossessivo per soggetti ben delimitati; una passione per i numeri, i pattern e le macchine; una passione-dipendenza per task ripetitivi; l’assenza di sensibilità per gli aspetti sociali.”

“In praise of misfits”, The Economist, June 2nd 2012

Software medico

“Più di metà degli apparecchi medici venduti in America (il maggior mercato di strumenti medici) è basata su software, spesso su molto software. Il software di un pace-maker può contenere oltre 80.000 righe di codice, un infusore di farmaci 170.000, e un apparato per la risonanza magnetica oltre 7 milioni di righe di codice.”

L’affidabilità di questo software è ovviamente critica. Uno studio condotto su apparati venduti negli USA dal 1999 al 2005 ha scoperto che un terzo di tali apparati sono stati tolti dal servizio per problemi legati al software.

Una strada per rendere il software medico più affidabile potrebbe essere l’open source, per permettere una migliore visibilità e la possibilità di esaminare il codice. Purtroppo, i regolamenti di approvazione del software stabiliti dagli enti di validazione (come la FDA, la Food and Drug Administration degli USA) sono fatti in modo da scoraggiare il ricorso alle pratiche collaborative tipiche dell’open source.

“When code can kill or cure”, The Economist, Technology Quarterly, June 2nd 2012.