Desenvolvedores de software podem criar melhores programas com IA, diz Deloitte

2020-02-09
Fonte: CIO
Foto por: Lukas de Pexels

As empresas envolvidas no desenvolvimento de software, tanto para clientes externos quanto para as suas próprias necessidades, enfrentam diversos desafios. De acordo com um levantamento da Deloitte, a falta de desenvolvedores qualificados está atrapalhando a criação de softwares de qualidade: muitos falham, atrasam, excedem o orçamento ou são simplesmente cancelados. Além disso, mesmo com os melhores esforços, os aplicativos finalizados também podem ser afetados por bugs.

Segundo o relatório, um fator que pode aliviar alguns desses obstáculos é a inteligência artificial (IA). Para os especialistas, a tecnologia é capaz de ajudar no desenvolvimento de software de diversas formas, reduzindo pela metade a digitação, detetando bugs e vulnerabilidades antes que o código seja revisado e gerando automaticamente alguns dos testes necessários para garantir a qualidade do trabalho.
Certas atividades normalmente executadas por desenvolvedores podem ser automatizadas. O aprendizado de máquina e o processamento de linguagem natural podem analisar o código-fonte e outros dados de desenvolvimento, incluindo registos de cronogramas, atrasos, defeitos e correções de aplicativos. A inteligência artificial pode ajudar os desenvolvedores a escrever códigos mais precisos.

Vantagens da IA no desenvolvimento de software, segundo a Deloitte
Requisitos do projeto. Um gerenciamento de requisitos mal elaborado pode fazer com que os projetos de software excedam o orçamento, enfrentem atrasos ou falhem completamente. Usando a IA, os assistentes digitais podem analisar documentos, encontrar ambiguidades e inconsistências e oferecer melhorias. Alimentadas pelo processamento de linguagem natural, essas ferramentas podem detetar inúmeros problemas.
De acordo com a Deloitte, as empresas que utilizam essas ferramentas conseguiram reduzir o tempo de revisão de requisitos em mais de 50%.

Codificação, revisão, deteção de erros e resolução
Conforme os desenvolvedores digitam, as ferramentas de conclusão de código baseadas em IA podem fornecer recomendações para o código final. Algumas ferramentas podem até exibir uma lista de trechos de código utilizáveis com base na relevância. As ferramentas de revisão de código baseadas na IA podem entender a intenção do código e procurar erros comuns, detetando falhas e sugerindo alterações. A Ubisoft diz que o uso do aprendizado de máquina está ajudando a identificar 70% dos bugs antes dos testes.

Testes mais completos
Ferramentas de teste de software automatizadas existem há muitos anos. Mas agora a IA pode identificar defeitos, em vez de falsos positivos, e determinar as suas causas principais.
Desdobramento, desenvolvimento
As ferramentas baseadas na IA estão ajudando as empresas a prever falhas de implantação com antecedência. Por exemplo, uma empresa de comércio eletrônico utilizou o aprendizado de máquina para verificar implantações e revisões de software e obteve uma entrega mais rápida e uma redução de 75% no tempo médio de restauração por falhas na produção.

Gerenciamento de Projetos
As empresas também estão usando a IA para melhorar o gerenciamento de projetos de software. As ferramentas baseadas em IA usam análises avançadas para prever tarefas técnicas, recursos de engenharia e cronogramas exigidos para novos projetos. Cada vez mais ferramentas baseadas em IA para desenvolvimento de software estão chegando ao mercado. Ainda assim, a dependência da IA para melhorar a atividade tem algumas armadilhas, segundo a Deloitte.
Ferramentas treinadas em software de código aberto, que não estão livres de erros ou vulnerabilidades, podem incentivar os desenvolvedores a introduzir inadvertidamente bugs e riscos à segurança. De qualquer forma, essas ferramentas desempenharão papel cada vez mais importante.
"Os especialistas previram o fim da programação há muito tempo", disse a Deloitte. “Mas nos próximos anos, a maioria dos softwares será criada por pessoas."
Os analistas afirmam que as ferramentas aprimoradas pela IA são um bom exemplo de como a tecnologia pode capacitar, em vez de substituir os trabalhadores.
"Os líderes de tecnologia estão em uma missão para ajudar as suas organizações a criar o futuro, e o uso inteligente da IA para melhorar a prática do desenvolvimento de software pode apoiar essa missão", concluiu o relatório.

Janeiro 2020

Bookmark and Share