Estoy reescribiendo mi código alrededor de 10 veces antes de terminar. ¿Esto esta mal?

Cuando empiezo a escribir algo complejo, encuentro que reiniciar la escritura como 10 veces antes de terminar con lo que quiero, a menudo descartando cientos de líneas de código.

¿Estoy haciendo algo mal o hay otros que tienen flujos de trabajo como este?

EDIT: En este momento, estoy trabajando en un compilador modular. El último proyecto en el que estaba trabajando era un servidor en java. Antes de eso eran algunas cosas de concurrencia.

Hago un poco de planificación, y nunca comienzo a codificar antes de tener interfaces para todo.

Dado esto, ¿es normal simplemente limpiar la pizarra varias veces?

Respuestas a la pregunta(12)

Su respuesta a la pregunta