Qual è la mia vision?
La prima solida certezza che bisogna avere riguarda il punto di arrivo. Dove voglio arrivare intraprendendo questo cammino? Dove voglio essere da qui a un paio d'anni, o forse di più? Sembra una domanda banale e anche un po' fastidiosa, ma quella che in gergo business viene chiamata Vision aziendale, è estremamente importante in ambito di sviluppo software perché ti fa capire in che modo dovrai compiere il primo passo. È però fondamentale che, una volta individuata la risposta, questa informazione venga condivisa con il partner tecnico perché in base a dove vorrai essere alla fine del percorso, a dove prevedi che ti porterà il tuo cammino, è necessario compiere alcuni tipi di scelte piuttosto che altri. Potrai ad esempio adattare il percorso a quello che prevedi essere il ciclo di vita del prodotto o ai tempi di apprendimento dei dipendenti che dovranno utilizzare il software.
I prodotti digitali non hanno tutti la stessa durata, si possono fare diverse scelte come ad esempio sviluppare un primo prodotto a costo più basso (MVP) che poi potrà essere cestinato in favore di uno più robusto. Si tratta di decisioni importanti che devono essere prese all'inizio del cammino e che si fanno in base alla definizione di una destinazione ultima. Con questa consapevolezza puoi decidere quali sono gli aspetti fondamentali del software, cosa non deve mancare ora e cosa sarà necessario avere tra un anno. Tutte queste informazioni derivano esclusivamente dalla visione di dove si vuole andare e il successo deriva dalla condivisione di queste informazioni con la software house.
Quanta energia ho?
Sapendo dove vuoi arrivare, la seconda domanda che devi porti è legata alla quantità di energia, ovvero di budget di cui disponi oggi. Fin dove puoi spingerti dato il budget che hai ora a disposizione? Non è detto che questa energia sia sufficiente per arrivare direttamente all'obiettivo che ti sei preposto di raggiungere tra qualche anno. Probabilmente sarà necessario fare delle tappe intermedie ed è importante essere obiettivi nel fare questa analisi e altrettanto importante è condividere con i propri partner questa informazione. Spesso le aziende su questo punto si bloccano e vedono con sospetto la software house che chiede loro, prima di stilare un preventivo per lo sviluppo di un software, quale sia il budget a disposizione. Questo è comprensibile, è difficile e scomodo condividere un'informazione di tipo economico direttamente all'inizio di un processo di sviluppo perché la percezione è che ciò possa limitare le proprie capacità di negoziazione. La convinzione comune è che se ci si mette subito a nudo indicando qual è la propria capacità di spesa, allora è probabile che la software house poi chiederà effettivamente quella cifra per la realizzazione e pertanto la negoziazione verrà meno. Pensare in questo modo però è un errore che andrebbe evitato.
Tuttavia è fondamentale condividere questa informazione perché nel mondo del software esistono tantissime strade per raggiungere un singolo obiettivo oltre che tantissimi strumenti, tecnologie e metodi per accorpare diverse soluzioni. In quest'ottica sapere qual è il vincolo di budget è fondamentale per scegliere la strada giusta. Può essere che esista già un software sul mercato adatto a risolvere un determinato problema o tecnologie più economiche e funzionali che rispondono alle specifiche esigenze del momento. Non sempre è necessario reinventare la ruota e partire da un foglio bianco nella realizzazione di un software. Se l'azienda dispone di un budget ridotto ma non condivide questa informazione, la software house non avrà un metro di giudizio nel proporre la sua soluzione o peggio ancora potrebbe farsi un'idea errata del budget a disposizione. In questo modo è probabile che si perdano delle occasioni o che non si ricerchino delle strade che invece potrebbero risultare interessanti alla luce di questo dato.
Pertanto è fondamentale che su tantissime strade che esistono si scelga quella più appropriata in virtù della vision e dei vincoli del budget che si hanno a disposizione oggi.
Cosa posso fare oggi?
Una volta che avrai risposto alle prime due domande potrai già dire avere una certa consapevolezza, ma non basta ancora. Ora devi chiederti, sapendo quanto puoi spendere oggi e sapendo qual è la vision, cosa puoi fare tra il ventaglio di opportunità a tua disposizione. Tale quesito dà origine ad altre due domande: alla prima deve necessariamente rispondere il cliente mentre è compito della software house trovare una soluzione alla seconda.
Quali sono le funzionalità fondamentali che non devono mancare oggi?
Sapendo che il software sarà molto corposo tra diversi anni, oggi probabilmente conterrà un set di funzionalità più piccolo. Sarà necessario realizzarne una prima versione in linea con le energie odierne e sapere quali sono le funzionalità che non devono mancare è un processo importantissimo. Diventa fondamentale quindi definire la priorità dei diversi aspetti, dei diversi comportamenti, delle diverse funzionalità di cui il software deve disporre. Diventa necessario elencare questi diversi aspetti e stabilire per ciascuno una priorità, quindi creare una lista ordinata di cose che dovranno essere presenti all'interno del software al giorno uno.
Una volta elencate queste, sarà possibile definire una linea di demarcazione tra le funzionalità fondamentali e quelle aggiuntive, definita di comune accordo tra partner e cliente. Si definisce fin dove si deve arrivare e si stabilisce la linea che comprenderà le prime funzionalità lasciando le altre per un secondo momento.
Come raggiungo l'obiettivo?
La domanda a cui deve rispondere la software house date le informazioni finora ottenute, è: "Come raggiungiamo l'obiettivo?". Ed eccoci nuovamente al discorso relativo al budget: ci sono tantissime strade per raggiungere l'obiettivo, ora ci sono tutte le informazioni necessarie per trovare quella corretta. Da qui nasce un discorso puramente tecnico, a cui non deve rispondere il cliente, ma la software house. Il compito del cliente è quello di fidarsi del suo partner e vagliare tutte le proposte della software house.
Sai che vuoi raggiungere un certo obiettivo in un determinato lasso di tempo, sai che oggi hai un un certo quantitativo di energia prima di accamparti e ristorarti, sai a questo punto cosa vuoi fare con le sole cose che devono assolutamente essere presenti all'interno del software. Ora hai tutte le informazioni per capire, tra mille strade, qual è quella da raggiungere e quando fermarti in questa prima fase.