Ci vuole il tempo che ci vuole: software development e il caso Cyberpunk 2077

Tutti, prima o poi durante il decorso di una vita, avvertono quell’inspiegabile curiosità di provare a cucinare una torta.

Che tu appartenga al gruppo di quelli che ci hanno già provato o di quelli che ci proveranno, poco importa: se vuoi preparare una torta e non ti chiami Ernst Knam, devi partire da una ricetta.

Così inizi a preparare la tua torta facendo molta, molta attenzioni alle dosi, alla quantità di zucchero, uova, tuorli, a unire i composti al momento giusto e, per finire, a infornare tutto.

50 minuti a 150°.
Sono davvero troppi, tu vai di fretta. Di colpo si attiva il lato analitico del tuo cervello: “Aumentando la temperatura a 300° potrei raggiungere lo stesso risultato con la metà del tempo.”
Ci pensi, per un solo istante, prima che il pensiero logico prevalga e ti ricordi di non aver mai visto uno chef cuocere una torta con la fiamma ossidrica solo per fare prima.

Nell’industria dello sviluppo software molti credono invece che sia così.

Ci siamo quasi, ecco, ancora un po’…

Cyberpunk 2077 è stato annunciato circa 8 anni fa, nel 2012, da CD Project (quelli che hanno vinto tutti i premi che si potevano vincere con The Witcher 3, per intenderci).

Non si hanno grosse notizie fino al 2018, quando viene mostrato un primo gameplay trailer e, finalmente, la data di uscita viene fissata al 16 Aprile 2020.

Siamo in pieno Covid, la maggior parte degli sviluppatori lavora da casa, inoltre stanno per arrivare sul mercato le console di nuova generazione che potrebbero stravolgere i requisiti tecnici del gioco, così CD Project si vede costretta a rimandare l’uscita al 17 Settembre. Nel frattempo si moltiplicano le accuse di crunch (un fenomeno che vede gli sviluppatori delle software house lavorare in condizioni estreme, ben oltre l’orario lavorativo o sotto continue pressioni da parte del management).

Ma non ci siamo ancora, il titolo non è pronto, ci sono problemi di bilanciamento e numerosi bug ancora da risolvere. Il lancio viene spostato al 19 Novembre e, nel giro di poche settimane, un nuovo rinvio fissa la data di rilascio al 10 Dicembre 2020.

Il 10 Dicembre arriva. Cyberpunk 2077 viene rilasciato per tutte le console presenti sul mercato.

Un disastro annunciato…

Questo è solo uno delle decine di migliaia di video caricati dagli utenti, increduli, nelle ore successive al lancio del videogioco.

Cyberpunk 2077 sulle console di vecchia generazione (che sono comunque quelle più utilizzate, data la scarsissima disponibilità delle next-gen) è un’insalata mista di bug, cali di framerate, glitch grafici, personaggi volanti, missioni bloccate, armi che spariscono, oggetti che non reagiscono alle azioni, facce poligonali, di tutto e di più. Un autentico disastro.

Tutti scrivono di quanto l’abbia fatta grossa CD Project, da IGN fino Multiplayer.it. La rete è cosparsa di recensioni negative e CD Project perde il 33% in borsa in pochi giorni, tanto che la software house si vede costretta a correre ai ripari diramando un comunicato ufficiale su tutti i suoi canali social:

Il messaggio di scuse da parte del team di CD Projekt

… ma premeditato

“Quelli di CD Project non potevano non sapere” è la prima cosa che mi ripeto subito dopo aver provato il gioco.

C’è un limite tra i “bug programmati” (quelli che da sviluppatore so di aver lasciato in un software, probabilmente per mancanza di tempo, ma che non causano grosse defezioni e che risolverò in una patch al lancio) e il disastro totale.
La versione current-gen di Cyberpunk non risente di un bug o di una serie di bug; la versione current-gen di Cyberpunk semplicemente non è completa.

Quella che vediamo è una versione probabilmente in alpha-test, lontanissima da quello che dovrebbe essere un prodotto finito e che è stata pubblicata solo perchè ai piani alti così è stato deciso.

Pochi giorni dopo, Michał Nowakowski di CD Projekt RED ha risposto ammettendo di aver trascurato le versioni current gen, “passandoci meno tempo di quello che avrebbero probabilmente dovuto”.

Di chi è la colpa?

L’industria videoludica è abituata a tempi di sviluppo medio-lunghi.

