5 Ingeniería de software

YouTube: https://youtu.be/HWBSgCepO50

5.1 Entrevista

¿Podría contarme un poco más sobre ¿quién es el Ing. Marlon Pérez?

Soy un ingeniero graduado de la Universidad de San Carlos, yo me gradué en 1997 y siempre me he desarrollado en el área de desarrollo de software. Empecé en ambientes clientes servidor y pues he visto la evolución al ambiente web inicialmente y luego ya recientemente pues lo que es los ambientes de la nube y todas las herramientas que nos brinda la nube para poder desarrollar software.

¿Cómo integra sus habilidades como Product Manager para liderar proyectos en entornos basados en la nube?

Como Product Manager básicamente se trata de liderar los pasos en el ciclo de vida de la construcción del producto de software enfocándose o centrándose en el producto final y en los clientes que van a utilizar ese producto final.

Tal vez los aspectos relevantes como Product Manager sería la definición de los objetivos y la visión del producto final de software que se desea construir, priorizar y gestionar el backlog, facilitar la comunicación con el equipo de desarrollo. Enfocar el software o el producto de software a construir en la experiencia del usuario, digamos que esto es general. Realmente, no importa bajo qué tecnología uno haga el proyecto, pues se enfocarán en estos mismos aspectos.

¿Cuáles son sus enfoques clave para la gestión de productos ágiles en un entorno de servicios en la nube?

Cuando estamos hablando de una metodología ágil para poder construir productos de software, básicamente, nos tenemos que enfocar en ciertos enfoques importantes. El primero sería la iteración y la entrega cíclicas.

O sea, si mi metodología es correcta, va a ser ágil, yo debo tratar de entregar algo funcional con mucha frecuencia porque esa es la clave del desarrollo ágil, ir entregando productos funcionales porque eso va a ayudar a que exista una participación activa del cliente.

El cliente no da muchos detalles de lo que necesita, tiene una idea, se discute y se empieza a construir cíclicamente y de una manera incremental. Entonces se le va dando algo, y él va retroalimentando con rapidez y se entra en una dinámica de construcción iterativa, cíclica e incremental y con esto pues digamos que tenemos que tener la habilidad de que la colaboración y la comunicación sean realmente ágiles.

¿Puede compartir un ejemplo específico de cómo ha utilizado nuevas tecnologías para mejorar eficientemente tareas existentes en su experiencia profesional?

Nosotros, digamos, desde el punto de vista metodológico, se ha utilizado una herramienta que se llama Jira y esta es gratuita y permite llevar el backlog, llevar digamos de ese backlog un detalle como de historias secundarias, poder manejar los sprints, saber qué miembro del equipo está a cargo de cada historia dentro del sprint, todo eso digamos que la gestión la ha agilizado mucho y el cliente en esa misma herramienta puede descargar los reportes y ver lo que se está construyendo, entonces la herramienta permite establecer el nivel de complejidad de cada historia y establecer el tiempo que va a durar el sprint, entonces digamos que en ese sentido sería algo que nos ha ayudado, desde otro enfoque, la nube actualmente también nos brinda como el framework de trabajo, es framework de trabajo está en la nube, esto la gran ventaja que tenemos es que este framework pues nos hace más productivos, nos ayuda a crear cosas con rapidez y a trabajar todo sobre el mismo producto, entonces uno puede ver lo que están haciendo sus programadores y verificar la funcionalidad, establecer si está comprendiendo correctamente los modelos que están detrás de esa solución y finalmente en esos mismos ambientes, digamos que en la nube se tienen todos los ambientes que normalmente se tienen en onpremise, el ambiente de desarrollo, el ambiente de certificación, el ambiente de producción, entonces uno pues de una manera bastante sencilla puede mostrarle al usuario final cómo va quedando el producto y exactamente lo que se les muestra es al final lo que es, obtienen y nos retroalimentan para ver si realmente la experiencia del usuario está cumpliendo su objetivo o se está logrando ese objetivo de la experiencia de usuario que realmente esa es la clave, si nosotros logramos una buena experiencia de usuario ese software va a ser exitoso y va a funcionar y va a ser utilizado y va a crecer.

Como profesional multilingüe, ¿cómo ha aprovechado esta habilidad en la gestión de productos y la arquitectura en la nube en entornos tecnológicos globales?

El manejo del inglés es realmente muy importante porque digamos que la tecnología más moderna que ahora sería muchos servicios que nos brindan las nubes la mayoría de la documentación está en inglés y como uno debe ser más o menos autodidacta porque aunque tal vez te han enseñado de algunas algo pero esto nunca para, siempre salen cosas nuevas, siempre sale una versión más actualizada, y cuando estás en algo muy moderno, casi siempre lo vas a encontrar en inglés.

