Consejo: Qué tuve presente antes de desarrollar el código de este blog
¿No os ha pasado que después de un largo y laborioso trabajo de desarrollo habéis desplegado-publicado por primera vez vuestra aplicación y no funcionaba? Menos mal que podemos escudarnos tras aquello de “¡Pero si en mi máquina funciona!”.
A mí me ha sucedido varias veces, y en muchas de ellas, la solución ha pasado por crear otro proyecto de cero e ir “copiando” código del proyecto original al nuevo. Quien esté libre de culpa que tire la primera piedra.
Cómo solucionarlo
Una manera de minimizar estos errores y no tener que empezar de cero se consigue aplicando el concepto de: “Release early, release often”. Traducido sería algo así como: “publica pronto, publica con frecuencia”
El principal motivo de este principio es crear un circuito de retro-alimentación entre los usuarios y los programadores. Cuanto antes sepamos qué es lo que esperan los usuarios antes podremos enfocarnos en los puntos importantes.
La aplicación práctica que le doy a este concepto en la tarea de creación de este blog es:
- Creo una aplicación web casi vacía. Por ejemplo, la aplicación web que trae ASP.Net por defecto.
- Actualizo todas sus dependencias, ya sean javascript o .net con Nuget.
- Publico el proyecto, a ser posible en el mismo servidor que alojará la aplicación final.
Es decir, desde el inicio, antes incluso de ponerme a programar, ya publico la primera versión de la aplicación y puedo observar su comportamiento en el navegador.
Así, si algo no funciona puedo buscar las causas dentro de un abanico de posibilidades mucho más reducido. No he invertido muchas horas de trabajo, así que la frustración ante el problema es también menor.
No es que aplique el principio al pié de la letra, pero en esencia es lo mismo. No se necesita tener ordas de usuarios esperando a que informen del comportamiento de la aplicación, uno mismo juega el rol de usuario y se transmite la información lo antes posible ;).
A partir de aquí se inicia el ciclo corto de desarrollo-publicación, desarrollo-publicación, y así hasta el infinito.
Conclusión
¡Ok, entendido! Mi primera misión es crear un proyecto y publicarlo.
Supongo que no todo el mundo pone en práctica este principio de la misma manera. ¿Lo pones en práctica? ¿Cómo?