Uno dei giochi che, a livello di effort, potrebbe sovrapporsi a quello sostenuto dai ragazzi di CD Projekt è Red Dead Redemption 2.

Il capolavoro di Rockstar Games è stato infatti sviluppato in circa 8 anni. Inoltre la software house ha potuto contare su componenti off-the-shelf riciclati dai vari GTA, così come CD Projekt avrà sicuramente fatto con la build di The Witcher (trattandosi infatti in tutti i casi di giochi open-world).

Ma cos’è andato storto? O per meglio dire, cos’è successo di tanto catastrofico da ridurre un tripla A ad una produzione simil-indipendente, nello stesso tempo in cui un’altra software house è stata capace di produrre un capolavoro?

Ci vuole il tempo che ci vuole

Il tempo, così come lo si intende comunemente, non può esistere nella programmazione software. Cosa significa?
Significa che chiedere ad uno sviluppatore di creare qualcosa e di metterci al massimo X ore di tempo sarebbe come chiedere a Leonardo di dipingere la Monna Lisa e dargli una scadenza per la consegna.

La programmazione è un processo completamente creativo. Anche le sfumature più analitiche come l’organizzazione architetturale o la stessa stesura del codice sono momenti che vengono concepiti in una fase di calcolo mentale ma che vedono la luce soltanto quando si attivano le aree più creative del cervello, quelle responsabili dell’immaginazione, dei colori, della visione prospettica e, di riflesso, completamente inconsapevoli del calcolo analitico, dei numeri, del tempo.
Le cose migliori si possono sviluppare solo quando il cervello è in uno stato di rilassamento, lontano dallo stress delle scadenze, dai calcoli, dalla preoccupazione portata da qualsiasi fattore esterno. Vi siete mai chiesti perché le idee migliori vi vengono sotto la doccia o prima di addormentarvi?
Associare il tempo alla programmazione è un’azione innaturale, è una forzatura delle mente, è un controsenso operativo.
Il tempo non è una prerogativa della programmazione software e non lo sarà mai.

I meme sui programmatori si sprecano.

Il tempo è, però, una prerogativa delle aziende. Eccome se lo è! Anzi, potremmo quasi considerare il tempo come il principale fattore di successo (o fallimento) di qualsiasi azienda. Time-to-market, tempi di rilascio, deadline, tempi di sviluppo e i costi di produzione che ne conseguono… tutto sembra dipendere dal tempo quando si parla di sviluppo software. Come si possono quindi conciliare due mondi così distanti e che per definizione sembrano essere agli antipodi?

Con l’aiuto di manager e dirigenti capaci.

I manager (di progetto o esecutivi) hanno il dovere di creare l’ambiente di lavoro ideale per gli sviluppatori e che allo stesso tempo tenga conto delle scadenze che l’azienda deve rispettare. Come per il calcio, nessun giocatore vorrebbe essere limitato dai compiti tattici, ma un bravo allenatore è capace di costruire il sistema di gioco ideale che consenta ai creativi di sentirsi liberi pur rispettando le posizioni in campo.

Non a caso, pochi giorni fa gli sviluppatori di CD Projekt si sono scagliati contro la classe dirigenziale, colpevole di non aver garantito loro il tempo necessario per sfornare un prodotto di qualità.

Non puoi chiedere ad uno sviluppatore di sbrigarsi. Puoi chiedergli di lavorare di più, ma non di farlo al doppio della velocità. Per produrre software di qualità ci vuole il tempo che ci vuole. Ed è esattamente quello che non è accaduto nel caso Cyberpunk 2077.

Accuse di crunch, ambiente di lavoro tossico, date di rilascio continuamente spostate sono tutti sintomi di una gestione malata che ha portato inevitabilmente al disastro al quale abbiamo assistito.

Per certi versi sono felice che “finalmente” si sia verificato un caso con un impatto mediatico così forte, perché dentro di me spero sempre che un giorno i manager delle aziende inizieranno ad acquisire una corretta consapevolezza del concetto di tempo nell’industria del software development e che magari, un giorno, smetteranno di credere che “basteranno due mamme a partorire un figlio in 4 mesi e mezzo”.

0

Vuoi ricevere altri contenuti come questo?

Iscriviti alla newsletter e ti invierò una mail quando pubblicherò altri contenuti simili. Restiamo in contatto 🙂

Leave a comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *