Este documento compara la artesanía del software con la ingeniería del software. La artesanía del software se caracteriza por procesos definidos de forma ocasional y caótica y el éxito depende del esfuerzo individual. La ingeniería del software define y utiliza procesos formales, lenguajes de modelado y metodologías de desarrollo de forma documentada y estandarizada. Esto permite mejorar continuamente el proceso mediante el uso de métricas y tecnologías innovadoras.