Legibles: el texto que lo describe debe ser claro, tal que permita entenderlo y leerlo fácilmente.
Modulares: Debe favorecer la división del problema en módulos pequeños.
Eficientes: Deben ocupar la mínima memoria y minimizar el tiempo de ejecución.
Inicio y Final: Debe comenzar en un estado inicial con una serie de datos específicos, y culmina con una solución o salida
Finitos: Debe acabar en algún momento.
Modificables:Debe estar diseñado de modo que sus modificaciones sean fáciles de realizar