Platform engineering, a evolução do DevOps e o avanço da TI corporativa
Inovação, performance e segurança sempre foram pilares fundamentais de qualquer ambiente técnico, desde seus princípios nos anos 80 até a introdução de novas disciplinas e formatos de desenvolvimento. No entanto, à medida que o ecossistema de negócios escalou com ferramentas e recursos disruptivos, a área de TI também teve de se adaptar a novas dinâmicas organizacionais e culturais, o que nem sempre é fácil em algumas empresas. Para se ter uma ideia do desafio enfrentado por organizações para integrar processos e criar fluxos de trabalho otimizados, segundo o Índice de Transformação Digital, realizado pela consultoria PwC, 49% das companhias brasileiras ainda apresentam dificuldades para conectar diferentes setores e consolidar uma estratégia única de tecnologia.
Dizendo dessa maneira, parece que estamos abordando um conceito um pouco abstrato para funcionamento de organizações. Não obstante, alinhar interesses comuns entre diferentes áreas, disciplinas e objetivos corporativos tem sido a chave para atingir o sucesso comercial e criar precedente na incorporação de novas tecnologias, seja a computação de nuvem, kubernetes e, mais recentemente, as diferentes modalidades de inteligência artificial. Ações tão simples quanto agendar reuniões de acompanhamento, dinâmicas de trocas de experiências e momentos de trocas inter-relacionais entre setores não apenas criam um sentimento de pertencimento no organograma profissional quanto permitem otimizar a divisão de tarefas e suavizar as expectativas quanto à pressão de entregas.
No ambiente de TI, a lógica não é diferente: a unificação de tarefas e reorganização de funções também apresentam-se como fundamentais para criar agilidade, qualidade e segurança nas entregas dentro do escopo técnico. Há alguns anos, escrevi nesta coluna a respeito de como a estratégia de DevOps, isto é, a prática de desenvolvimento software que integra profissionais, funcionários e tecnologias na entrega de soluções e performance de forma contínua (CD/CI), se tornaria a metodologia hegemônica, substituindo as mais tradicionais como a waterfall, prototipação e RAD. Hoje, a abordagem é uma das que mais cresce no mercado, segundo um estudo contínuo da Google Gloud, mas o contexto atual é inteiramente diferente daquele que descrevi na metade de 2019.
–
Entre no Canal do WhatsApp do Canaltech e fique por dentro das últimas notícias sobre tecnologia, lançamentos, dicas e tutoriais incríveis.
–
Além de termos passado por uma dura prova de resiliência e reinvenção (em todos os âmbitos), no meio do caminho, a maneira como pensamos e implementamos melhorias em sistemas também teve grandes mudanças, ora devido às dinâmicas emergentes de trabalho convencionadas durante a pandemia ou, apenas, graças ao advento de processos mais céleres e eficientes para a disposição de ferramentas, linguagens e frameworks apropriados para cada caso de uso. Em outras palavras, o cenário é diferente, a disposição e disponibilidade de equipes é distinta, mas muitos desafios técnicos continuam os mesmos: agilidade, performance, segurança e eficiência. Frente a essas exigências, o caminho natural para dar continuidade à evolução da TI corporativa é a Engenharia de Plataforma, ou Platform Engineering.
Platform Engineering: pedra angular da inovação
A adoção da abordagem de DevOps, e mais recentemente do DevSecOps, o qual também incorpora a área de cibersegurança, ainda está aumentando paulatinamente, mas ainda não é o padrão nas empresas como um todo. Ainda de acordo com o levantamento da Google Cloud, cerca de 23% do ambiente de TI global faz uso da prática. Entre os desafios para sua implementação estão: a curva para o aprendizado de times técnicos, dificuldades de criar um ambiente propício para integração de tarefas e, principalmente, o desenvolvimento de uma cultura colaborativa. DevSecOps vai além de ser apenas uma metodologia; trata-se de uma abordagem integrada que une cultura, automação e design de plataformas. Seu principal objetivo é gerar maior valor para o negócio e melhorar a capacidade de adaptação às mudanças, promovendo entregas ágeis e de alta qualidade. A adoção do DevOps implica em estabelecer uma conexão entre aplicações legadas e infraestruturas modernas, além de integrar aplicativos nativos da nuvem, mais avançados e atuais.
Para além disso, sempre existiu um dilema na área de TI: quem desenvolve deve ser quem implementa a solução? Não necessariamente. Afinal, as habilidades indispensáveis para um desenvolvedor de software precisam ser as mesmas para aqueles que disponibilizam o recurso na intranet ou sobem na página no marketplace? A fim de endereçar esse quebra-cabeça de funções e responsabilidades entre profissionais, a disciplina de Platform Engineering propõe a criação de grupo destacado para auxiliar programadores em sua tarefa diária, os engenheiros de plataforma. A principal função desses especialistas é desenvolver um ambiente único em que desenvolvedores terão acesso a todo o workflow, frameworks e toolchains disponíveis (sejam open source ou proprietário) para a elaboração de projetos, aplicativos e outras iniciativas empresariais.
De acordo com um estudo detalhado da Gartner, a disciplina atua no meio de campo entre desenvolvedores, setores de negócios e até no atendimento final de clientes. Em outras palavras, esse método possibilita estabelecer padrões tecnológicos eficientes e incentivar uma cultura ágil, resiliente e colaborativa, preparada para atender a diferentes demandas e se alinhar às dinâmicas de negócios. Assim, o papel do engenheiro de plataforma é delegar tarefas, conectar setores, proporcionar ferramentas e contatos e, mais importante, proporcionar segurança e assertividade durante o processo de time-to-market (de disponibilização do produto-final ou serviço ao mercado). Portanto, o engenheiro de plataforma atua como uma “âncora” para que outras áreas tenham autonomia para liderar processos sem ter receio de encontrar gargalos no workflow ou lacunas nas etapas técnicas do projeto.
Ainda de acordo com a Gartner, em um relatório específico sobre os benefícios e pontos de atenção da metodologia, além de ser uma etapa fundamental para maturidade corporativa na adoção do DevOps e DevSecOps, o Platform Engineering é o primeiro passo para adotar estratégias de desenvolvimento técnico e comercial em ambiente digital mais avançadas. Desde a criação de métricas de controle de performance (OKRs, KPIs, ODMs) até a construção de uma dinâmica autocentrada e independente, caminhando em direção à automatização de processos e a consolidação de práticas entre todos os setores corporativos. Partindo do trabalho diário com o time técnico até o controle de demandas e orçamentos com fornecedores e colaboradores externos. Tamanha é a eficiência de planejamento e de organização interna de corporações que, ainda nesse mesmo relatório, a consultoria estima que até 2027, mais de 75% das companhias que integram a lista da Fortune 1000 terão adotado a disciplina.
O sucesso da metodologia se explica porque pode acomodar diferentes composições de profissionais, prioridades técnicas e objetivos dentro de organizações sob um único guarda-chuva. Ela se apresenta como a prática ideal para reestruturar áreas muito segmentadas e compartimentadas por zona de atuação (SER, Segurança, FinOps, suporte ao cliente) como também aglutinar funções em uma plataforma integrada de produção interna, conhecida por especialistas como Internal Developer Platform (IDP). Essa elasticidade proporciona mais precisão e performance para times técnicos, assim como disponibiliza controles mais assertivos a respeito dos gastos com tecnologia e a eficácia de projetos no curto, médio e longo prazo.
Developer Velocity: a jornada é mais importante do que o destino
O potencial de transformação do Platform Engineering, juntamente com o oceano de possibilidades de rearranjo de equipes e áreas de tecnologia, pode levar muitos leitores a se perguntarem: “como é que eu sei que minha empresa está pronta para implementar a metodologia?”. Certamente, a dúvida pode suscitar diferentes abordagens e planos de ações entre novos quadros de executivos e tomadores de decisões mais experientes, o que pode trazer certa hesitação sobre qual será a melhor a rota a ser traçada; felizmente, um indicador que mede o ritmo de desenvolvimento e cadência de melhorias apresenta-se como um grande aliado de gestores e desenvolvedores: o Developer Velocity.
Utilizado para medir a eficiência e velocidade com que equipes técnicas podem desenvolver, modificar e lançar projetos de grande qualidade dados, o índice tem sido um dos principais guias para ajustar e orientar processos técnicos, sejam eles de natureza de boas práticas, uso de ferramentas, comunicação entre times e, mais importante, de capacitação e treinamento continuado. Para se ter uma ideia da importância do parâmetro, um estudo recente da consultoria McKinsey coloca que empresas bem posicionadas nessa base de referência apresentam um crescimento médio de 20% e um Dividend Yield (indicador que mede o rendimento para acionista) cerca de 60% superior a corporações que não se preocupam no ajuste da régua.
Atualmente, existem várias maneiras de mensurar o Developer Velocity que abrangem desde o número de projetos e ações concluídas por programador ou equipe de Devs até a taxa de interações com linhas de código (Code Churn) e o tempo médio de resolução de incidentes e bugs (MTTR). O critério de análise vai depender muito de como a área e as equipes estão estruturas e, mais importante, de como os processos transitam entre os diferentes setores da empresa. Não adianta nada adotar um padrão de Lead Time (o tempo necessário para completar uma tarefa), por exemplo, se a empresa não dispõe de ferramentas na hora de verificar o Backlog da equipe ou o tempo ocioso da máquina.
Ainda que os critérios sob análise possam variar conforme a cultura e os objetivos corporativos, há pelo menos três pilares que devem ser analisados para medir a performance da área de tecnologia: 1. o número de projetos (em termo de features) entregues, 2. o ciclo de tempo médio para um pedido sair do papel, e 3. a frequência com que times submetem versões finais para uso. Em tempo, é preciso diferenciar o escopo de ações no setor técnico. Fazer atualizações de segurança definitivamente não é a mesma coisa que migrar as operações para a nuvem ou criar uma interface interna para desenvolvedores. O que se busca com esses alicerces é criar uma abordagem mensurável, aferível e lógica, no qual a empresa progrida à medida que encontrar maneiras mais eficientes de realizar entregas e planejar processos.
Nessa linha, mais do que otimizar todos os indicadores e criar um estrutura high-tech de causar inveja, o relatório da McKinsey coloca que o fator-chave para aprimorar a performance em equipes técnicas e, observar resultados concretos no setor de negócios, se baseia em modelos de gestão que suavizam o trabalho de desenvolvedores e criadores digitais e não aqueles que ficam pressionando profissionais e tomadores de decisões para arredondar margens e exceder limites práticos. Fazer planejamentos fracionários que incluam momentos de adaptação, períodos de desenvolvimento interno e coleta de resultados, são fundamentais para construir uma cultura sólida de inovação. No estudo, a consultoria cita o exemplo de uma empresa farmacêutica que, mesmo com baixo uso de ferramentas digitais e uma plataforma pouco inovadora, passou de oito para 1.400 funcionários na área de desenvolvimento de software em menos de um ano.
Código aberto: o ponto de partida e o motor da inovação
Outro ponto de destaque do relatório é o papel atribuído à adoção da nuvem híbrida e softwares open source como catalisadores não apenas da performance de equipes técnicas, como também de toda uma mudança comportamental e cultural dentro da organização. Das 440 empresas ouvidas pela McKinsey, aqueles que já faziam uso de soluções abertas apresentam três vezes mais eficiência na gestão de processos de TI e dispunham de mais facilidade para integrar áreas e conectar colaboradores por meio de uma cultura colaborativa cuja dimensão de trocas e motivações profissionais e interpessoais foram além do âmbito do ambiente de trabalho e influenciaram outras organizações na adoção de ferramentas e metodologias de ponta.
O mesmo pode ser dito acerca da implementação da prática de Platform Engineering e o aumento de performance nos critérios de Developer Velocity. A partir do uso de metodologias e ferramentas de código aberto, engenheiros de plataforma dispõem de mais autonomia e liberdade para criar canais sob medida para desenvolvedores e coordenar ações entre equipes técnicas, comerciais e até atendimento direto ao cliente. Tudo isso é possível graças ao empenho e dedicação da comunidade open source que oferece milhares de ferramentas, projetos, acervos, bibliotecas e diretórios equipados com todos os materiais para construir um ecossistema de plataforma robusto, flexível e ajustado às necessidades corporativas. E o melhor disso tudo, de forma colaborativa.
Um projeto open source chave ligado ao Platform Engineering é o Backstage. O Backstage é um projeto da Cloud Native Computing Foundation (CNCF) criado para capacitar engenheiros de plataforma a fornecerem um ponto único de acesso a todas as ferramentas e tecnologias usadas pelos desenvolvedores. Esse painel de acesso, com as ferramentas organizadas em um catálogo de opções, todas aprovadas e seguras, integrando interfaces distintas de diversas ferramentas, recebe o nome de portal interno para desenvolvedores (Internal Development Portal ou IDP). Ele busca simplificar o processo, reduzindo a sobrecarga cognitiva típica do desenvolvimento de software moderno e permitindo que os desenvolvedores se concentrem no que realmente importa. A versão empresarial do Backstage é o Red Hat Developer Hub.
Em tempo, o formato aberto também requer alguns cuidados. Por mais que seja a base da maior parte da tecnologia que utilizamos hoje e, seguramente, será a fonte de mais um ciclo de desenvolvimento nos próximos anos, saber navegar por páginas e páginas de conteúdo requer certa experiência de mercado para entender o que é válido implementar desde a primeira hora e aquilo que demanda uma análise mais apurada no futuro. Em outras palavras, frente a um universo de possibilidades, oportunidades e perspectivas sem limites, como é possível dosar expectativas e encontrar o ponto justo para que ocorra o desenvolvimento da equipe de TI, a transformação comercial da minha empresa e a unificação de uma cultura assentada na inovação e flexibilidade?
Remontando às aulas de matemática, o primeiro passo para superar um desafio é saber decompô-lo em fatores mais simples e familiares. Se hoje o maior obstáculo é reestruturar setores técnicos e alinhar processos de grande complexidade, por que não partir de soluções simples que possam ser resolvidas hoje? Tanto a disciplina Platform Engineering quanto os parâmetros de Developer Velocity não são expressões algébricas perfeitas: elas dependem dos referenciais tecnológicos, humanos e culturais que temos à disposição. E tampouco são ambientes herméticos que precisam ser desenvolvidos apenas internamente. Assim como sinergia entre áreas é fundamental para o desenvolvimento de uma cultura resiliente e inovadora, o suporte e a consultoria de fornecedores experientes também têm um grande valor para orientar a jornada digital de empresas.
Tudo isso para dizer: não existe uma fórmula mágica para o desenvolvimento técnico e aperfeiçoamento de progressos. O progresso técnico será ditado pela velocidade com que organizações poderão absorver mudanças, realinhar processos e constituir uma cultura corporativa condizente com os desafios contemporâneos. Muitas vezes essa evolução pode levar semanas, quem sabe, meses para proporcionar um impacto significativo, mas um ponto é certo: organizações mais preparadas, que dispõem de mais instrumentos e uma mentalidade adaptada aos novos tempos, sempre largam na frente. E falando dos setores de programação e fornecimento de dados, a máxima vai mais além; as bases de um novo paradigma tecnológico e empresarial que cada dia mais se forma no horizonte: precisão, performance, sinergia, agilidade e colaboração.
Leia a matéria no Canaltech.