El desarrollo de cualquier programa conlleva dos fases: el diseño y la programación. Utilizando OEP para desarrollar una aplicación evolutiva nos encontramos con estas dos fases, en las cuales primero se decide una representación adecuada al problema y los operadores genéticos a utilizar, y después se diseña un algoritmo evolutivo, utilizando los elementos anteriores del modo en que se haría cualquier otro algoritmo evolutivo.
Durante la fase de diseño, normalmente los objetos que se harán evolucionar quedan definidos por el problema a resolver y por los operadores genéticos a utilizar. El resto del diseño es, en general, independiente del problema: la selección de los individuos que se reproducirán, el esquema de migración, y el criterio de parada del algoritmo.
En la fase de programación debemos seleccionar el tipo de algoritmo que usaremos y definir los distintos objetos que necesita.