Los desastres ocurren, en todos los ámbitos, incluido el del desarrollo de un proyecto web. Si preguntamos a cualquier profesional con algo de experiencia terminará confesándonos que en más de una ocasión ha pasado por situaciones embarazosas, incluso que ha perdido semanas de trabajo por un incidente que podría haber previsto.
Es cierto que hay muchos factores que debemos tener en cuenta al desarrollar un proyecto web, y que una vez se ha superado una situación traumática es más fácil ser precavido de cara al futuro, pero lo ideal es conocer los riesgos de antemano y poner los medios adecuados para evitarlos. Precisamente por ello, antes de lanzar un proyecto web hay una serie de consideraciones básicas que conviene seguir y, por supuesto, herramientas que nos ayudarán en estas tareas.
- Copias de seguridad. Las copias de seguridad son vitales en cualquier negocio. Pero no vale con confiar en que se están realizando y simplemente esperar que estén ahí cuando se necesiten. Conviene hacer restauraciones de las copias y comprobar nuestro sistema. Si no tomas estas medidas, es probable que no seas el primero que, cuando necesita utilizarlas, se da cuenta de que no están o no contienen los datos que deberían.
- Entornos de desarrollo diferentes de producción. Todos los desarrolladores deberían trabajar en entornos separados, ya sea en local o en un servidor que reproduzca lo más fielmente posible el entorno donde luego van a estar en producción las aplicaciones. Si se está desarrollando para la web, generalmente tendremos instalados los servidores web y lenguajes con los que se va a trabajar, así como los sistemas gestores de bases de datos. Nunca se debe programar “en caliente”, contra el servidor de producción, ya que puede ser fuente de numerosos desastres.
Hay muchos factores que debemos tener en cuenta al desarrollar un proyecto web, y que una vez se ha superado una situación traumática es más fácil ser precavido de cara al futuro
En este punto, puede ser interesante la posibilidad de contar con un servidor de pre-producción donde analicemos en remoto el sitio o aplicación en funcionamiento antes de subir cualquier cambio a producción.
- Realizar control de versiones. Además de trabajar en local, cada programador debería llevar un control de su código. Esto es vital especialmente en los equipos de desarrollo con varios integrantes, donde se sincronizan los cambios en el código contra un sistema de control de versiones. Hoy Git es el sistema más utilizado, pero no el único. También podemos instalar un software similar a Github en nuestros propios servidores con herramientas como https://gogs.io/.
- Tests a todos los niveles. Hay que hacer pruebas. Y no nos referimos solo a los desarrollos de pruebas unitarias o al desarrollo guiado por pruebas. Si programas para la web es ideal probar las aplicaciones en la mayoría de los navegadores, versiones y sistemas operativos. Sin embargo, es casi imposible tenerlos todos instalados. Precisamente por ello existen servicios como https://www.browserstack.com.
Por otra parte, cuando hablamos de tests, a veces conviene automatizar ciertos procesos para no tener que repetirlos una y otra vez. Para eso existen herramientas como Selenium. Además, de cara al usuario conviene pasar test UI/UX, para comprobar si tal como se ha diseñado un sitio, o un proceso de compra, se obtienen los resultados deseados cuando una persona real trata de usar la aplicación.
- Optimización. No nos olvidemos de optimizar la página para un uso fluido. No solo porque redundará en la satisfacción de nuestros usuarios, también porque Google lo tiene en cuenta para ponderar los resultados. Existen gran cantidad de herramientas para mejorar la optimización de un sitio, desde sitios informativos como https://browserdiet.com, hasta soluciones más sofisticadas como PageSpeed de Google, capaz de dar una calificación para el sitio e informar de qué elementos deberíamos mejorar.
- Revisión SEO. A la altura de cualquier profesional está mantener títulos adecuados, contenidos relevantes y de calidad, evitar enlaces rotos o excesivos, etc. Pero cuidado con no caer en malas prácticas que nos puedan penalizar. Y es que las penalizaciones son peores que la falta de acción por desconocimiento. Por ello debemos ser especialmente precavidos con archivos como robots.txt, que pueden bloquear motores como Google al rastrear nuestro sitio. Puedes encontrar más información sobre este tema en http://www.robotstxt.org.
- Contenidos legales. Parece evidente, pero ajustarse a la legislación de cada país es imprescindible. Textos legales, políticas de privacidad o cookies son temas que no debemos dejar pasar.