Open Source quotes

“Low quality code is not cheaper; it is vastly more expensive, even in the short term. Bad code slows everyone down from the minute that it is written. It creates a continuous and copious drag on further progress. It requires armies of coders to overcome that drag; and those armies must grow exponentially to maintain constant velocity against that drag.”

Robert C. Martin


Agile Executive Seminar

Durata: 60 minuti. Per: il management, i project manager, i tech lead, i clienti interni.

La presentazione ha l’obiettivo di dare, dal punto di vista degli stakeholder, una risposta a queste domande:

  • Che cosa sono i Metodi Agili?
  • Che vantaggi presentano rispetto ai metodi tradizionali?
  • Che cos'è il Manifesto Agile?
  • Che condizioni sono necessarie perché l’adozione abbia successo?
  • Quanto costa? Quanto tempo ci vuole?
  • Come introdurre l’Agilità in un’azienda?
  • Cosa devo attendermi da un team Agile?
  • Come ottenere il meglio da un team Agile?

Riassunto

I Metodi Agili sono nati a partire dalla metà degli anni 90, come reazione alle pratiche inefficaci diffuse nell’industria. Nascono dall’osservazione che la maggioranza dei progetti software fallisce. I proponenti dei Metodi Agili invece vantano la capacità provata di portare regolarmente a termine i progetti con successo. Queste persone, come Kent Beck e Ken Schwaber, hanno sistematizzato le pratiche che gli consentono di ottenere il successo, definendo così

  • Scrum (Ken Schwaber, 1995)
  • Extreme Programming (Kent Beck, 1999)
e altri. Questi metodi, pur diversi fra loro, condividono un insieme di pratiche e di valori. In una riunione nel 2001 i proponenti di questi metodi hanno coniato il termine “Agile Methods” e definito un insieme di 4 valori e 12 principi che i firmatari del Manifesto Agile ritengono di avere in comune.

In estrema sintesi, l’obiettivo dei Metodi Agili è di consegnare software funzionante e di qualità “consegnabile” fin dalle prime settimane del progetto, e poi fornire incrementi di funzionalità a intervalli brevi e regolari.

Vantaggi dei Metodi Agili:
  • Metriche utili: misurare il numero di feature complete e funzionanti consegnate nel corso del tempo dà un’indicazione realistica del progresso.
  • Riduzione dei difetti: grazie alla forte enfasi sui test automatici.
  • Gestione efficace del rischio: gli stakeholder verificano la qualità del software e la rispondenza ai reali requisiti in maniera costante.
  • Time-to-market: è possibile consegnare una prima versione con le feature più importanti molto prima della fine del progetto
  • Comunicazione: la conversazione frequente con il cliente è il mezzo migliore per ridurre i fraintendimenti e cogliere le opportunità.
  • Riduzione del turnover: l’enfasi sulla qualità è una forte motivazione per gli sviluppatori migliori.
Svantaggi:
  • Formazione degli sviluppatori: richiede del tempo.
  • Riorganizzazione: i problemi dello sviluppo non sono solamente tecnologici; per ottenere i maggiori benefici occorre lavorare sulla catena del valore e rimuovere le barriere fra il committente e gli sviluppatori.
  • Necessita di una condivisione di obiettivi spontanea, che non può essere imposta
  • Possibile turnover iniziale: non tutti gli sviluppatori accettano questo metodo; in particolare quelli che non desiderano lavorare in squadra.

Riferimenti: