analisi-disegno.com
Agile è un termine, e come tutti i termini si presta ad essere fuorviato.
Da quando, nel 2001, è stato pubblicato il Manifesto Agile, i fraintendimenti su cosa sia lo sviluppo software agile si sono sprecati.
Agile, nello sviluppo software, non significa assenza di pianificazione e di documentazione. Agile significa essere in grado di produrre e rilasciare velocemente sistemi iniziali basilari, funzionanti e ben testati. Ed essere capaci poi di svilupparli velocemente sulla base dell'evolversi delle reali esigenze di clienti ed utenti, che cambiano nel tempo.
Chi sviluppa in modo agile pianifica e documenta. Controlla l'avanzamento dei lavori, i rischi progettuali e la qualità dei prodotti in modo sistematico. In modo diverso, certo, da quanto prescrivevano i vecchi manuali di ingegneria del software. Ma lo fa.
Chi non pianifica, non documenta, non controlla in modo sistematico rischi avanzamenti e qualità dei prodotti non lavora in modo agile. È semplicemente una persona (o un gruppo) poco rispettosa dei propri clienti e dei propri utenti. Poco professionale.
Alcuni esperti ritengono che oggi lo sviluppo software agile sia ormai diventato "mainstream", l'approccio più diffuso. Molte tra le aziende più competitive nel mondo, infatti, sviluppano software in modo agile. Ma non mi sembra sia il caso dell'Italia.
Alcune pratiche agili si diffondono in alcuni contesti, ma molte grandi organizzazioni software italiane sono tradizionaliste, e conservano gelosamente metodi e processi di sviluppo non efficienti e poco efficaci.
Altri opinionisti affermano che agile è una moda passeggera, e per giunta già superata. Dall'approccio "snello". "Lean". Non è così.
"Agile" è un termine che negli ultimi anni viene usato soprattutto nel mondo del software. "Lean" ("snello", anche se la traduzione più precisa è "magro") nasce prima di "agile", nel mondo del business, degli approcci organizzativi. L'archetipo del lean è il Toyota Production System, che ha portato l'azienda giapponese a dominare il settore automobilistico.
L'essenza del lean è nell'importanza data alle persone, anche e soprattutto in quelle che svolgono lavori operativi. Nella ricerca continua del miglioramento. Nella riduzione degli sprechi.
Gli approcci agili nel software sono ispirati alla Lean Production, e prevedono pratiche specifiche per attuarla nel mondo IT.
I guru dell'analisi organizzativa e i dirigenti più avveduti stanno lavorando a introdurre gli approcci lean nelle aziende, per renderle più competitive e migliorare la qualità dei servizi offerti.
Ma per introdurre il lean nelle organizzazioni, è essenziale che l'IT non costituisca un collo di bottiglia. E un IT burocratico e senza pratiche agili costituisce un formidabile collo di bottiglia.
*** Lean Primer ***
Una buona introduzione al pensiero "lean", di Craig Larman e Bas Vodde, disponibile sul sito www.leanprimer.com
*** Etica del software ***
Un numero speciale di IEEE Computer, June 2009, sugli aspetti etici della produzione di software.
Tra gli articoli, "The public is the priority: making decisions using the Software Engineering Code of Ethics", di Donald Gotterbarn e Keith W. Miller, che spiega come si può e si deve usare il Codice Etico di Sviluppo Software di ACM e IEEE Computer Society, del quale potete trovare qui la versione italiana.
*** Al prezzo più basso ***
Nelle gare d'appalto, spesso vince il fornitore che offre il prezzo più basso. E cominciano i guai, dato che "offerte e stime troppo basse sono spesso indicative di una scarsa competenza".
"How to avoid selecting bids based on overoptimistic cost estimates", è un articolo di Magne Jorgensen, pubblicato su IEEE Software May/June 2009.
L'articolo riporta i risultati di una serie di studi e sondaggi, e offre una serie di raccomandazioni utili per il processo di selezione delle offerte.
*** Fucine di software ***
Le Software Forges (fucine di software) sono ambienti collaborativi nati per lo sviluppo e la diffusione di software open source, il più famoso dei quali è probabilmente SourceForge. Negli ultimi anni, l'esperienza ha avuto un progressivo allargamento anche agli ambiti aziendali, con la creazione di fucine di software all'interno di singole organizzazioni.
Dirk Riehle e altri suoi colleghi di SAP spiegano su IEEE Software March/April 2009 le caratteristiche della fucina interna di SAP e fanno alcuni confronti con quelle, sempre interne, di IBM, HP e Microsoft.
*** Tracciabilità multimediale dei requisiti ***
I requisiti si possono scoprire in molti modi. Anche con registratori e videocamere, ormai presenti in diversi telefoni cellulari. Come gestire la tracciabilità, quando la fonte documentale del requisito è un audio o un video?
Il tema è oggetto di un articolo di Olly Gotel e Stephen Morris, " More than Just 'Lost in Translation'", su IEEE Software March/April 2009.
*** Software Embedded: dati ***
"Il mercato mondiale per i sistemi embedded è di circa 160 miliardi di euro, con una crescita annuale del 9 per cento. [...]
Le nuove automobili hanno attualmente da 20 a 70 control unit, con più di 100 milioni di linee di codice."
"Embedded Software: Facts, Figures, and Future", di Christof Ebert e Capers Jones su IEEE Computer di aprile 2009, è ricco di dati utili per la comprensione delle specificità e del peso economico della "nicchia" dell'embedded nel contesto del mercato software globale. Dati che dimostrano come l'embedded sia tutt'altro che una nicchia.
*** Libro: Come rompere il software ***
"How to break software. A Practical Guide to Testing", di James A. Whittaker, Addison-Wesley 2002.
Poca teoria, tanta pratica, suggerimenti concreti per il testing. Utile e ben scritto.
Se volete, potete contribuire ad ANALISI-DISEGNO:
ANALISI-DISEGNO viene spedito a chi ne fa richiesta. La pubblicazione non avviene con periodicità predefinita.
Archivio notiziari | Notiziario precedente | Notiziario successivo
analisi-disegno.com , servizi e materiali per lo sviluppo dei sistemi software, a cura di Adriano Comai.