Primero documentar, luego programar

Desde que pasas por las clases de ingeniería del software no hacen más que repetirte que primero hay que definir requisitos, realizar una cantidad ingente de diagramas UML, seguir una metodología, plantearte el ciclo de vida que vas a seguir,etc. Se supone que cuando realizas el proyecto de fin de carrera tienes que aplicar todo eso, primero dedicas tiempo a lo que se denomina planificar y documentar y luego pasas al desarrollo en estado puro, siempre dependiendo del tipo de metodología utilizada.

Dejando un poco de lado la teoría, y llevándolo a la práctica, opino que realizar una correcta planificación de tareas así como definir los requisitos es fundamental en cualquier desarrollo. Es cierto que resulta una tarea pesada, que estas deseando ponerte a cacharrear, ver los frutos de tu trabajo, pero después de dos PFC puedo decir que es lo mejor que he podido hacer. Es tan simple como plantearte qué quieres hacer y en qué orden lo vas a hacer, y si realizas algún diagrama en UML ya tienes claro cómo lo vas a hacer. Luego, cuando toca programar, a  muchos de los problemas ya les tienes una solución. También se evita que tu programa empiece a crecer con mejoras y más mejoras, es decir, como previamente te has planteado lo que quieres hacer, ya tienes unos límites de hasta donde debes llegar para adaptarte a los tiempos de desarrollo establecidos.

En definitiva, aunque me quejara de estar documentando cuando empecé el proyecto, me alegro de haberlo hecho así. Y no quiero ni imaginar como hubiera sido tener que terminar de programar y ponerme a realizar toda la documentación, ingeniería inversa se llama. Ahora en vez de dedicarme a poner todo bonito en un documento de Word, hubiera tenido que hacer toda esa pesada tarea para que no me sirviera de nada, trabajo y tiempo perdido.

WordPress 3.0

Terminada la primera fase de documentación, tras hartarme de realizar diagramas y documentar decisiones, he decidido dedicar la siguiente fase de desarrollo al gestor de blogs. Lo primero que tenía que hacer, antes de ponerme a documentar y desarrollar, era decidir si al final iba a migrar de WPMU a WordPress 3.0 con soporte para multisite. Así que me he pasado el fin de semana leyendo experiencias de otros usuarios, documentándome de los posibles problemas que podrían surgirme y, sobre todo, asegurándome de que los plugins que tengo ya seleccionados para que formen parte del core del gestor fueran compatibles con esta nueva versión. Quiero hacer incapié en que esto último no sería un problema si dispusiera del tiempo necesario para arreglar los bugs de aquellos que no funcionaran.

Al final después de tanto leer he pasado a la fase de experimentación, me he instalado un WordPress 3.0 en un servidor y me he puesto a hacer pruebas como loca. Ahora puedo decir que me encantan muchos de los cambios que han hecho, no son grandes cambios pero han mejorado la parte de administración muchísimo. Ya era hora de que la decisión de tener multisite o un único blog no estuviera sujeta a instalar herramientas diferentes y sobre todo, se terminó el buscar plugins compatibles con WPMU. Al código todavía no le he metido mano pero de momento he visto que da soporte para menús de una forma similar al manejo de los widgets. El único cambio que podría no ser muy acertado es permitir a los administradores que todo el código de los plugins y del tema se edite desde la interfaz web. Es cierto que dicho cambio es muy cómodo para evitar tener que trabajar en el servidor directamente pero me parece algo inseguro dejar tan al alcance ficheros en los que se puede escribir código PHP y desde los cuáles se pueden obtener toda la información contenida en la base de datos.

A pesar de este último comentario, tengo claro que voy a montar Agorá en un WordPress 3.0 porque los problemas que me podía causar ya están superados. Además, después de sopesar pros y contras, he decidido que voy a hacer una instalación desde cero y los pocos blogs que hay en el actual gestor los importo dentro del nuevo, así me evito problemas de migración entre sistemas y que me quede por ahí basura. Como voy a importar los blogs, el directorio donde se encuentre el nuevo WordPress no será un problema (parece una tontería pero WordPress es muy toca narices con las rutas porque no son relativas y las propaga por toda la base de datos).

Mañana más.