La ingeniería de plataformas puede hacer que los equipos de desarrollo sean más productivos al permitir el autoservicio para los desarrolladores, de modo que no tengan que esperar días o semanas por tickets de TI solo para configurar la infraestructura necesaria para un proyecto. Pero para obtener los beneficios, es importante preparar a su equipo de ingeniería de plataformas para el éxito asegurándose de que tengan las habilidades, la estructura y los procesos de trabajo necesarios. «Tener un equipo sólido hace que la experiencia sea mucho más fácil para las personas que reciben y para las que construyen la plataforma», dijo Ryan Cook, ingeniero principal de software de Red Hat, vicepresidente de producto y crecimiento de la empresa. IDP Humanitec y organizador de PlatformCon, cree que una de estas habilidades importantes es la capacidad de tener una mentalidad de producto, abordando las cosas desde una perspectiva de desarrollo continuo basada en un estrecho circuito de retroalimentación con los equipos de trabajo. están construyendo las plataformas, en lugar de crear y enviar software y luego terminarlo. RELACIONADO: Los desplazados internos podrían ser la forma de resolver el problema de la complejidad del desarrollo «Se trata realmente de ver a los desarrolladores desde una perspectiva diferente, que son los clientes internos y nosotros, atendiéndolos y solucionando sus problemas», dijo Galante. Cook está de acuerdo con esto y agrega que «comprender lo que necesitan los equipos, lo que necesitan las personas que construyen las plataformas, es la mejor manera de tener éxito». La comunicación también es clave, porque las plataformas interactúan con todo (y con múltiples equipos) en una organización de ingeniería. Esto incluye desarrolladores, equipos de infraestructura y operaciones (I&O), equipos de seguridad, arquitectos, ejecutivos y más. «Para que todos estén a bordo, es necesario que haya un gerente de marketing interno en el equipo de la plataforma que alinee de manera efectiva el desarrollo de la plataforma y los beneficios que aporta a los intereses creados de los diferentes grupos de partes interesadas», explicó Galante. Por ejemplo, a un equipo de desarrollo que está experimentando largas esperas por parte del equipo de infraestructura se le puede vender una plataforma diciéndole que reducirá los tiempos de espera y mejorará la experiencia del desarrollador. Podría venderse al equipo de seguridad como algo que hará cumplir la gobernanza y las políticas de forma predeterminada. Y podría venderse al equipo de infraestructura como algo que reducirá la necesidad de realizar una configuración manual cada vez que un desarrollador necesite algo. Por lo tanto, es necesario que haya alguien en el equipo de ingeniería de la plataforma que sea capaz de articular y comunicar estos beneficios a las distintas partes interesadas, para que todos comprendan que se trata de un esfuerzo que vale la pena. Una tercera habilidad importante es la profunda capacidad y comprensión técnicas, dijo Zohar Einy, director ejecutivo de Port, otro proveedor de desplazados internos. Explicó que es importante que un ingeniero de plataformas comprenda cómo se configuran los componentes de la pila técnica de la empresa, qué herramientas de desarrollo se utilizan, etc. «Necesitan tener una muy buena comprensión de cómo están conectadas las cosas y cómo se construye la plataforma entre bastidores», dijo. Cook de Red Hat cree que es una buena idea tener diferentes personas con diferentes áreas de especialización, como alguien que sea realmente bueno en telemetría o seguridad, o desarrollo o virtualización, o lo que sea. «Todos tenemos esta experiencia única, pero el mismo objetivo, y creo que la experiencia ayuda porque les da a quienes son expertos en su campo la confianza para seguir siéndolo, mientras les da a otras personas el respiro que no tienen». no tienen que convertirse en expertos fuera de sus ámbitos individuales. Así que todos se apoyan unos en otros, lo que crea una relación buena y amistosa internamente con el equipo”, afirmó. Roles específicos que componen un equipo de plataforma Según Galante, hay cuatro roles principales que todos los equipos de plataforma deben tener: gerente de plataforma, gerente de producto de plataforma, ingenieros de plataforma e ingenieros de plataforma de infraestructura. El jefe de la plataforma es, en última instancia, la persona que motivará y venderá la plataforma a los niveles superiores de los departamentos legal y de cumplimiento, finanzas y ejecutivos. Tienen la responsabilidad de explicar el valor que pueden tener las plataformas y «garantizar que veamos la plataforma como un generador de valor, en lugar de un centro de costos». También actualizarán continuamente a las partes interesadas sobre el progreso a lo largo del ciclo de vida de la plataforma. El gerente de producto de la plataforma es la persona responsable de asegurarse de que la plataforma realmente se construya. También están ahí para facilitar el compromiso de las diferentes partes interesadas, como asegurarse de que el equipo de seguridad esté contento porque la plataforma aplica la seguridad o que los arquitectos estén contentos porque la plataforma encaja en la arquitectura empresarial más amplia. También son responsables de garantizar que los usuarios finales (los desarrolladores) estén satisfechos con la plataforma y realmente quieran utilizarla. Según Galante, existe una delgada línea entre abstraer la complejidad subyacente de la infraestructura y al mismo tiempo mantener suficiente contexto para que los desarrolladores hagan su trabajo adecuadamente. “Quieres ofrecer a los desarrolladores caminos pavimentados y formas realmente intuitivas de interactuar con tu cadena de herramientas cada vez más compleja… Pero al final del día, siguen siendo ingenieros. Quieren poder seguir teniendo cierto nivel de control y contexto sobre el trabajo que están haciendo. Y esto es precisamente en lo que se centra el product manager de la plataforma”, afirmó Galante. Los dos últimos roles son ingenieros de plataformas e ingenieros de plataformas de infraestructura. El motivo de la diferenciación es que los ingenieros de plataformas son la voz de los desarrolladores para los que construyen, mientras que los ingenieros de plataformas de infraestructura son la voz del equipo de I&O. Según Galante, la atención se centra a menudo en mejorar la experiencia del desarrollador, pero es importante asegurarse de que también se tengan en cuenta las necesidades del equipo de I&O. «Se puede pensar en la plataforma esencialmente como una máquina expendedora que se mantiene, se hace crecer y se brinda como un servicio al resto de la organización», dijo. «Y ahí es donde es realmente importante tener este tipo de rol de ingeniero de plataforma de infraestructura que a menudo puede provenir de la escena de infraestructura y construir ese puente para garantizar que ambas perspectivas estén representadas en el equipo de plataforma». Los tipos de trabajos que encajan bien con los equipos de plataforma Einy cree que muchos roles existentes pueden realizar una buena transición al equipo de ingeniería de plataforma, como ingenieros de DevOps, gerentes de productos técnicos y SRE. Según Einy, DevOps es un espectro y puede haber ingenieros de DevOps que estén más orientados a la infraestructura y otros que estén más orientados a la experiencia. Él cree que los administradores de procesos de cara al usuario pueden realizar una buena transición hacia un ingeniero de plataformas. «En el pasado, la responsabilidad de la ingeniería de plataformas era parte de la responsabilidad de DevOps, pero ahora parece que tiene un papel propio», dijo Port. Cook agregó que DevOps probablemente haya sentido el dolor de lo que se necesita para lanzar y mantener software, por lo que puede poner lo que ha aprendido sobre la mesa. Einy cree que a los gerentes técnicos de productos también les iría bien en un equipo de ingeniería de plataformas, porque están acostumbrados a necesitar un conocimiento técnico profundo de sus productos. Finalmente, los SRE se traducen bien en los ingenieros de plataformas porque son responsables de la calidad, garantizando que el MTTR sea bajo y mejorando la resiliencia general de una organización. «Uno de los valores fundamentales de la ingeniería de plataformas es crear estándares y mantener la resiliencia y la eficiencia de las cosas», dijo Einy. Ahora que hay un equipo, ¿qué sigue? Una vez establecido el equipo de ingeniería de la plataforma, es importante tener una fuerte colaboración dentro del equipo y también con las partes interesadas para las que están construyendo. En términos de crear una buena cultura de ingeniería de plataformas, Cook recomienda crear un entorno en el que los ingenieros sean respetuosos entre sí y con el tiempo de los demás. También añadió que al involucrar a diferentes expertos en el equipo, naturalmente empezarán a depender unos de otros y a conocerse. «Tener esos equipos más pequeños con experiencia ayuda en el aspecto del desgaste, porque están en la misma situación», dijo. Cuando se trata de colaborar con las diferentes partes interesadas para quienes se construyen las plataformas, la mentalidad de plataforma como producto vuelve a entrar en juego. Esta colaboración debería ser un ciclo continuo, no un enfoque único. Según Einy, los equipos de ingeniería de plataformas deben realizar encuestas, lo que significa que necesitan saber cómo realizar una buena encuesta, lo que implica saber qué preguntas hacer, establecer objetivos para las respuestas y, en última instancia, ser capaz de digerir y comprender los resultados. . Agregó que también es bueno hacer análisis de datos sobre el uso de la plataforma, quién la usa, qué partes se usan, con qué frecuencia se usa, etc. “Nuevamente, hablar con la gente, no de manera estructurada, sino creando una especie de grupo cerrado de personas que puedan representar a una audiencia más amplia y recopilar comentarios del campo”, dijo Einy. «Creo que estas son las cosas que deben hacer continuamente para saber que están resolviendo el problema correcto para la organización». Cook agregó que cuando comenzó a trabajar en Red Hat, realizaron una «fiesta de quejas» donde los equipos de desarrollo se acercaron a ellos y les hicieron saber lo que estaba mal de una manera abierta y constructiva. Dijo que los desarrolladores dudaban un poco en hablar al principio, pero una vez que una persona comenzó la discusión, se rompió el hielo para que el resto del equipo fuera abierto sobre lo que estaba mal. «Si puedes hacerles saber a todos que realmente te preocupas por los problemas y que estás tratando de resolverlos, estarán mucho más dispuestos a utilizar tu producto que si lo hicieras sin ellos», explicó Cook.
Check Also
Una guía básica para empezar a implementar la IA en equipos de desarrollo de software
En el panorama digital hipercompetitivo actual, la inteligencia artificial ya no es sólo una palabra …