Entonces, para lograr ese autoaprendizaje de las cosas más nuevas, es indispensable el inglés. Y luego, el otro tema importante del idioma es porque ahora, digamos, nuestras empresas no están circunscritas, a un entorno local.

¿Cuáles son los desafíos comunes que ha enfrentado al liderar el desarrollo ágil de productos en la nube y cómo los ha superado?

El principal desafío es que muchas personas del equipo de desarrollo no conocen todavía bien todo lo que la nube puede hacer. Entonces uno debe tener esa habilidad de identificar si tienen algún punto débil en cuanto al conocimiento de la tecnología que se va a usar y la manera de superar eso es capacitando a tu equipo.

¿Cómo evalúa y selecciona las soluciones en la nube para cumplir con los requisitos específicos de los productos que gestionas?

Lo que haría es un comparativo costo beneficio, es decir, ¿cuánto me costaría a mí crear una solución en la nube vrs crearla en mi propia infraestructura y un análisis de ventajas y desventajas de cada ambiente para tratar de presentarlo a las personas que toman la decisión.

¿Cuál es su enfoque para mantenerse actualizado sobre las últimas tendencias tecnológicas y cómo aplica ese conocimiento en su trabajo diario?

Siempre estar en las versiones más actualizadas porque estas siempre traen mejoras y aditamentos que amplían la herramienta y generalmente si hay una nueva tecnología, ahí la van incorporando.

Este, se trata de buscar cursos, digamos, esto es no solo personal, sino para todo el equipo. Todo el equipo tiene que estar constantemente buscando nuevas cosas y compartiéndolas, porque así abarcamos más, porque esto va creciendo enormemente y muy rápido.

Entonces se va viendo qué mejora y se trata de identificar si encontramos algún curso que nos ayude a certificarnos en cosas puntuales y entonces vamos repartiendo con todo el equipo que nos vamos certificando y el que se certifica de alguna manera también retroalimenta a los demás acerca de los puntos clave de lo que ha aprendido.

¿Cómo logra manejar la colaboración entre equipos de desarrollo y gestión de productos en un entorno tecnológico altamente dinámico?

Esto lo logramos con la herramienta Jira, que justamente sirve para que el equipo colabore, porque ahí se define todo el backlog, se eligen las historias que van a estar en el sprint, se les da un, digamos, se les califica para saber su complejidad y se asigna un miembro del equipo responsable.

Entonces eso nos ayuda a construir en el sprint lo que queremos construir. Y en él, digamos, que estamos utilizando nosotros una metodología ágil, que es el scrum. Y esto tiene sus etapas. Y entonces en esas etapas hay sesiones donde todos nos retroalimentamos.

¿Puede destacar una experiencia en la que lideró con éxito la implementación de una solución en la nube que resultó especialmente beneficiosa para la empresa?

Al principio es un poco difícil porque pensar que tu software digamos que para el cliente el software en la nube es algo que él siente un poco de temor porque él piensa y si un día no tengo internet y cómo le hago o sea si tengo un problema con una máquina que yo controlo pues yo miro y busco gente y miro cómo la levanto pero y qué pasa en la nube entonces digamos explicarles que la nube es una infraestructura mucho más robusta que cualquier data centro que no pueda desarrollar en su empresa pues este es difícil pero cuando el proyecto ya está funcionando que eso digamos nos pasó a nosotros tenemos un producto que es un bpm y es un bpm en anu entonces cuando ese producto por fin lo logramos preparar y empezó a funcionar se dio cuenta de que el producto era muy estable, estaba siempre disponible el hecho de que estaba en la nube facilitó accederlo desde aplicaciones en el teléfono desde este desde el web la interacción de las personas vieron que tenían buen rendimiento y el costo porque es mucho era mucho más económico haberlo desarrollado de esa forma a haber comprado una infraestructura que pudiera manejar eso y luego conforme creció porque digamos que el proyecto empezó pequeño con costo relativamente bajo y cuando empezó a crecer vio que la inversión del crecimiento realmente no era tan descontrolada que era otro de sus miedos.

Mensaje del Ing. Marlon Pérez

Motivarlos a que si les gusta el área de desarrollo de software pues que se apasionen por aprender, por tratar de sentir que son capaces de construir cosas y que son cosas de clase mundial, eso significa que lo que hagan en el software puede ser utilizado y puede ser útil por cualquier persona en todo el mundo y que lograr eso los va a ayudar a ellos también a afinarse como profesionales en una rama muy específica y pues les va a abrir muchas puertas. Si están en el área que les gusta, pues seguramente van a disfrutar de la vida que esas oportunidades les va a brindar.