Metodologie

Metodologia di lavoro

Il nostro metodo di lavoro è basato sui principi dello Sviluppo Agile:

  • Gli individui e le interazioni più che i processi e gli strumenti
  • Il software funzionante più che la documentazione esaustiva
  • La collaborazione col cliente più che la negoziazione dei contratti
  • Rispondere al cambiamento più che seguire un piano

Il primo passo per la realizzazione di un progetto è l'analisi insieme al cliente della sua idea per stabilire le funzionalità che producono valore per l'utente finale e quindi gli obiettivi da raggiungere.

Per i nuovi progetti, offriamo ai nostri clienti 4 ore di consulenza iniziale gratuita, per conoscere il nostro modo di lavorare prima di affidarci un incarico.

Il secondo passo fondamentale è la definizione delle funzionalità del progetto in termini di "user stories" con le relative stime dei tempi e priorità.

Le user stories permettono di fornire indicazioni realistiche sui costi e i tempi di sviluppo, focalizzando l'attenzione sull'obiettivo del prodotto ed eliminando le eventuali funzionalità che non creano valore.

Il passo successivo è l'inizio dello sviluppo che avverrà in modo iterativo seguendo le linee guida della metodologia Scrum.

Ogni iterazione ha la durata di 3 settimane e si articola nel seguente modo:

  • sviluppiamo partendo dalle funzionalità più importanti: stabiliamo assieme con il cliente le "stories" da implementare, in base alle priorità
  • stretta collaborazione: ci confrontiamo continuamente con il cliente per trasformare le sue idee in codice adattandole ai cambiamenti in modo rapido ed efficiente
  • rilasciamo ogni volta un'applicazione funzionante: al termine di ogni iterazione mostriamo al cliente una demo potenzialmente consegnabile del software realizzato

Ripetiamo poi questo processo per tutte le iterazioni necessarie a completare il progetto o fino a quando il cliente sarà soddisfatto del software prodotto, anche se dovesse essere rimasto del budget non ancora utilizzato.

Vantaggi del nostro metodo

  • controllo completo: il cliente ha il controllo del progetto e sulla base del budget e del tempo definisce le funzionalità che possono essere realizzate
  • gestione del cambiamento: ad ogni iterazione il cliente può richiedere modifiche alle funzionalità realizzate, aggiungere o rimuovere user stories, modificare le priorità
  • pagamento progressivo: il cliente paga ad ogni iterazione per lo sviluppo del software funzionante consegnato
  • termine del progetto: al termine di ogni iterazione il cliente può ritenere soddisfatti i suoi obiettivi ed interrompere lo sviluppo anche in anticipo rispetto alle stime ed al budget previsti
  • sorgenti in mano al cliente: al termine di ogni iterazione viene consegnato al cliente il sorgente della sua applicazione
Metodologie
Metodologie