Meglio un software finito o un software perfetto?

Capire quando è tempo di rendere operativo un software

Le startup che progettano un software – o le aziende che ne commissionano uno – possono essere tentate dall’idea di lanciare sul mercato uno strumento “perfetto” ricco di funzionalità, ma devono fare attenzione a non investire troppe risorse prima di aver verificato sugli utenti la validità della loro idea.

Progettare un software è un investimento che può tenere impegnato un team anche per mesi (conosci i veri tempi del web development e perché «costa tanto» sviluppare un software?). Per evitare di investire male le proprie risorse, si deve definire lo scope di progetto in modo rigoroso.

Per spiegare il concetto di scope, facciamo un esempio pratico: progettiamo una app mobile per monitorare e gestire le spese quotidiane degli utenti.
Il servizio base in questione deve permettere la registrazione delle voci di spesa degli utenti suddivise per giorno e per alcuni tipi di categoria (spesa, carburante, palestra, ricariche telefoniche, ecc.). In aggiunta, la app potrebbe integrare altre funzionalità di corredo: grafici di andamento mensile delle spese, categorie personalizzate, registrazione entrate, bilancio tra spese ed entrate, ecc.
Definire lo scope significa stabilire quante e quali di queste funzionalità verranno integrate nella versione 1.0 del software, vale a dire la prima release ufficiale utilizzabile dagli utenti.

Come forse avrai già intuito, definire lo scope senza lasciarsi andare al desiderio di integrare funzionalità accessorie non è così facile.

Dare un limite alla versione 1.0

Convincersi che il software debba essere perfetto già nella sua versione iniziale può essere un problema; il nostro primo tentativo di progettare una web app ci ha insegnato qualcosa a riguardo.

Era il 2013, Federico – il nostro attuale AD – ci aveva riunito in una startup carica di entusiasmo ma con tanta esperienza da fare; il nostro progetto si chiamava Checkyourlife.
Per sostenere l’iniziativa a livello economico, tre anni più tardi nasceva Dreamonkey Srl e da lì a un anno Checkyourlife si sarebbe arenato per lasciare posto alla nostra attuale realtà imprenditoriale.
Concluso quel periodo di formazione professionale, tra le altre, abbiamo imparato una lezione importante: procrastinare la release di un progetto per assecondare l’implementazione dell’ennesima “feature imprescindibile” non porta da nessuna parte.

L’ossessione della app perfetta

Quasi sempre chi si lancia in un progetto di questo tipo confronta – giustamente – la sua idea con i servizi che il mercato offre già.
Questo confronto porta a credere che sia necessario lanciare un servizio altrettanto sfaccettato, spesso ignorando o sottovalutando quanto tempo e impegno è stato necessario affinché quei competitors arrivassero dove sono, passo dopo passo.

L’approccio non è sbagliato di per sé: dobbiamo essere molto consapevoli di chi sono i concorrenti che stiamo sfidando e di quali sono le nostre reali possibilità. Tuttavia, si corre il rischio di perdersi in un ciclo infinito di progettazione e sviluppo alimentato dall’ossessione di rendere perfetta la app. Il mantra del team diventa: «Come possiamo competere con gli altri servizi di punta con così poche funzionalità?»

Il risultato di questo circolo vizioso è prosciugare le risorse del team – o aziendali – prima di scoprire se la app incontra davvero le esigenze di un’utenza reale.

Quando tutto va bene è grandioso, è un jackpot, ma se alla fine del tunnel non ci fosse alcuna luce? Se dopo tutti quegli investimenti di tempo e denaro si scoprisse che l’idea di partenza non era quello che il mercato voleva davvero?

La versione 1.0 di un software dovrebbe includere il vero differenziale competitivo, ovvero ciò che manca ai concorrenti – o che possiamo fare meglio di loro – per catturare l’attenzione dei possibili utenti e incontrare le loro esigenze insoddisfatte. In ogni caso lo scope deve poter essere messo alla prova rapidamente.

Barattare la perfezione con la prova sul campo

Saper definire uno scope essenziale ma adeguato e trovare il coraggio di lanciarsi è una vera sfida, ma è vitale sforzarsi di farlo.

Sacrificare la perfezione permette di avvicinare la deadline della release e di sfruttare il tempo guadagnato per testare concretamente l’efficacia della app. Conoscere la risposta reale degli utenti su un numero limitato di features permette di prendere nota delle migliorie davvero importanti per il proprio target, evitando di dover ripensare da capo un servizio troppo complesso e articolato.

Un progetto può nascere imperfetto ed evolvere in qualcosa di più completo, se l’idea che ha alla base si dimostra promettente nei fatti. Per vedere dei risultati è importante non procrastinare il momento in cui il nostro servizio verrà messo alla prova. Per migliorare ci sarà tempo dopo.
Stai solo attento a non trascurare la qualità di quello che viene progettato: imperfetto in termini di quantità di features non significa scarse performance o design scadente.

Meglio un software finito

Il concetto di software perfetto è ottimo per gli slogan dell’ufficio marketing ma nel concreto risulta utopistico: perfetto per chi? E sotto quali aspetti? In Dreamonkey diciamo che ogni progetto di software è il frutto di un compromesso.
Preoccupati che la tua app abbia uno scope ben definito, delle buone performance e un’interfaccia intuitiva e professionale.
Con queste basi, una buona idea supportata dal giusto business model ha terreno fertile per crescere e diventare qualcosa di grande.

Se stai pensando di commissionare un software – e vuoi garanzie che sia finito e operativo – facciamo al caso tuo. Contattaci.