Nel primo articolo di questa serie ho approfondito cos’è la UX Design cercando di dare risalto alla responsabilità di progettare interfacce grafiche affinchè si possano realizzare software semplici da usare.
E’ un aspetto fondamentale per migliorare la produttività in azienda; ciò è valido in generale ed ancora di più per un settore come quello alberghiero dove la moltitudine di software in uso può progressivamente rendere davvero oneroso il lavoro quotidiano.
Oggi affronteremo il tema della metodologia di lavoro e di quali tecniche usare per rendere al massimo. Cercherò di farlo con un occhio di riguardo per tutte quelle aree non direttamente coinvolte nei processi di sviluppo, come ad esempio l’area creativa spesso poco propensa a seguire un percorso di progettazione lineare.
Metodologia Waterfall
Il modello Waterfall è stato presentato per la prima volta nel 1956 ed è un metodo di progetto sequenziale dove ogni fase prende vita in una sequenza precisa proprio simulando l’andamento della cascata.

credits by http://manifesto.co.uk/agile-vs-waterfall-comparing-project-management-methodologies/
Non voglio dilungarmi eccessivamente nel trattare il metodo Waterfall , un pò perchè l’ultima volta che ne ho fatto uso è stato durante il periodo universitario; un pò perchè in rete ci sono tonnellate di documenti che ne parlano in lungo e largo.
Cos’è la tecnica Agile
Il più grande limite del Waterfall , a mio avviso, è che è un processo di progetto abbastanza lungo ed il cliente non vede un risultato concreto se non prima di raggiungere l’ultimo step della sequenza. La difficoltà maggiore è sempre rappresentata dalla raccolta delle specifiche proprio perchè il nostro cliente non ha (quasi) mai ben chiaro cosa voglia sin da subito.
Non sarebbe utile, quindi, immaginare un metodo che ci consenta di raccogliere l’esigenza del cliente per poi iniziare subito a progettarne la struttura dandogli un risultato sul quale poter avere un riscontro veloce? Non sarebbe più utile spacchettare le specifiche di progetto in piccoli mattoncini, un pò come i lego, per poi andare a ricomporre tutti questi pezzi nel progetto finale?
Ecco, questo è il cuore del metodo Agile.
Uno dei vantaggi dell’Agile è di poter far fronte alle famose “change request”, alle revisioni che ci vengono richieste dal cliente senza dover stravolgere tutta la struttura del nostro progetto.
Così facendo, poi, riduciamo drasticamente il rischio di fallire il progetto perchè otteniamo un contatto costante e continuo con il cliente.
Anche psicologicamente è un gran bel passo in avanti , per chi è abituato a sentirsi dire “non mi piace” o “non funziona” 🙂
Torniamo all’esempio del PMS già evidenziato nel primo articolo. Con la tecnica waterfall, il nostro referente in hotel (cliente) ci avrebbe chiesto: ho bisogno di un software che tutti i miei dipendenti possano usare e che consenta di gestire la mia attività , produrre ricevute e fatture ed avere un planning digitale dove posso avere una visione generale dello stato di occupazione delle camere della struttura.
Seguendo la logica del waterfall , avremmo dovuto raccogliere tutte le specifiche in lunghe ed estenuanti riunioni sia per noi che per il cliente. Dopodichè, sederci intorno ad un tavolo con tutti gli attori coinvolti nel progetto, progettare software ed interfacce grafiche, dopo mesi produrre un risultato e tornare dal cliente. Ma chi ci garantisce che tutto questo lavoro sarebbe stato esattamente ciò che si aspetta il cliente?
Con l’agile, invece, possiamo concentrarci su un piccolo pezzo del tutto, per esempio la gestione del profilo utente, quindi la possibilità che tutti i dipendenti della struttura ricettiva possano utilizzare il PMS. Successivamente, passiamo subito alla progettazione di questa parte funzionale, poi le relative interfacce grafiche ed infine il risultato viene presentato al cliente.
Tutto molto semplice, tutto molto snello.
Il metodo Agile ha un suo manifesto e 12 principi base:
- La nostra massima priorità è soddisfare il cliente rilasciando software di valore, fin da subito e in maniera continua;
- Accogliamo i cambiamenti nei requisiti, anche a stadi avanzati dello sviluppo. I processi agili sfruttano il cambiamento a favore del vantaggio competitivo del cliente.
- Consegnamo frequentemente software funzionante, con cadenza variabile da un paio di settimane a un paio di mesi, preferendo i periodi brevi;
- Committenti e sviluppatori devono lavorare insieme quotidianamente per tutta la durata del progetto;
- Fondiamo i progetti su individui motivati;
- Diamo loro l’ambiente e il supporto di cui hanno bisogno e confidiamo nella loro capacità di portare il lavoro a termine. Una conversazione faccia a faccia è il modo più efficiente e più efficace per comunicare con il team ed all’interno del team;
- Il software funzionante è il principale metro di misura di progresso
- I processi agili promuovono uno sviluppo sostenibile;
- Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in grado di mantenere indefinitamente un ritmo costante;
- La continua attenzione all’eccellenza tecnica e alla buona progettazione esaltano l’agilità. La semplicità – l’arte di massimizzare la quantità di lavoro non svolto – è essenziale;
- Le architetture, i requisiti e la progettazione migliori emergono da team che si auto-organizzano;
- A intervalli regolari il team riflette su come diventare più efficace, dopodiché regola e adatta il proprio comportamento di conseguenza;
Conclusioni
Dopo aver parlato di UX Design ho completamente virato argomento sulla metodologia di progetto. Per farlo, ho velocemente presentato il Waterfall con i suoi pro e contro, per poi approfondire la tecnica Agile ed il suo manifesto.
Esistono diverse varianti Agile con diversi acroninimi e diversi approcci. In Evermind abbiamo sviluppato un nostro metodo, sempre partendo dall’Agile, cercando di conciliarlo con la scelta di non avere un ufficio e quindi di lavorare tutti dislocati in posti diversi, quindi evolvendo il principio nr. 6
Nel prossimo articolo introdurrò la gamification, per poi entrare nel cuore di questa serie di articoli iniziando a spiegare come progettare e realizzare l’interfaccia grafica di un software per strutture ricettive