Partilhar via


Cada cliente é importante

Um princípio fundamental da engenharia de plataforma é otimizar para seus clientes. Pense nos desenvolvedores como sua principal preocupação e concentre-se nas suas necessidades primeiro ao decidir quais caminhos de desenvolvimento deseja traçar e quais capacidades deseja desenvolver. Todos os desenvolvedores usam ferramentas diferentes para realizar seu trabalho. Como primeiro passo, comece pequeno e avalie se você pode melhorar as telas e superfícies existentes antes de implementar uma nova plataforma interna para desenvolvedores.

Capacite os desenvolvedores com uma plataforma interna centrada no cliente

Pensar nos desenvolvedores como o principal cliente da sua plataforma interna de desenvolvedores é essencial para o seu sucesso. Referimo-nos aos programadores como clientes. Os clientes podem ser qualquer membro do que o modelo de topologias de equipe chama de equipes alinhadas ao fluxo, incluindo funções como profissionais de aprendizado de máquina ou cientistas de dados.

Uma prática bem-sucedida de engenharia de plataforma capacita desenvolvedores e operadores. Desenvolvedores e operadores têm autonomia para tomar decisões que agreguem valor ao negócio, sem deixar de aderir aos padrões, governança e regras de segurança estabelecidos. Partes interessadas críticas, equipes capacitadoras e especialistas em subsistemas específicos (operações, segurança, conformidade e arquitetura) trabalham com a equipe que constrói essa plataforma interna para codificar seus conhecimentos e práticas recomendadas em modelos e recursos do sistema.

Mover esse conhecimento para um sistema simultaneamente reduz a carga cognitiva para os desenvolvedores, melhora a segurança, a conformidade e a qualidade, e dimensiona melhor essas outras funções para lidar com problemas verdadeiramente únicos. No entanto, é a experiência do desenvolvedor que garante que sua plataforma retorne o maior benefício para todos os envolvidos.

Isso significa seguir uma abordagem centrada no cliente para planejar e priorizar seus esforços de engenharia de plataforma.

Identificar caminhos de desenvolvimento ideais para simplificar as práticas recomendadas

Embora sua organização possa ter vários caminhos de desenvolvimento diferentes para a produção hoje, uma etapa inicial em sua jornada de engenharia de plataforma é entender quais caminhos você deseja que os desenvolvedores usem. Fazer essa chamada é importante, pois permite que você concentre sua energia em pavimentar um caminho eficiente através deles que ainda atenda aos requisitos de desenvolvimento, operações e governança.

Esses caminhos pavimentados representam um conjunto específico de ferramentas, linguagens, SDKs e serviços de desenvolvimento e observabilidade, que são moldados para se adequar ao que desenvolvimento, operações e outras partes interessadas concordam que representem as suas melhores práticas. Os caminhos pavimentados devem incluir abordagens para simplificar a integração, a moderação e a defesa da reutilização interna. Você não precisa pensar nesses caminhos pavimentados como sendo restritivos ou forçados, mas sim como redutores do esforço desnecessário dos desenvolvedores, ao ponto de as equipas de desenvolvimento quererem permanecer dentro deles por opção.

No entanto, o truque é entender não apenas em quais caminhos focar, mas quais partes do caminho precisam ser pavimentadas primeiro.

Conheça os usuários onde eles estão

Embora possa ser tentador começar com um portal unificado para tudo em sua plataforma interna de desenvolvedores, esse não é o melhor ponto de partida.

Seus profissionais de operações, engenheiros de confiabilidade de site (SREs) e desenvolvedores usam ferramentas diferentes para realizar seu trabalho. A codificação acontece em um IDE, sistemas de engenharia como o GitHub e o Azure DevOps usam interfaces de linha de comando e a colaboração em tempo real acontece no Teams e no Slack. Muitas vezes, esses usuários estão felizes com essas telas e estão receosos com mais uma interface de utilizador com que se preocupar.

Comece pequeno e avalie se pode melhorar os ecrãs e superfícies existentes. Crie plugins ou extensões antes de começar a criar novas experiências personalizadas. Pergunte a si mesmo: as pessoas vão reagir melhor a outra nova experiência do usuário ou a uma versão melhorada de algo que você tem agora? Se você decidir criar um portal do zero para começar, leve em consideração a ideia de que provavelmente desejará oferecer suporte a mais de uma interface por meio de uma API. Isso também desbloqueia opções como o uso de estruturas low-code para que você não precise criar e hospedar uma experiência de portal do zero.