Il creatore della programmazione estrema, Kent Beck ha menzionato l'enfasi sulla qualità del design durante lo sviluppo di software alla fine degli anni '90 e l'uso del termine Code Smells. Questo termine è diventato una parola di uso comune nella programmazione dopo che è apparso nel libro Refactoring: Improving the Design of Existing Code di Martin Fowler, un rinomato scienziato del software che ha reso popolare la pratica della rifattorizzazione del codice. Gli odori del codice non sono bug o errori. Sono invece violazioni assolute dei principi fondamentali dello sviluppo di software che riducono la qualità del codice.