El desarrollo de software evoluciona constantemente y en la actualidad existen una serie de practicas que ayudan al desarrollo de nuevas aplicaciones con nuevas arquitecturas tecnológicas. Estas practicas son: