Metodologia Agile? Quante volte sentiamo ripetere questo concetto? Diverse volte nel mondo IT. Cerchiamo di capirci qualcosa in più, cerchiamo di comprendere le origini del metodo Agile e come funziona veramente questa procedura di project management molto diffusa nel settore dell’information technology.
E’ il 2001 quando Kent Beck, Robert C. Martin, Martin Fowler scrivono il manifesto Agile, ovverosia quel libro che fa da apripista verso la metodologia Agile “Manifesto for Agile Software Development”. Nell’ingegneria del software in pochi anio il metodo Agile spopola, contrapponendosi in maniera totale ai metodi che all’epoca andavano per la maggiore: processo tradizionale e “metodo cascata”.
Principi Metodologia Agile
I principi Agile vogliono risolvere i processi di sviluppo di un software e ruotano attorno a 4 cardini centrali che ne definiscono la struttura:
- Le persone, sì sono le interazioni fra i progratonisti umani dello sviluppo del software la miglior risorsa di ogni progetto IT.
- Software funzionante a discapito di “chili di documentazione inutile”, è la qualità del codice che assume i connotati di un elemento indispensabile.
- Collaborare e dunque interfacciarsi direttamente con il Cliente quando si sviluppa un progetto. Non più dunque lo smanettone che si chiude in cantina a buttar giù righe di codice, ci vuole uno sviluppatore con doti di problem solving e di comunicazione avanzate.
- Pianificare sì, ma anche saper modificare in corso d’opera. Vivere un progetto in maniera stategice, ma anche e soprattutto in modo agile, veloce e dinamico.
Pratiche Metodo Agile
Le pratiche Agile sono tantissime, ne abbiamo viste alcune sul blog di LaraMind in maniera più approfondita, come la TDD, una pratica di grande valore e interesse,
Famose sono anche le pratiche di Automazione, Coinvolgimento del Cliente e Comunicazione Stretta, quest’ultima secondo i teorici dell’Agile è la pratica che maggiormente rappresenta la metodolgia Agile: coinvolgimento umano di tutte le parti nello sviluppo del progetto web, cliente compreso.
Altre pratiche famose sono la Pair Programming, dove lo sviluppo del progetto vero e proprio viene fatto da coppie di programmatori che si alternano alla tastiera oppure il Refactoring, che come dice Martin Fowler nel suo sito personale, non è altro che “tecnica strutturata per modificare la struttura interna di porzioni di codice senza modificarne il comportamento esterno“.
Agile e metodologie derivate
Il metodo Agile in realtà ha dato i nativi a tutta una serie di metodologie per così dire “agili” e “flessibili”, basti pensare al metodo “Lean Startup” e alla “Extreme Programming“, il primo basato sull’impostazione di un business che nasce testando il mercato giorno dopo giorno con budget ridotti e il secondo, basato sulla così detta ” programmazione assoluta”, totale, nessuna documentazione, solo software funzionanti :).
Corso Agile
E’ possibile fare dei corsi sensati di metodologie di project management? A nostro avviso sì, ma senza esagerare. Se sono corsi di project management pratici, dove l’intento è dunque migliorare questioni interni ad un organigramma aziendale, sì: deadline, rapporto con i clienti ecc. Se è tutta filosofia anche no, non lo reputiamo di grossa utilità un corso ad hoc, si può ad esempio approfondire il tutto leggendo un ottimo libro come il manifesto Agile.