Es curioso que cuando entro a Facebook me encuentro muchos comentarios en Messenger cómo “¿Estás programando?”, o “Aquí dándole al código” y hasta ahora no he encontrado a nadie que me diga algo como “Estoy planeando la navegación de una nueva aplicación” y esto tiene mucho que ver con la educación que nos imparten desde la escuela. Nos hacen creer que estamos siendo formados para ser los mejores programadores y eso es un error fatal. Tanto que nos quita el 75% de las posibilidades que tenemos de trabajo como verdaderos profesionales del software y mejor me explico antes de que me digan lo mal que esto suena.
Un profesional de software != Programador
Cuando hablamos de crear una aplicación al nivel que sea, el proceso de programación solo debe representar una de cuatro fases.
1 La planeación
La planeación es la fase más delicada si no hay planeación no hay nada. Eso es una constante que siempre debes tener. Hacer software al aire es una prueba de la falta de experiencia en un proyecto. Hay como dos mil herramientas para mquetar una aplicación y hasta puedes hacerlo a lápiz. Lo más importante es que tu cliente (incluso si eres tú mismo) debe saber a la perfección que es lo que una aplicación ofrecerá.
2 Desarrollo y pruebas
Aquí viene lo más divertido para muchos (me incluyo también), líneas y líneas de código. Pero no solo para la aplicación, en esta fase debes crear una buena sección de pruebas y no me refiero a poner al más nuevo del equipo a probar a lo loco que le pasa a la aplicación sino que se trata de un buen entorno de pruebas unitarias que te permita hacer pruebas de la aplicación mientras tu continúas con su desarrollo.
También es indispensable que aquí utilices un buen control de versiones, en mi perspectiva GitHub y Team Services son los más relevantes y que más he visto en uso. Al final, lejos de la plataforma que uses, no debes dejar de llevar un buen control de versiones y tampoco debes permitir que se suba una versión que no ha sido correctamente compilada.
3 Implementación
En esta etapa habrás terminado con tu código y ya te sientes seguro con las pruebas que has hecho, es momento de de evaluar tu nuevo producto en un ambiente pre productivo, siempre es una buena idea dejar tu aplicación a un número reducido de usuarios para ver su respuesta, puedes sacar una beta una vez que hayas integrado todo lo necesario para comenzar a producir, aquí una de las mejores pruebas que puedes hacer es probar tu aplicación en diferentes monitores, dispositivos o ambientes en donde sepas que tu aplicación puede ser ejecutada.
4 Monitoreo y aprendizaje
Todo el mundo ha escuchado de las nuevas versiones de software así que debes saber que el software cuenta con un ciclo sin fin. Es normal que se te ocurran nuevas ideas de funcionalidad y nuevas cosas que quieres ver en tu producto o incluso hayas encontrado una falla, para esto es esta etapa, para que aprendas como se comporta la aplicación en modo productivo.
Obtener información del comportamiento de tus usuarios es esencial para saber que secciones explotar, que contenido aprovechar y todo lo necesario para obtener un mejor producto y también hay un sinfin de complementos que te permiten obtener toda esta información. Hacerlo te dará mejor conocimiento de tu audiencia y podrás ofrecer un mejor producto en su siguiente versión.
Conclusión
Después de todo esto sigo en lo dicho y espero haber abierto un poco más tu panorama, el camino entre un programador y un profesional del software es muy largo y también diferente así que esta muy bien que te guste el código, pero considera todas estas etapas para crecer integramente.
Para más referencias quizá este video pueda darte más material acerca de todo esto:
https://channel9.msdn.com/Series/DevOps-Fundamentals/Introduction-to-DevOps