Hace algún tiempo escribí un script de Python muy pequeño que revisaba periódicamente un feed xml para nuevas entradas, y alertó al usuario de nuevas entradas cuando estaba presente. Escribí esto para mí, por lo que era esencialmente un programa basado en la consola que cualquier persona cómoda con una interfaz de consola podría haber usado.
Después de un tiempo decidí que podría ser más útil para otras personas y comencé a ordenarlo, desinfectar entradas, eliminar errores. Se me ocurrió que, como había escrito el guión, sabía cómo usarlo de manera eficiente, precisa, etc. Es posible que otros no, así que comencé a agregar una GUI. Esto comenzó como un menú simple y luego se expandió a una GUI más completa con una interfaz y un menú de opciones. Luego agregué preferencias de usuario almacenadas y también almacenamiento para feeds xml previamente buscados para acelerar las búsquedas repetidas.
Agregué el registro para ayudar a depurar la aplicación en caso de que las cosas salgan mal, llevé la aplicación a la última base de código estable de Python disponible para mi plataforma elegida y mejoré las características de diálogo.
He corregido y comentado mi código claramente, y todavía tengo cosas que creo que se pueden hacer para mejorar la aplicación antes de ponerla a disposición de los probadores alfa. Está muy lejos de mi guión original de 20-30 líneas. Lo que anticipé me tomaría solo una o dos horas para pasar de la prueba de concepto a un programa de uso aceptable, ha tomado entre 10 y 20 veces más. (Todavía soy un novato, y las cosas me llevan mucho tiempo, pero aún así ...)
¿Cómo sabe cuándo dejar de agregar / ajustar / arreglar cosas y dejar que su bebé salga a la intemperie?