Quando si vuole dare il via ad un progetto di sviluppo software, che si tratti di concretizzare una nuova idea di business o di realizzare un software per automatizzare un processo, oppure ancora con l'obiettivo di andare a copiare le funzionalità di altri software per rielaborarle e inserirle all'interno di una nuova piattaforma, è importante considerare che la realizzazione di un prodotto digitale è sempre un'attività che deve essere immersa in un contesto più ampio. È importante capire che il software non rimarrà mai un'entità isolata, ma dovrà agire inevitabilmente in concerto con tutti gli altri processi e le altre aree aziendali. Ad ogni step della realizzazione bisognerà fare in modo che il prodotto si integri all'interno della struttura aziendale e tale attività di integrazione non è opzionale, ma è un passaggio obbligato.
Pertanto quando decidi di rivolgerti ad una software house per un progetto di sviluppo, dovresti tenere sempre a mente che questa attività rappresenta un percorso scandito dalla stretta collaborazione tra cliente e fornitore. Puoi vedere la realizzazione di un software come un cammino in cui la software house, ovvero il partner tecnico, ricopre il ruolo di guida anche solo per per un breve tratto. Dopo un certo periodo la software house potrebbe non servirti più, potresti essere in grado di muoverti da solo con nuovi sviluppatori, nuovi architetti del software o addirittura con un'altro fornitore, ma in ogni caso il cammino può essere anche molto lungo e che inevitabilmente ti porterà molto lontano, è un cammino che può durare anni.
In un tale contesto il software potrebbe rappresentare il cuore del business che andrai a costituire oppure potrebbe essere un validissimo e fondamentale tool di supporto per migliorare la produttività, gli scenari sono infiniti. Però il cammino, per quanto sia lungo, almeno per il tratto iniziale deve essere fatto in due, si tratta del processo naturale di ogni progetto di sviluppo.
Spesso si commette l'errore di rivolgersi a una software house con un'idea ancora un po' vaga o al contrario con una visione già estremamente definita. Può capitare che un'azienda dopo aver prodotto una serie di dettagli, di specifiche, di schermate e di flussi arrivi dalla software house richiedendo la mera esecuzione di quanto è stato progettato e aspettandosi di riceve una quotazione precisa per tutto il lavoro. Questo è un errore, perché quando la software house viene esclusa dal processo decisionale si inizia la fase di sviluppo su fondamenta molto fragili. Il partner tecnico dovrebbe essere sempre coinvolto nella fase do progettazione, non perché l'idea di base sia sbagliata, superficiale o eccessivamente elaborata, ma perché in caso contrario si sta iniziando il percorso in solitaria evitando di estrarre il vero valore della software house. Per cui se decidi di andare a sviluppare in autonomia il tuo progetto delegando solo la parte operativa al partner tecnico, quest'ultimo non conoscerà il contesto in cui è immerso il progetto e l'output finirà per essere incompleto.
Al contrario sarebbe un errore anche delegare completamente tutta la parte di progettazione, disinteressandoti completamente delle decisioni prese dalla software house perché in questo modo non ci sarebbe condivisione e finiresti per trovarti con un prodotto che non è esattamente ciò ti aspettavi e che non risponde quindi alle tue esigenze. Riassumendo, il percorso va fatto in due e deve essere caratterizzato da una stretta collaborazione tra cliente e software house. Come muoversi quindi in questo territorio estremamente instabile? Come dovrebbe comportarsi e cosa dovrebbe sapere un'azienda prima di rivolgersi ad una software house? Per riuscire ad orientarsi in questo mondo il cliente dovrebbe porsi cinque domande fondamentali.