Um princípio fundamental dos processos de desenvolvimento modernos é o desenvolvimento ágil. Esta metodologia de desenvolvimento enfatiza o uso de pequenas histórias de usuários de tamanho de mordida para definir o que um sistema faz a partir de uma perspectiva de usuário, não uma técnica. Um usuário se importa se um produto é rápido, fácil de usar e resolve seu problema. Eles não se importam se segue uma arquitetura de 3 camadas, tem Mongo DB, ou se ele está usando Rails ou Asp.net.