Un principio fondamentale dei moderni processi di sviluppo è lo sviluppo agile. Questa metodologia di sviluppo sottolinea l'utilizzo di storie di utenti piccole e piccole per definire ciò che un sistema esegue da un punto di vista dell'utente, non quello tecnico. Un utente si preoccupa se un prodotto è veloce, facile da usare e risolve il problema. Non importa se segue un'architettura a 3 livelli, ha Mongo DB, o se sta utilizzando Rails o Asp.net.