A IA está revolucionando o desenvolvimento de software, tornando-o mais eficiente, produtivo e inovador. Neste artigo, exploramos o impacto da IA no desenvolvimento de software, investigando os insights obtidos em nossa investigação do GitHub Copilot realizada pela equipe de P&D da ELEKS.
À medida que o mundo do desenvolvimento de software continua a evoluir, o papel da IA torna-se cada vez mais importante. Com benefícios como a capacidade de reduzir o tempo e o esforço necessários para a codificação e muito mais, não é de admirar que a IA no desenvolvimento de software seja um tema quente hoje em dia.
92% dos desenvolvedores baseados nos EUA já usam ferramentas de codificação de IA no trabalho e fora dele. - GitHub
70% dos desenvolvedores acreditam que as ferramentas de codificação de IA lhes darão uma vantagem distinta em seus empreendimentos profissionais, incluindo melhor qualidade de código, tempo de conclusão reduzido e recursos aprimorados de resolução de incidentes. - GitHub
4 em cada 5 desenvolvedores esperam que as ferramentas de codificação de IA tornem sua equipe mais colaborativa. - GitHub
Embora a IA não tenha atingido um estágio em que possa criar, testar e lançar produtos de software de forma independente e sem intervenção humana, em comparação com o passado, ela acelerou bastante o tempo de resposta geral.
Estão disponíveis muitas ferramentas baseadas em IA que podem ajudar no desenvolvimento de aplicativos personalizados, gerando e preenchendo automaticamente código, bem como detectando e corrigindo bugs. A equipe de Pesquisa e Desenvolvimento da ELEKS avaliou minuciosamente uma dessas ferramentas - GitHub Copilot - para avaliar sua influência nas tarefas dos desenvolvedores, na duração da conclusão e nos padrões de qualidade das recomendações fornecidas. Vamos olhar mais de perto.
GitHub Copilot é uma ferramenta para preenchimento automático e geração de código. Ele é construído com base no OpenAI Codex e treinado em repositórios públicos do GitHub. Como resultado, sugere código para qualquer linguagem de programação. No entanto, a qualidade das propostas depende do número de repositórios públicos baseados numa linguagem de programação e framework específicos.
GitHub Copilot funciona com código de programa usando plug-ins de Ambiente de Desenvolvimento Integrado (IDE). Atualmente, apenas os seguintes IDEs são suportados:
Esta investigação teve como objetivo explorar o impacto do uso do Copilot na velocidade e na qualidade do desenvolvimento.
Para conduzir este estudo, um pequeno projeto de estimação foi iniciado como um campo de testes para várias suposições. Com uma equipe composta por quatro desenvolvedores intermediários qualificados e com experiência em React, Redux, TypeScript, Jest, Vite, PHP, Symfony e Codeception, iniciamos a investigação e definimos nossos objetivos e abordagens da seguinte forma.
Meta | Abordagem |
---|---|
Avalie a dependência entre a competência e o desempenho do desenvolvedor ao usar o Copilot | Selecionamos a estrutura Symfony para desenvolvimento back-end. A equipe de back-end não tinha experiência substancial com esta estrutura. |
Investigue o impacto nas tarefas típicas do desenvolvedor | Antes do início do projeto, criamos uma EAP que cobria o trabalho típico de um desenvolvedor em um projeto comercial. Além disso, conduzimos uma sessão de estimativa de tarefas. |
Investigue o impacto nas linguagens de programação e estruturas por popularidade | Desenvolvemos uma aplicação web com cobertura de testes. |
Avalie o impacto no tempo de conclusão da tarefa | Fizemos uma estimativa preliminar de tarefas individuais no projeto. |
Melhorar a eficácia da pesquisa | Conduzimos sessões de compartilhamento de conhecimento dentro da equipe durante sincronizações diárias. |
Explore a qualidade das sugestões | Testamos como o Copilot lida com uma estrutura de projeto não clássica e mais complexa. |
A investigação da ELEKS sobre o GitHub Copilot produziu várias descobertas importantes que esclarecem os recursos e benefícios da ferramenta. Aqui está uma descrição mais detalhada:
Observe que os resultados da investigação são baseados no feedback subjetivo da equipe, nas observações de seu trabalho e nas revisões de código de suas soluções.
5–10% do aumento médio na produtividade dos membros da equipe. - Equipe de P&D da ELEKS
Por outro lado, durante o projeto, a equipe encontrou vários bugs no GitHub Copilot. Por exemplo, o Copilot propôs sugestões de código com base no código de outro projeto aberto em outra janela do IDE. Ele oferecia código sintaticamente incorreto. O Copilot entra em conflito com os recursos de alguns plug-ins (integrados ou adicionados por terceiros) que também possuem uma funcionalidade de preenchimento automático de código.
GitHub Copilot é uma ferramenta poderosa que impacta positivamente a velocidade de desenvolvimento e a satisfação no trabalho do desenvolvedor. Como qualquer outra ferramenta de desenvolvimento, requer tempo para dominá-la.
Neste ponto, uma licença mensal individual custa apenas US$ 10, enquanto o plano de negócios custa US$ 19 por mês. O GitHub Copilot será, sem dúvida, benéfico financeiramente para uso nos projetos, especialmente para especialistas de nível médio e superior.
A equipe prevê que, com o crescimento da experiência no uso do GitHub Copilot, a velocidade de desenvolvimento pode aumentar de 5 a 25%, dependendo da popularidade da tecnologia e do nível de competência do desenvolvedor. É garantido que o GitHub Copilot não retardará o desenvolvimento porque os desenvolvedores ganharão gradualmente o conhecimento e a compreensão de quando é benéfico usar a ferramenta e quando não.
Concluindo, o impacto da IA no desenvolvimento de software, exemplificado por ferramentas como GitHub Copilot, é inegável. No geral, ferramentas como o GitHub Copilot não podem substituir um desenvolvedor, mas servem como ferramentas valiosas para aumentar o conforto e a produtividade dos desenvolvedores, contribuindo para a evolução do desenvolvimento de software em um mundo cada vez mais orientado pela IA.
Abra o caminho para um processo de desenvolvimento de software eficiente e resultados bem-sucedidos, entre em contato com os especialistas da ELEKS .
Também publicado aqui .