Un programa exitoso debe tener una interfaz amigable y fácil de usar para el usuario, ser portable a nuevas versiones y cumplir con su objetivo principal de manera estable. Asimismo, es importante que la interfaz sea adecuada al entorno donde se usa y que sea sencillo modificarlo cuando cambien las reglas de negocio.