Imagine um mundo onde medir a produtividade do desenvolvedor é tão simples quanto verificar suas estatísticas de condicionamento físico em um smartwatch. Com assistentes de programação de IA como o GitHub Copilot, isso parece estar ao seu alcance. O GitHub Copilot afirma turbinar a produtividade do desenvolvedor com conclusões de código com reconhecimento de contexto e geração de snippets. Ao alavancar a IA para sugerir linhas ou módulos inteiros de código, o GitHub Copilot visa reduzir os esforços de codificação manual, equivalente a ter um assistente supercarregado que ajuda você a codificar mais rápido e se concentrar na resolução de problemas complexos.

As organizações têm usado métricas de DevOps Research and Assessment (DORA) como uma abordagem estruturada para avaliar o desempenho de suas equipes de desenvolvimento de software e devops. Essa abordagem orientada por dados permite que as equipes entreguem software mais rapidamente, com maior confiabilidade e estabilidade aprimorada do sistema. Ao focar na frequência de implantação, no tempo de espera para mudanças, na taxa de falha de mudança e no tempo médio de restauração (MTTR), as equipes ganham insights inestimáveis ​​sobre seus fluxos de trabalho.

Impacto da IA ​​nas métricas DORA

Aqui está o problema — as métricas DORA não são só sol e arco-íris. O uso incorreto delas pode levar a um foco estreito na quantidade em detrimento da qualidade. Os desenvolvedores podem manipular o sistema apenas para melhorar suas métricas, como alunos estudando para provas sem realmente entender o material. Isso pode criar disparidades, pois os desenvolvedores que trabalham em aplicativos modernos baseados em microsserviços naturalmente brilharão nas métricas DORA em comparação com aqueles que lidam com sistemas monolíticos mais antigos.

O advento do código gerado por IA exacerba esse problema significativamente. Embora ferramentas como o GitHub Copilot possam aumentar as métricas de produtividade, os resultados podem não refletir necessariamente melhores práticas de implantação ou estabilidade do sistema. O código gerado automaticamente pode inflar as estatísticas de produtividade sem realmente melhorar os processos de desenvolvimento.

Apesar do seu potencial, os assistentes de codificação de IA apresentam novos desafios. Além das preocupações com a atrofia de habilidades do desenvolvedor e questões éticas em torno do uso de código público, os especialistas preveem um aumento massivo em problemas de QA e segurança na produção de software, impactando diretamente suas métricas DORA.

Treinados em grandes quantidades de código público, os assistentes de codificação de IA podem sugerir inadvertidamente trechos com bugs ou vulnerabilidades. Imagine a IA gerando código que não higieniza adequadamente as entradas do usuário, abrindo a porta para ataques de injeção de SQL. Além disso, a falta de contexto específico do projeto da IA ​​pode levar a um código desalinhado com a lógica de negócios exclusiva ou padrões arquitetônicos de um projeto, causando problemas de funcionalidade descobertos no final do ciclo de desenvolvimento ou mesmo na produção.

Há também o risco de os desenvolvedores se tornarem excessivamente dependentes do código gerado por IA, levando a uma atitude frouxa em relação à revisão e teste de código. Bugs sutis e ineficiências podem passar despercebidos, aumentando a probabilidade de defeitos na produção.

Esses problemas podem impactar diretamente suas métricas DORA. Mais defeitos devido ao código gerado por IA podem aumentar a taxa de falha de alteração, afetando negativamente a estabilidade do pipeline de implantação. Bugs que chegam à produção podem aumentar o tempo médio de restauração (MTTR), pois os desenvolvedores gastam mais tempo corrigindo problemas causados ​​pela IA. Além disso, a necessidade de revisões e testes extras para detectar erros introduzidos por assistentes de IA pode desacelerar o processo de desenvolvimento, aumentando o tempo de espera para alterações.

Diretrizes para equipes de desenvolvimento

