Cada cliente es importante
Un principio clave de la ingeniería de plataforma es optimizar para los clientes. Piense en los desarrolladores como cliente principal y céntrese en sus necesidades en primer lugar al decidir qué rutas de desarrollo desea allanar y qué funcionalidades desea crecer. Todos los desarrolladores usan diferentes herramientas para realizar su trabajo. Como primer paso, comience pequeño y evalúe si puede mejorar las pantallas y superficies existentes antes de implementar una nueva plataforma de desarrollador interna.
Capacitar a los desarrolladores con una plataforma interna centrada en el cliente
Pensar en los desarrolladores como el cliente principal de su plataforma de desarrollador interna es esencial para su éxito. Nos referimos a los desarrolladores como clientes. Los clientes pueden ser cualquier miembro de lo que hace referencia el modelo de topologías de equipo como equipos alineados por secuencias, incluidos roles como profesionales de aprendizaje automático o científicos de datos.
Una práctica de ingeniería de plataforma exitosa permite a los desarrolladores y operadores. Los desarrolladores y operadores tienen autonomía para tomar decisiones que ofrecen valor empresarial, a la vez que siguen cumpliendo con los estándares establecidos, la gobernanza y las reglas de seguridad. Las partes interesadas críticas, la habilitación de equipos y expertos en subsistemas específicos (operaciones, seguridad, cumplimiento y arquitectura) trabajan con el equipo que crea esta plataforma interna para codificar sus conocimientos y procedimientos recomendados en plantillas y funcionalidades del sistema. Mover este conocimiento a un sistema reduce simultáneamente la carga cognitiva para los desarrolladores, mejora la seguridad, el cumplimiento y la calidad, y escala mejor estos otros roles para abordar problemas realmente únicos. Sin embargo, es la experiencia del desarrollador que garantiza que la plataforma devuelva la mayor ventaja para todos los implicados.
Esto significa seguir un enfoque centrado en el cliente para planear y priorizar los esfuerzos de ingeniería de plataforma.
Identificación de rutas de desarrollo óptimas para simplificar los procedimientos recomendados
Aunque su organización puede tener varias rutas de desarrollo diferentes a la producción hoy en día, un primer paso en el recorrido de ingeniería de plataforma es comprender qué rutas de acceso quiere que usen los desarrolladores. Hacer esta llamada es importante, ya que le permite centrar su energía en el desarrollo de un camino eficaz a través de ellos que sigue cumpliendo los requisitos de desarrollo, operaciones y gobernanza.
Estas rutas de acceso asfaltadas representan un conjunto determinado de herramientas de desarrollo y observabilidad, lenguajes, SDK y servicios que tienen la forma de ajustarse a lo que el desarrollo, las operaciones y otras partes interesadas aceptan representar sus procedimientos recomendados. Las rutas de acceso asfaltadas deben incluir enfoques para simplificar el embarque, la moderación y la promoción de la reutilización interna. No es necesario pensar en estas rutas de acceso asfaltadas como restrictivas o forzadas, sino que, en su lugar, reducir el trabajo del desarrollador al punto en que los equipos de desarrollo quieren permanecer dentro de ellos.
Sin embargo, el truco es comprender no solo en qué caminos centrarse, sino en qué partes del camino se deben asfaltar primero.
Conocer a los usuarios donde están
Aunque puede ser tentador empezar con un portal unificado para todo lo que se encuentra en su plataforma de desarrollador interna, este no es el mejor punto de partida.
Sus profesionales de operaciones, ingenieros de confiabilidad de sitios (SRE) y desarrolladores usan diferentes herramientas para realizar su trabajo. La codificación se produce en un IDE, sistemas de ingeniería como GitHub y Azure DevOps usan interfaces de línea de comandos y la colaboración en tiempo real se produce en Teams y Slack. A menudo, estos usuarios están satisfechos con estas pantallas y son avisados de otra interfaz de usuario para preocuparse.
Comience pequeño y evalúe si puede mejorar las pantallas y superficies existentes. Cree complementos o extensiones antes de empezar a crear nuevas experiencias personalizadas. Pregúntate, ¿las personas reaccionarán mejor a otra nueva experiencia de usuario o a una versión mejorada de algo que tengas ahora? Si decide crear un portal desde cero para empezar, tenga en cuenta la idea de que probablemente quiera admitir más de una interfaz a través de una API. Esto también desbloquea opciones como el uso de marcos de poco código para que no tenga que compilar y hospedar una experiencia de portal desde cero.