
Dal 2019 ho adottato la metodologia Agile per sviluppare software con la piattaforma Claris FileMaker. Perché è importante identificare un metodo nello sviluppo di software? Potrebbe sembrare sufficiente puntare ad un software che funzioni al costo concordato. In realtà è proprio questo il punto. Non è scontato arrivare al risultato se non c’è un metodo chiaro, anche se le intenzioni iniziali sono ottime e gli accordi limpidi.
In questa pagina presento brevemente lametodologia Agileche utilizzo per lo sviluppo FileMaker. Ecco gli argomenti dell’articolo:
- Mettersi d’accordo sulle parole;
- Difendere il cliente;
- Creare dei flussi di lavoro gestibili;
- Sviluppo software come attività artigianale;
- La metodologia Agile e FileMaker.

Metodologia Agile: mettersi d’accordo sulle parole

Il Manifesto Agile nacque negli Stati Uniti da gruppi di sviluppatori che sperimentarono gli scarsi, se non pessimi, risultati ottenuti con la tecnicawaterfall. Tutto ciò naturalmente creava molta frustrazione ai clienti ma anche agli sviluppatori. Non entro nel merito della tecnicawaterfallse non per ricordare che è meno efficace dellametodologia Agile. Puoi approfondire questo punto nell’articolo “Perché certi progetti software falliscono?”.
Forse il primo punto da tenere a mente nella relazione tra clienti e sviluppatori èmettersi d’accordo sulle parole. Se un software gestisce – ad esempio – elenchi diclienti, occorrerà definire per bene all’inizio cosa siano i “clienti”: solo le società che hanno già acquistato prodotti e servizi in passato oppure anche quelle che potrebbero acquistare in futuro? Analogamente, con la parolafornitorisi intenderanno solo i fornitori correnti o anche quelli passati? E così via. Ogni incertezza nella definizione di un concetto creerà a cascata incomprensioni nell’analisi e nello sviluppo di quella precisa componente del software. Con evidenti sprechi di tempo e denaro.
Difendere il cliente

Difendere il cliente significa chiarire fin dall’inizio cosa è possibile fare e cosa non è possibile. Nei progetti software c’è un principio fondamentale che è quello dellairon cross(croce di ferro). Simboleggia le quattro caratteristiche di un software:buono, veloce, economico, finito. Non è possibile averle tutte e quattro contemporaneamente.
Se il cliente vuole un software finito, economico e in poco tempo esso non potrà essere buono: avrà degli inevitabili difetti. Se lo si vuole buono, finito e velocemente, costerà parecchio, e così via.
Lametodologia Agileaiuta a identificare il giusto compromesso, in accordo con il cliente, per arrivare ad un risultato, sapendo però che non si può avere tutto, subito e pagandolo poco.
Come si arriva al giusto compromesso? Avviando, con la metodologia Agile, una sequenza di flussi di lavoro gestibili e da concludere in breve tempo.
Creare dei flussi di lavoro gestibili con la metodologia Agile

Un software può essere creatosu commissione, cioè appositamente per il cliente secondo specifiche personalizzate, ad esempio se non si trova sul mercato qualcosa di già pronto. Oppure può essere concessoin licenzad’uso: in questo secondo caso, il software risponde a esigenze generali di clienti diversi, che trovano più conveniente acquistare un software pronto e funzionante e richiedere eventualmente delle personalizzazioni, ovvero delle modifiche. È il caso di un software comeBizmaker® CRM.
In entrambi i casi (software su commissione o su licenza, con o senza personalizzazioni)analizzo insieme al clientele funzioni richieste, ovvero i compiti che il software dovrà svolgere. Insieme al cliente definiamo le priorità, ovvero le funzioni che vanno sviluppate per prime. Prima di procedere allo sviluppo di una funzioneconcordiamo anche i testche dovranno essere superati per validare quella funzione.
Ecco le fasi di un ciclo di rilascio di una funzione software:
- procedo allosviluppodella funzione concordata;
- larilascioal cliente;
- il cliente effettua itest concordati;
- infine la funzione viene rilasciata emessa in produzione.
Questo ciclo dura idealmente pochi giorni, al massimo due settimane. Si passa così alla funzione successiva. In qualsiasi momento il cliente decidesse di interrompere o modificare le specifiche, avrà comunque un software funzionante con le funzioni rilasciate fino a quel momento.
Lo sviluppo software è un’attività artigianale

Lo sviluppo software c’entra molto con illinguaggioche è lo strumento con cui il cliente esprime le proprie esigenze e le comunica allo sviluppatore. Ci sono diversi linguaggi:
- illinguaggio naturale, con cui descriviamo la realtà quotidiana;
- il linguaggio tecnico di un particolare settore economico;
- illinguaggio tecnicodell’analisi e sviluppo software;
- infine, anche FileMaker ha un proprio linguaggio specifico.
Lo sviluppatore è consapevole di tutti questi linguaggi. Lo sviluppatore è unartigiano del softwaree interpreta – per il cliente – i diversi linguaggi per descriverlo.
Di sicuro lo sviluppatore non è un mago: non potrà infatti leggere nel pensiero del cliente o rilasciare funzioni su specifiche che non ha ricevuto. Tanto per fare un esempio, usando lametodologia Agile, non si potrà dire “lo davo per scontato”.
La metodologia Agile punta quindi adesplicitare tutto l’implicitoma senza la necessità di definire ogni dettaglio subito. In questo senso può sembrare, anzi lo è, un procedimento più lento. Ma è un procedimento più sicuro perché non è possibile rilasciare una funzione se prima non è stata validata quella precedente.
Conclusione: la metodologia Agile consente di affrontare egestire la complessità, suddividendola in piccoli flussi di lavoro gestibili, descritti con parole dal significato chiaro e concordato tra cliente e sviluppatore.
La metodologia Agile e FileMaker
Lapiattaforma Claris FileMakerè la tecnologia ideale, secondo la mia ventennale esperienza di sviluppatore, per poter avviare progetti software seguendo la metodologia Agile: pensiamo alla possibilità di realizzare delle applicazioni partendo dai modelli pronti, da applicazioni presentate nelMarketplacee di condividerle poi tramiteFileMaker ServeroFileMaker Cloud.
Se vuoi approfondire le opportunità della metodologia Agile per la tua organizzazione contattami.
Foto:Steven Pisano.
