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?
3. I allocate work time to myself. The release date is the end of that time.
@Pierre 303, ¿Cuándo dijiste que queríastime
decir horas, es decir, construcciones nocturnas? o el tiempo como un sprint completo?Haga un SRS y luego codifique según los requisitos. Cuando haya alcanzado todos los objetivos mencionados en el SRS, es hora de detener y probar su producto.
fuente
A corto plazo, cuando tiene algo que funciona de manera confiable y no se bloquea. Incluso si no hace todo lo que podría hacer si trabajó en él indefinidamente. El envío como dice el refrán es una característica . La confiabilidad y el conjunto de funciones restringidas le brindan la oportunidad de que la funcionalidad principal sea probada por personas reales en el mundo real, que encontrarán cosas en las que nunca pensó que rompen su código de maneras que nunca se le pasarían por la mente. Cuantas menos funciones tenga, en este punto, más fácil será solucionar esos problemas iniciales. Como la funcionalidad principal funciona de manera más confiable, puede comenzar a implementar otras cosas "agradables" con el conocimiento de que su código más importante y central aún funciona bien.
A largo plazo: cuando haya completado y documentado el sistema de complementos que permitirá a sus usuarios (y, por supuesto, a usted) implementar nuevas funciones de forma rápida y sencilla si las necesita. Esa debería ser la última característica que necesita agregar, después de eso, todos son complementos.
fuente
Cuando esté seguro de la estabilidad de su software, vaya a una versión, aunque puede haber características pendientes. La estabilidad es más importante que las características. Obtenga los comentarios, incorpórelos a las funciones existentes y decida qué debe entregarse a continuación y cuándo.
fuente
Siempre puedes cuidar un proyecto para siempre.
Una regla muy buena es que nunca debe agregar cosas que no están en un caso de uso aprobado. Esto asegura que no termines con muchas cosas que sería bueno tener, pero que nadie usa. La aprobación garantiza que otros que usted estén de acuerdo en que esto es necesario en su proyecto.
fuente
Depende de por qué está agregando funciones. ¿Los propietarios del proyecto lo piden? usuarios? QA? Programadores?
Concéntrese en el propósito del programa y enfóquelo. Las solicitudes de características que extienden su propósito deben ser cuestionadas a fondo antes de que se convierta en una navaja suiza.
fuente
Ya no dejo de agregar funciones. Solo trato de sacar la aplicación lo antes posible y escribir archivos txt si es necesario. Entonces puedo decidir cuándo parar y cuándo trabajar en algo diferente
También ayuda que me guste hacer el mínimo posible para hacer algo (sin recurrir a la piratería).
fuente
Te sugiero que la caja de tiempo. Date una semana. Cree una lista de trabajo para completar durante esa semana, y asegúrese de que si tiene una función que no puede completar, puede respaldarla.
Al final de la semana suéltalo. Libertad anticipada, la liberación a menudo.
fuente
Cuando tenga algo confiable y útil, suelte. No tiene que dejar de agregar funciones, pero si alguien está usando lo que tiene, obtendrá una idea mucho mejor de las funciones que desea. Actualmente, estás adivinando.
fuente