La complessità riempie lo spazio disponibile nel software
In molti casi, l’eccessiva pressione nel processo di sviluppo software porta a design non ottimali. Un algoritmo leggermente lento viene lasciato invariato se la potenza di calcolo è sufficiente. Lo stesso accade per la memoria, come si può notare dai meme sull’uso di RAM di Chrome. Classi con troppi compiti che non vengono suddivise provocano codice spaghetti. Anche classi semplici, utilizzate raramente ma mantenute per un uso futuro, sono problematiche. Queste entità crescono e diventano punti di partenza per aggiungere nuove funzioni o correggere bug, portando a un graduale deterioramento del codice. Principi come YAGNI e KISS cercano di risolvere tali problemi ma, se non compresi a fondo, possono risultare dogmatici e applicati in modo errato.