La informática y, en particular, el desarrollo de sistemas para la empresa, ha evolucionado mucho y muy rápidamente: lenguajes de programación, sistemas gestores de bases de datos, metodologías de trabajo, organización y gestión de proyectos de desarrollo de software son ejemplos claros de esta afirmación.
Además esta evolución está lejos de estabilizarse, ya que continúan apareciendo nuevos modelos de desarrollo, patrones de diseño y otros conceptos relacionados.
Vamos a estudiar algunos de los conceptos, principios, técnicas y otros elementos mediante los cuales es posible facilitar la comunicación entre las personas involucradas en el desarrollo de software, tanto los desarrolladores como los usuarios y clientes, consiguiendo reducir drásticamente el tiempo de desarrollo de sistemas de información empresarial. También nos ayudarán a facilitar la mantenibilidad y extensibilidad de los sistemas a lo largo de su ciclo de vida.