Tutti i progetti tecnici superano il budget, cambiano idea.

Perché dovresti triplicare il tuo budget

Quando ho iniziato a lavorare nel settore tecnologico, il mio primo capo mi ha dato un bel consiglio.

"Qualunque cosa ti citino ... triplicalo."

All'epoca pensavo fosse pazzo. Triplo ?! Certo, sapevo che a volte i progetti hanno un budget leggermente superiore, ma triplo? Ero giovane, incredulo e ingenuo - nella mia arroganza, ho ignorato il suo consiglio.

Due mesi dopo, ero seduto di fronte a lui nella nostra sala conferenze. Avevo avuto un successo folle ed ero stato promosso a una posizione esecutiva, il tutto in 2 mesi?

No, ho avuto un orribile fallimento, dato che il progetto a cui stavo lavorando è andato oltre 3 volte oltre il budget, senza fine in vista. Ero grato di avere ancora il mio lavoro e di passare il progetto al mio capo in modo che potesse coprire le nostre perdite.

All'epoca ho imparato due lezioni. Innanzitutto, dovrei chiedere consiglio ai veterani del settore.

E in secondo luogo, tutti i progetti tecnologici superano il budget.

Perché superano il budget?

Nella mia esperienza, di solito ci sono tre ragioni principali per cui i progetti superano il budget: fattibilità, incapacità di tenere conto delle problematiche legate allo sviluppo e debito tecnico.

Fattibilità

Questo è il problema che spesso affligge lo sviluppo del software. Inizia sempre allo stesso modo: incontri con altri membri, ti citano il tempo e il costo che pensano che ci vorrà per finirlo. Il problema principale qui è che, di solito, citano in base alla velocità con cui il progetto andrebbe senza essere impantanato da recensioni, modifiche e debiti tecnici (ne parleremo più avanti).

A peggiorare le cose, andrai alla direzione, che dimezzerà tutte le stime. Sosterrai che questo non è fattibile, ma diranno alcune parole d'ordine (in particolare "agile" e "sprint") e ti scacceranno.

Poi incontri il marketing, che avrebbe dovuto incontrare gli ingegneri del software la scorsa settimana, ma non è così. Faranno un mucchio di domande concettuali che rasentano la filosofia - "non qual è il prodotto, perché è il prodotto?" - e tu esci un po 'confuso, ma fiducioso nel marchio. Ma stasera uno di loro avrà una nuova, straordinaria idea innovativa su come posizionare il prodotto - e tra una settimana spingeranno qualcosa che non è nemmeno sulla tabella di marcia.

Il cliente

Un'altra ovvia questione risiede nella contabilizzazione delle problematiche legate allo sviluppo, in particolare quelle invisibili.

Come si spiega l'imprevedibile?

Come regola generale, ogni volta che pensi che qualcosa possa andare storto, supponi che lo farà. Nel software, qualcosa andrà SEMPRE male. I miei sviluppatori hanno una battuta in corso con un calendario sul muro: "giorni dal bug". Quel numero non ha mai e non supererà mai lo 0.

Il cliente è sempre .... sbagliato?

E poi ovviamente c'è il cliente. Il cliente viene da te con un'idea: loro sanno cosa vogliono e hanno bisogno che tu ce la faccia.

Per quelli di voi veterani del settore che hanno appena fatto una doppia interpretazione sull'ultima riga, non preoccupatevi, stavo solo scherzando! Il cliente non sa assolutamente cosa vuole. Ci saranno una dozzina di modifiche alle specifiche, diversi perni e nuove funzionalità e lamentele quando costruisci ciò che hanno chiesto, ma non sembra buono nella vita reale come nella loro testa.

Debito tecnico

E poi c'è debito tecnico.

Che cos'è il debito tecnico e quali forme assume? Bene, in generale, il debito tecnico deriva da progetti affrettati e da questioni legate allo sviluppo.

Secondo Techopedia:

Il debito tecnico è un concetto di programmazione che riflette il lavoro di sviluppo aggiuntivo che si presenta quando viene utilizzato un codice facile da implementare a breve termine anziché applicare la migliore soluzione globale.

Per tutti gli sviluppatori di software, questo suona molto familiare. È il costo che deriva quando si esegue npm install xyz e lo sviluppatore dietro di esso smette di aggiornare xyz. È il costo che sorge quando scrivi quel one-liner alle 16:00 di venerdì e butti la palla fuori dal parco, ma inizia a rallentare l'app e aumentare il carico del server sopra i 10 utenti.

Per ulteriori informazioni sul debito tecnico, c'è un bel pezzo di Tomer Dicturel che spiega dove siamo e dove stiamo andando che è andato di tendenza nelle ultime settimane su Medium:

Cosa possiamo fare per impedire loro di superare il budget?

Questa è più una domanda a risposta aperta.

Ogni progetto è diverso e, in una certa misura, richiede una propria soluzione speciale. In generale, però, ho scoperto che l'allocazione corretta di un budget che tenga conto del fallimento ti farà risparmiare centinaia di migliaia di dollari in preda al panico frenetico.

La prossima volta che verrai quotato $ 8000 e 7 giorni per creare la tua app, fermati e pensa: è una stima accurata? Roma non è stata costruita in un giorno, né è stata costruita in una settimana per un paio di dollari: la tua app avrà molto probabilmente un costo multiplo di quel preventivo, e dovresti aspettartelo.

Abbiamo scoperto che la maggior parte dei progetti quotati a stime più basse (di solito dai liberi professionisti) superano il budget e non vengono mai completati - questo è un tasso di non completamento dell'88%.

Quindi abbiamo raccolto più dati - dati su progetti di successo, che sono stati completati e hanno raggiunto un certo livello di successo. Abbiamo scoperto che la maggior parte dei progetti ha un costo (non un budget - abbiamo preso in considerazione il costo finale) tra $ 160k e $ 180k.

Quindi abbiamo costruito uno strumento.

A prima vista potrebbe sembrare follemente alto, ma questi sono i costi associati allo sviluppo di tecnologie sostenibili a lungo termine. Per rendere la tua vita un po 'più semplice, abbiamo creato anche una calcolatrice, una che consentirà di budget per la tua app per il successo. Puoi dare un'occhiata a howmuchtobuildanapp.io:

Oppure dai un'occhiata a Product Hunt !

Ciao, sono Wendy! Sono il Community Manager qui su HowMuchToBuildAnApp.io, dove ti aiutiamo a pianificare con successo il tuo prossimo progetto di sviluppo software!