 Hola, buenas. Vengo a presentaros a Luis Molina. Luis dice que observar desde las alturas si viajar a la naturaleza le ayuda a tener perspectiva en el día a día. Él empezó como webmaster y dice seguir aprendiendo cada día. Fan de leer blog por RSS, de Pearl Jam, Chemical Brothers, Rafaela Carrá, también de Batman, un montón de cosas. Una de sus pelis favoritas es Amanece, que no es poco. Y ya solo por esto último, deberíamos darle un gran aplauso. Así que por favor, recibámosle con un gran aplauso. ¿Qué tal? Buenos días. Bueno, antes de nada quiero agradecerle a la organización que me haya invitado a esta ponencia, porque es la primera vez que participo en una Work on Componente y la verdad es que estoy súper emocionado. La razón de venir aquí, a ver si esto funciona, ahí está. La razón de venir aquí a contaros algo es la incertidumbre. Es lo principal que me ha motivado a hacer esta charla, porque la incertidumbre es algo que forma parte de nuestro día a día. Finalmente, sobre todo cuando tenemos que abordar proyectos con cierta complejidad. Y no es fácil, ni es posible casi adivinar el futuro, pero en realidad no hace falta, creo yo, adivinar el futuro si luego toma la incertidumbre como algo inherente a los proyectos, al día a día, y aprende a gestionarla y forma parte de la aventura que significa cada proyecto. Entonces, hoy venía a hablar de la incertidumbre, en lo que significa la aventura cuando está en un WordPress, cuando tienes que implementar una funcionalidad, y tienes que elegir, instalar, buscar un plugin o hacer un desarrollo propio. Es una cosa que en nuestro trabajo nos encontramos, una decisión que tenemos que tomar casi todos los días, en función de los clientes que tenga o los proyectos que tenga entre manos, y yo muchas veces me siento así. No sé si el camino por el que me va a llevar, comérmelo, ese plugin, me va a llevar por un buen comino, me va a hacer terminar, vete a saber dónde, o si me voy a morir por mitad del camino, o si dejo el plugin y me meto en desarrollo medida, eso me va a costar también la misma vida. No lo tengo muy claro, al principio, por eso lo considero una aventura, porque ni sabes cómo va a ser el camino, ni sabes dónde vas a acabar. Entonces, lo que uno se imagina luego a veces en la vida real puede ser incluso peor, elegir entre ciertos plugins cuando las posibilidades son muy escasas, o en paparte de un código, encargárselo a alguien, es una auténtica aventura a veces. Vengo a contar algunos criterios los que nos basamos en el equipo, yo también personalmente, a la hora de tomar la decisión, y espero que sean útiles para el día a día. El primero de esos criterios es el de los requisitos específicos de la funcionalidad que tengáis que implementar. Si son unos requisitos muy en el centro de tu negocio, muy en el core, que afectan mucho, a veces, por ejemplo, una integración con un sistema de gestión, puede ser algo muy particular de tu negocio, pues probablemente un desarrollo a medida sea la mejor opción. Siempre que lo pongas en consonancia con el resto de criterios que comentemos. Otro criterio muy importante es el del dinero. Además, hablando de dinero, pensando en los costes que conlleva la implementación de la solución, ya sea un desarrollo, o ya sea instalar un plugin o configurarlo, como el coste que conlleva, mantenerlo, actualizarlo, etcétera. A veces, todos sabemos que el desarrollo de mi idea suele ser más caro. Es una cosa de tener en cuenta. Otro de los criterios importantes, que es un factor clave casi todos los días junto con el dinero, es el del tiempo. El tiempo de implementación esencial, pero también el tiempo que echas en analizar la solución, en analizar la funcionalidad, el tiempo que te va a conllevar, mantenerlo después, etcétera. Los tiempos son siempre una estimación. Y aparte, tienes que tener en cuenta el tiempo, el de la en que tengas, para cuándo tiene que estar hecho. Si es una solución que necesitas rápidamente, probablemente un plugin sea la mejor opción. ¿Cómo te manejas tú a nivel técnico? ¿Cómo se maneja tu equipo a nivel técnico? ¿La capacidad, las habilidades técnicas que tengas tú o que tenga tu equipo a la hora de implementar la funcionalidad? Es un punto clave y que a veces se nos olvida. Saber manejarte, que incluso si tú eres capaz de programar algo, tú mismo puedes hacerlo si lo necesitas, si es algo muy particular. Ten en cuenta que luego eres tú mismo que lo va a tener que mantener. Entonces, evalúa eso junto con las necesidades de tener alguien técnico. Incluso a veces, esta capacidad técnica no es solamente la capacidad de saber programar. Es también la capacidad de saber comprender realmente lo que necesita, lo que ha de donde quieres llegar. Eso es una de las cosas más, que son el punto clave antes de ponerte a elaborar códigos. Otro criterio para mí súper importante es el de poder dormir tranquilo todas las noches. Hoy en día, la seguridad es esencial en cualquier funcionalidad que tenga un sitio web. Punto crítico, imprescindible. Todo tiene que tener un punto de seguridad importantísimo. La seguridad además se mide. Hay un plugin que se actualizan todos los días, algunos quedan descontinuados y se quedan por el camino. Si eso ocurre, no lo dejes así. Porque un plugin que hoy es seguro mañana puede no serlo. Si te desarrollan códigos medidas o si lo desarrollas tú mismo, asegúrate de que es un código seguro, de que cumple los estándares, de que sanitiza, valida, etcétera. Echa mucha dedicación, mucha importancia a la seguridad. Y, por supuesto, manténlo actualizado. Lo que hoy es seguro, mañana puede dejar de serlo y es vulnerable, entonces no lo dejes. Relacionado también con el tema de la actualización y el mantenimiento, está el tema de la evolución de tu funcionalidad. Lo que hoy te sirve para hacer cuatro cositas, mañana lo mejor lo puedes necesitar para hacer cinco cositas. Lo que hoy tienes una necesidad que la puedes cubrir con un plugin que tiene estas opciones. A lo mejor mañana tu negocio ha evolucionado o los clientes te requieren alguna otra historia y necesitas evolucionar esa funcionalidad que inicialmente creaste. Si tú ya desde un principio estás pensando en una funcionalidad en una característica de tu negocio que puede llegar a ser, que puede llegar a crecer y que puede llegar a ser cambiante porque los clientes pueden evolucionar, probablemente un desarrollo o medida sea la mejor opción porque te puede permitir más flexibilidad a la hora de gestionar esos cambios. Por último, que le agente a la mano quién ha instalado alguna vez un plugin y se le ha desmontado media web. Los de este lado, o mogollón, los de este lado no tanto, pero de este lado habéis puesto todo junto. Está la orden del día prácticamente instalar alguna cosa y que se te desmonte otra es una cosa que ocurre. Siempre que puedas, haz pruebas, cuando ya tengas tratada la funcionalidad, haz pruebas, siempre que puedas, evalúa lo que estás haciendo y siempre que puedas, piensa en los efectos, como esto como lo medicina, reacciones adversas del medicamento. Bueno, pues esto es lo mismo. Ten cuidado con los efectos colaterales, ten cuidado con los efectos adversos y ten cuidado con los efectos que no conoce y que te pueden surgir dentro de un mes, de pronto haces clic aquí y hace la web. ¡Pum! A tomar por saco, ya no se puede comprar. Ostras, pero no sé qué, es que la última actualización del plugin es todo lo otro. Entonces, la compatibilidad de plugins con otros plugins, de plugins con el tema que tengas activo, si algún día cambia de tema, asegúrate de que los plugins o el desarrollo media que tengas también sigue siendo compatible. Bien, no sé de cuántos he hablado, cinco, seis criterios, siete, llega el momento de tomar la decisión, llega el momento en que tu jefe, tu responsable, tu cliente y yo, ¿cómo va la funcionalidad? ¿Lo hacemos? ¿No lo hacemos? ¿Se compra plugins? ¿No se compra? ¿Uso gratuito? No, ¿Lo va a hacer furanito? Mi primo, que es programador, aprendió a programar plugin en WordPress, lo va a hacer, hay que tomar una decisión. Tomar una decisión a veces es complicado y más cuando tenemos que evaluar toda una serie de criterios, que bueno, los que yo he comentado aquí son solamente unos criterios. En cada caso, para cada funcionalidad, pueden serviros estos, pueden serviros otros que se os ocurran, tenéis que evaluar el contexto vuestro, el contexto de cada cliente, el contexto de cada funcionalidad dentro de cada proyecto, ¿vale? Entonces, para ayudar en la toma de decisiones, a veces viene bien apoyarse en alguna herramienta. Una matriz de decisión es una revienta muy sencilla de construir y que te puede ayudar a tomar decisiones cuando tienes que evaluar muchos criterios a la vez, ¿vale? Entonces, en una matriz de decisión, como digo, es muy fácil de construir, en las filas de la matriz ponéis cada una de las opciones que queréis evaluar, pues el desarrollo a medida y el plugin, pero además, lo bueno de la matriz de decisión que no se limita la decisión a dos opciones, podéis poner el desarrollo de medidas y el plugin R, el plugin B, el plugin C, en fin, las posibilidades distintas que hayáis encontrado, ¿OK? Eso en las filas, en las columnas, ponéis los criterios que vosotros queráis evaluar para esa funcionalidad concreta. En este caso, he puesto aquí los criterios que he hablado, pues los requisitos específicos de tu negocio, los tiempos de desarrollo, los costes, etcétera, ¿vale? Todo lo que acabo de comentar hace un poquito. En la fila de arriba a cada criterio le asignamos una importancia para nuestro caso concreto, en esta funcionalidad concreta, ¿OK? Pues yo aquí en este caso a los requisitos específicos del negocio le doy la máxima importancia, aquí lo he evaluado de uno a cinco, ¿OK? Al tema de capacidad técnica le doy muy poca importancia, porque si no lo hago yo, lo hace mi compañero, eso no es una cosa que yo quiera darle mucha importancia en día. Que sea seguro, para mí es súper importante, porque este cliente es un cliente crítico, no puede no puede permitirse cualquier movida de seguridad, ¿OK? Entonces, cada criterio arriba le dais unos pesos, una importancia, y luego para cada opción pues vais evaluando qué calidad que le dais, qué importancia le dais a esa opción para cada uno de los criterios, ¿OK? Luego basta con hacer unas multiplicaciones y una suma y eso os va a dar un indicador, ¿OK? El indicador ayuda a tomar la decisión, ¿no? Porque la matriz de decisión os ayuda a tomar conciencia real de cada una de las cosas que estáis evaluando. A veces es muy fácil tomar la decisión, porque tiene muy claro que esto lo va a hacer con un plugin y ya está. Pero cuando la decisión no es fácil, cuando le está enfrentando a la aventura de si tiro por aquí y yo tiro por allí, la matriz de decisión te hace bajar, pararte, concienciarte de qué estás evaluando aquí en este caso, porque a veces te estás jugando tu propio dinero, te estás jugando de la pasta del cliente en implementar algo que te puede llevar o 15 minutos o te puede llevar 15 meses, ¿OK? Entonces, todo esos tiempos una matriz de decisión te va a ayudar. Por la puntuación que te salga al final de cada una de las opciones es un indicativo muy importante, eso te orienta pero también acuérdate de que hay otros aspectos que puedes que no hayas evaluado cuenta con ellos habla con tu equipo habla con tu cliente y ten en cuenta los factores externos y el contexto en el que tienes que desarrollar esa funcionalidad, ¿OK? Así que bueno, yo espero que os ayude toda esta idea para los próximos melones que tengáis que abrir en vuestros proyectos, en vuestros clientes que os ayude todos estos criterios y muchas gracias por haber escuchado y nos vemos.