Making sense of Open Source
Open Source quotes

“Greatness doesn't require great talent. Talent doesn't hurt, by any means, but I've helped ordinary people work together to create great teams. No, it's not talent that's needed. What's needed is will.”

James Shore


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: