La ingeniería de software es el establecimiento y uso de principios de ingeniería para obtener software fiable y que funcione eficientemente. El proceso de software es un conjunto estructurado de actividades para desarrollar software de alta calidad e incluye actividades como especificación, diseño, validación y evolución. Los marcos de trabajo de procesos proveen una base para planificar el desarrollo de software a través de actividades, tareas y roles.