Perché certi progetti software falliscono?

Ecco i contenuti di questo articolo (aggiornato il 14 luglio 2020).

Durante le vacanze di Natale ho letto in 3 giorni le 134 pagine del libro Clean Agile, di Robert C. Martin. Un libro godibilissimo, scritto con stile semplice, ottimamente tradotto in italiano e con il numero minimo di tecnicismi.

Clean Agile. Guida per riscoprire i principi cardine dello sviluppo Agile del software / Robert C. Martin. – 2019 / Apogeo. – Milano. -XVII-138 p. ( ). – ISBN: 978-88-503-3504-6

L’argomento è la metodologia Agile ma il sottotitolo potrebbe essere: perché, a volte, le aziende spendono migliaia di euro per nuovi progetti software, che non arrivano mai a termine?

Perché altri progetti finiscono in un vicolo cieco? Perché, soprattutto, non emerge il vero motivo per cui tali progetti finiscono spiaggiati come un infelice cetaceo?

Dietro ad un progetto software occorre una metodologia di sviluppo

Il successo di un progetto software non dipende dalla tecnologia ma dalla metodologia di sviluppo: sì, è proprio una questione di metodo. E questo è, in estrema sintesi, il messaggio del libro.

Sospettavo da tempo che le cose stessere in questo modo ma erano 10 anni che aspettavo di leggere qualcosa di intelligente che spiegasse, nei dettagli e con esperienze precise, perché è così.

Ma ci sono anche altre ragioni per cui questo libro potrebbe esserti utile.

Se sei (o stai per essere) coinvolto in progetti software, grandi o piccoli, come manager del progetto, responsabile acquisti o titolare dell’azienda, ti consiglio senz’altro almeno la lettura dei capitoli 1 e 2, rispettivamente “Introduzione ad Agile” e “Le motivazioni di Agile“.

Acquistare un software con tutte le funzioni o svilupparne uno in proprio: questo è il dilemma

Questi due capitoli sono pieni di aneddoti e storie vere prese dalla lunga esperienza dell’Autore, un decano dello sviluppo software.

Diverse pagine sono rivolte alle aziende clienti. Esempio: a pag. 38 c’è la carta dei diritti del cliente, che è parte della metodologia Agile.

Trascrivo alcuni passaggi:

“Avete diritto ad un piano generale e a sapere che cosa può essere ottenuto, quando e a che prezzo”.

Robert C. Martin

Interessante, no?

E ancora:

“Avete il diritto di vedere i progressi in un sistema funzionante, il cui funzionamento sia dimostrabile tramite il passaggio di test ripetibili specificati dal cliente stesso.”

Robert C. Martin

Questa affermazione è, secondo me, il cuore del libro.

Strategia di successo = tecnologia + metodologia di sviluppo

Riassumo e vengo alle conclusioni: un progetto software è fatto di tecnologia e metodologia di sviluppo.

Ci sono, grosso modo, due metodologie di sviluppo. Agile è la metodologia che promette risultati più efficaci in tempi più prevedibili. Più Agile, appunto.

Ci sono molti altri spunti ma quello più interessante senz’altro riguarda i test: in breve, più un software è stato testato e utilizzato meglio è. Più un software è vecchio, meglio è (perché gli sviluppatori hanno potuto via via migliorarlo sia nell’estetica che nel codice).

È a questo punto che ho ripensato alle prime versioni di Bizmaker® CRM (2004) e Bizmaker® Integration Tool (2013). Mi sono venute in mente le migliaia di ore di utilizzo da parte degli utenti e di tutti i test condotti fino ad ora.

La scelta tecnologica di Bizmaker® per lo sviluppo software

In Bizmaker® abbiamo scelto Claris FileMaker come tecnologia per lo sviluppo software. Ma, come scrivevo, la tecnologia non è tutto. Occorre anche una metodologia.

La metodologia di sviluppo scelta da Bizmaker® per lo sviluppo software

Il metodo che utilizziamo è una versione semplificata della metodologia Agile, adattata alla piattaforma Claris Filemaker e alle esigenze delle Piccole e Medie Imprese.

La metodologia Bizmaker® è centrata sul rilascio delle nuove funzionalità dei software solo dopo abbondanti sessioni di test.

Un altro punto della nostra metodologia è la logica di integrazione: dove possibile utilizziamo software esistenti, e integriamo le funzioni mancanti con Claris Filemaker e logiche di integrazione dati.

Due esempi

Primo esempio. Per inviare le newsletter molti clienti utilizzano Mailchimp: è un software che funziona bene, inutile quindi replicarne le funzionalità gravando il cliente di nuovi costi. Con Claris Connect e Claris Filemaker realizziamo dei connettori che collegano Mailchimp con il gestionale che contiene i dati dei clienti.

Secondo esempio: Bizmaker® Integration Tool è una applicazione che integra i dati tra il CRM e il database ICCA, una fonte di potenziali clienti nel settore del turismo congressuale internazionale.

Claris FileMaker

Bizmaker® è Partner di Claris

Veniamo a Claris FileMaker (il nuovo nome dell’azienda FileMaker, come alcuni la conoscevano), la tecnologia software che utilizziamo in Bizmaker®.

A breve uscirà Claris Connect, un nuovo prodotto cloud per collegare applicazioni esistenti, senza dover reinventare ogni volta la ruota.

Claris si sta infatti riorientando nel fornire soluzioni di integrazione per favorire la digitalizzazione delle Piccole e Medie Imprese.

La tendenza del futuro: i grandi software entrano in crisi

Ad un evento sulle tendenze del futuro ho scoperto che questa visione è condivisa anche da altri osservatori esterni al mondo software. Leggi cosa afferma la Prof.ssa Egeria Di Nallo sulle tendenze future nel software:

Ci si accorgerà della immobilità sostanziale di questi grandi software, e della loro difficoltà di gestione: ci sarà una tendenza ad implementare le piccole funzioni che ci servono sul serio. Questo è normale. Queste cose le abbiamo proprio viste. Da tempo si vede che oramai la tendenza al megagalattico serve per fare fumo, ma poi nell’operativo hai bisogno di piccole operazioni, che sono quelle che ci servono, e che serviranno ancora.

Prof.ssa Egeria Di Nallo, Emerita dell’Università di Bologna, fondatrice dell’Osservatorio Meeting Point e dell’omonimo modello di previsione.

La prof.ssa Di Nallo ha ideato il Modello Meeting Point che è un metodo per analizzare i trend del futuro e leggere le necessità dei consumatori (clicca se vuoi vedere il video dell’incontro).

Semplificando un po’, la conclusione è che investire in grandi progetti software rischia di non essere un buon investimento quanto lo è quello di costruire il proprio sistema informativo, partendo da software esistenti e integrandoli passo passo.