Para mitigar esses impactos, as equipes de desenvolvimento devem manter práticas rigorosas de revisão de código e estabelecer estratégias de teste abrangentes. Esses vastos volumes de código gerado por IA em constante crescimento devem ser testados tão completamente quanto o código escrito manualmente. As organizações devem investir em soluções de automação de teste de ponta a ponta e gerenciamento de teste para fornecer rastreamento e visibilidade de ponta a ponta na qualidade do código no início do ciclo e automatizar sistematicamente os testes ao longo do ciclo. As equipes de desenvolvimento devem gerenciar a carga aumentada de código gerado por IA tornando-se mais inteligentes sobre como conduzem revisões de código, aplicam testes de segurança e automatizam seus testes. Isso garantiria a entrega contínua de software de alta qualidade com o nível certo de confiança.

Aqui estão algumas diretrizes para as equipes de desenvolvimento de software considerarem:

Revisões de código — Incorpore as melhores práticas de teste durante as revisões de código para manter a qualidade do código, mesmo com código gerado por IA. Assistentes de IA como o GitHub Copilot podem realmente contribuir para esse processo sugerindo melhorias na cobertura de teste, identificando áreas onde testes adicionais podem ser necessários e destacando potenciais casos extremos que precisam ser abordados. Isso ajuda as equipes a manter altos padrões de qualidade e confiabilidade do código.

Revisões de segurança — Trate cada entrada no seu código como uma ameaça potencial. Para reforçar seu aplicativo contra ameaças comuns, como injeções de SQL ou ataques de script entre sites (XSS) que podem se infiltrar por meio do código gerado por IA, é essencial validar e higienizar todas as entradas rigorosamente. Crie políticas de governança robustas para proteger dados confidenciais, como informações pessoais e números de cartão de crédito, exigindo camadas adicionais de segurança.

Testes automatizados — Automatize a criação de casos de teste, permitindo que as equipes gerem rapidamente etapas para testes unitários, funcionais e de integração. Isso ajudará a gerenciar o aumento massivo de código gerado por IA em aplicativos. Expanda além de apenas ajudar desenvolvedores e pessoas tradicionais de QA, trazendo usuários não técnicos para criar e manter esses testes para testes automatizados de ponta a ponta.

Teste de API — Usando especificações abertas, crie uma abordagem de teste aumentada por IA para suas APIs, incluindo a criação e manutenção de testes e contratos de API. Integre perfeitamente esses testes de API com ferramentas de desenvolvedor para acelerar o desenvolvimento, reduzir custos e manter os testes atuais com mudanças de código em andamento.

Melhor gerenciamento de testes — A IA pode ajudar com tomada de decisão inteligente, análise de risco e otimização do processo de teste. A IA pode analisar grandes quantidades de dados para fornecer insights sobre cobertura de teste, eficácia e áreas que precisam de atenção.

Embora o GitHub Copilot e outros assistentes de codificação de IA prometam um aumento de produtividade, eles levantam sérias preocupações que podem tornar as métricas DORA incontroláveis. A produtividade do desenvolvedor pode ser superficialmente aprimorada, mas a que custo? O esforço oculto em examinar e corrigir o código gerado por IA pode ofuscar quaisquer ganhos iniciais, levando a um desastre potencial se não for cuidadosamente gerenciado. Armadas com uma abordagem pronta para código gerado por IA, as organizações devem reavaliar suas métricas DORA para se alinharem melhor com a produtividade gerada por IA. Ao definir as expectativas certas, as equipes podem atingir novos patamares de produtividade e eficiência.

Madhup Mishra é vice-presidente sênior de marketing de produtos na Urso Inteligente. Com mais de duas décadas de experiência em tecnologia em empresas como Hitachi Vantara, Volt Active Data, HPE SimpliVity, Dell e Dell-EMC, Madhup ocupou uma variedade de funções em gerenciamento de produtos, engenharia de vendas e marketing de produtos. Ele é apaixonado por como a inteligência artificial está mudando o mundo.

O Generative AI Insights oferece um local para líderes de tecnologia — incluindo fornecedores e outros colaboradores externos — explorarem e discutirem os desafios e oportunidades da inteligência artificial generativa. A seleção é ampla, desde mergulhos profundos em tecnologia a estudos de caso e opinião de especialistas, mas também subjetiva, com base em nosso julgamento de quais tópicos e tratamentos atenderão melhor ao público tecnicamente sofisticado da InfoWorld. A InfoWorld não aceita material de marketing para publicação e reserva-se o direito de editar todo o conteúdo contribuído. Contato [email protected].