Il concept incontra il codice: 10 suggerimenti per affrontare gli sviluppatori

L’ho visto troppe volte: un aspirante imprenditore di Internet incontra un vero sviluppatore, sogno alla mano. Avviene in questo caso uno scontro culturale. La maggior parte delle volte, purtroppo, tutto finisce in uno spreco di tempo, denaro e sogni. Il concept incontra il codice del computer.

In oltre 20 anni nel settore del software sono stato uno sviluppatore, un sognatore, un consulente per i sognatori e un datore di lavoro per gli sviluppatori. Quindi forse posso aiutarti. Ecco 10 consigli per il lato sognatore dell’equazione:

1 – Il software è solitamente un compromesso tra lo scenario del sogno, da un lato, e ciò che è effettivamente possibile nel software

Pensa ai tuoi software o app preferiti: mentre impari ad utilizzarli, impari ad accettare il loro modo di fare le cose invece del tuo. Tutti odiano il loro software di contabilità, giusto? Ma tutti lo usano perché rende più facile stilare un bilancio con un software piuttosto che con una matita e una calcolatrice. Lo sviluppo del software porta a fare un compromesso fra ciò che è l’ideale e ciò che è effettivamente possibile

2 – Bisogna provare ad ascoltarli

Gli sviluppatori pensano e parlano in codice. La maggior parte delle volte, mentre spiegate loro cosa volete, stanno cercando di tradurre quello che immaginate in ciò che il codice del software in realtà consentirà loro di fare. Non sono necessariamente articolati, pieni di tatto o molto bravi a spiegare. Bisogna provare ad ascoltarli. Catturare gli indizi Non pensate che non vi capiscano. Probabilmente vi hanno gia’ capito, e sono un passo avanti a voi per capire come possono implementare nel codice quello che gli dite.

3 – Capire i fattori critici della vostra relazione lavorativa

Cercate di scoprire se il vostro sviluppatore si considera un vostro partner o solo un esecutore. È davvero difficile avere successo in ambito digitale, specialmente nelle fasi iniziali, senza brainstorming, collaborazione ed eccitazione per le idee. Se volete che uno sviluppatore stia semplicemente zitto e scriva codice, probabilmente siete condannati al fallimento fin dall’inizio. Si prega di rileggere i punti 1 e 2 sopra.

4 – Chi è il proprietario del prodotto?

Non si puo’ tralasciare questo punto critico. La strada per il successo di una startup è piena di carcasse di insuccessi causate da dispute sulla proprietà delle idee, proprietà del codice e punti intermedi. Bisogna parlarne. E’ forse una questione spiacevole, forse imbarazzante, forse… ma cercate di stabilire con il vostro sviluppatore se siete voi il proprietario del lavoro o se la proprieta’ è condivisa. Il mio suggerimento: possedere il lavoro, ma ascoltare, collaborare: possederlo legalmente e tecnicamente ma non emotivamente o creativamente.

5 – Pagare per i risultati, non per le ore

L’ho imparato nel modo più duro e da entrambi i lati del tavolo. Non pagate un anticipo troppo elevato. Stabilite obiettivi intermedi. Pagate per i risultati. Calcolare le ore di programmazione e’ piu’ aleatorio del clima del mese di Marzo.

6 – Identificate quale sia la personalità dello sviluppatore

Gli sviluppatori sono spesso persone multiple, come gli schizofrenici. Vogliono sicurezza, reddito costante, potere, grandi jackpot imprenditoriali, proprietà e giorni liberi senza preoccuparsi di nulla. Sono dei geni nei momenti migliori e gran rompicoglioni nei brutti momenti. Il che li rende molto simili al resto di noi. Cercate di capire qual è la loro personalità, quindi lasciate che il genio si elevi al momento giusto ed evitate le rotture… Attenzione a non voler troppo imporre il vostro l’ego: sarebbe davvero ssconveniente imprigionare la creatività con la disciplina.

7 – Prendete informazioni sul vostro sviluppatore

Controlla i riferimenti prima dell’assunzione. Prova a controllare qualche referenza. Lavoriamo tutti con l’assunto che i programmatori siano super intelligenti ed eclettici, ma alcuni pseudo-programmatori sono intelligenti come truffatori. Le idee vengono rubate e non è illegale. E ricordate che molti sviluppatori sono bravi in alcune cose, ma non in tutte le cose. Alcuni si concentrano sull’interfaccia, alcuni sul back-end del sistema e così via.

8 – Progettate un lavoro di test prima di cominciare il progetto vero e proprio.

Mai contrarre un intero progetto dall’inizio. Invece, trovate un primo passo veloce che può anche essere un punto di abbandono. È come in una relazione personale quando incontrate nuove persone, come prima cosa prendete insieme un caffè, prima di buttarvici a letto.

9 – Mettete i punti chiave per iscritto

No, non intendo un lungo contratto o costosi lavori legali, ma chiedete al vostro sviluppatore di firmare un breve documento – in italiano, non legalese – che stabilisca chi possiede cosa, quando dovranno avvenire i pagamenti e quello che otterrai in cambio.

10 – Ricordatevi di Ulisse

“Fatti non foste per viver come bruti, ma per seguir virtute e conoscenza…”

Lo sviluppo del software è così: come Ulisse impiego’ 10 anni per rientrare a casa girovagando in tutto il Mediterraneo, anche voi potreste aver bisogno di diverse versioni della vostra applicazione prima di raggiungere il risultato desiderato. Per questo e’ importante avere qualcuno con solide basi e grande esperienza che possa vedere il vostro progetto e darvi una valutazione sulla fattibilita’ rispetto a tempi e costi rispetto allo scopo prefissato.

Ma in ogni caso, in bocca al lupo: godetevi il viaggio, e ricordatevi che se vi serve una mano, io sono qui.