Como acelerar e melhorar o desempenho da engenharia de software através de IA

A Inteligência Artificial (IA) tem sido uma força motriz na transformação de inúmeros setores, e no campo do gerenciamento de projetos ágeis e na engenharia de software não é exceção. Desde os primeiros dias de sua concepção, a IA evoluiu de máquinas de aprendizado simples a sistemas complexos capazes de realizar tarefas que antes eram consideradas exclusivas dos humanos. 

A história da IA é uma tapeçaria rica e complexa de avanços e descobertas. Desde os primeiros dias de máquinas de tabulação e computadores programáveis, passando pela era do aprendizado de máquina e redes neurais, até a atual era de aprendizado profundo e IA autônoma, a jornada da IA tem sido nada menos que espetacular. 

No contexto do gerenciamento ágil, a IA está desempenhando um papel cada vez mais importante. As ferramentas de IA estão sendo usadas para automatizar tarefas repetitivas, padronização e até mesmo para auxiliar na tomada de decisões estratégicas em projetos de software. 

Já para a engenharia de software, os benefícios vão além da melhoria na sugestão de código. Toda a padronização nas escritas dos requisitos, já garantem informações valiosas e claras para o input do desenvolvedor passando pelo auxílio e automação na escrita dos códigos, automação de testes, revisão e deploy. 

A acessibilidade da IA ao público em geral tem sido um marco importante na sua evolução. Com o advento de plataformas de código aberto e a democratização da IA, agora é possível para qualquer pessoa explorar e utilizar essas ferramentas poderosas. Essa tecnologia (IA) vem ficando cada vez mais acessível pois os três principais fatores, que antes tinham um custo muito elevado, estão sendo largamente disponibilizados para empresas que precisam dessas infraestruturas: armazenamento, processamento e consumo de LLMs. 

O mundo vem passando por uma forte transformação digital. As informações veem e vão com uma velocidade e volume cada vez maiores. Isso gera uma necessidade das empresas de reduzir o tempo de resposta das demandas dos clientes, fazendo com que acelerem o tempo de desenvolvimento para reduzir o time to market. 

Para atendimento dessa demanda de redução de time to market, o dia a dia dos gestores e das equipes de negócio e tecnologia são cobertos, pela sua grande maioria de tempo, pela busca de soluções de melhoria de processos, treinamentos para as equipes, identificação de oportunidades de aumento de performance, ou seja, para o mundo de tecnologia como o nosso, podemos resumir que o que mais buscamos no dia a dia para nosso core business é: entregar mais com menos esforço, dar poderes super-humanos para os times, construir requisitos e códigos mais rápido, padronizado e eficiente. 

Diante desse cenário e das necessidades do mercado de software, a demanda por soluções inovadores e escaláveis de ferramentas com base em IA para acelerar esses processos, vem ganhando força a cada dia. 

As ferramentas em IA possuem algumas limitações, formando barreiras para a sua implementação, em alguns casos. A primeira limitação é segurança. Sabemos que, as ferramentas em IA precisam de aprendizado, e a grande maioria utiliza os dados utilizados para aprendizado e faz com que os dados trafegados nessas ferramentas fiquem expostos a outras IAs, ou seja, toda informação que você trafega, fica exposta para empresas concorrentes. 

Outra limitação, por conta de aprendizado, são as alucinações dos resultados. Nem sempre as solicitações que fazemos para as IAs, voltam de acordo com o contexto, fazendo gastar mais tempo com retrabalhos e perdendo a credibilidade na acurácia das informações. 

Podemos concluir que uma limitação das ferramentas de IA é a falta de orquestração, ou seja, não temos no mercado uma solução ponderada para cada etapa do ciclo de desenvolvimento de software. Isso dificulta a adesão dessas ferramentas, pois obriga os profissionais a estarem alternando sistema a sistema (jogo de mudança de janelas) para cada ação, aumentando os riscos de perda de informação e a vulnerabilidade dos dados. Muitas das vezes, as ferramentas de IA precisam ser instaladas nos ambientes dos clientes, trazendo alterações nem sempre desejadas nos processos de segurança e de gerenciamento. 

Imaginando um mundo perfeito, para atendimento da demanda atual das empresas de tecnologia, precisaríamos de um conjunto de ferramentas com base em IA, contidas em uma mesma plataforma, que garantisse que os dados não fossem usados para aprendizados de outras IAs e que não ficassem vulneráveis na rede, além de impactar o mínimo possível o meio ambiente do cliente (entenda-se meio ambiente como processos, pessoas, softwares, cultura, etc) e que ainda trouxesse uma visão gerencial com indicadores que auxiliem na tomada de decisão e que traga transparência dos processos atuais em diferentes níveis hierárquicos. 

Apesar de parecer utópico, já temos uma solução de mercado que abrange todas as características e necessidades de mercado. 

A plataforma AI Cockpit, desenvolvida pela Compass UOL, é uma solução em SaaS de engenharia de software, com base em IA, que atende todo o ciclo de desenvolvimento de software. Orquestrando numa mesma interface ferramentas para auxiliar e acelerar cada etapa do processo, baseada em um storytelling que abrange as principais e mais importantes atividades de entrega.  

Conectada de ponta a ponta do ciclo, ela conta com uma ferramenta gerencial que possui mais de 40 indicadores, distribuídos em flight levels para trazer transparência no processo e auxiliar nas tomadas de decisões. 

Abaixo podemos visualizar todo o range de casos de uso, iniciando desde os requisitos até a disponibilização e manutenção:  

Esta visão de uses case mostra o range de ferramentas que está disponível por módulos dentro da plataforma. Também existem ferramentas de mercado, que se acoplam às ferramentas desenvolvidas pela Compass. 

As ferramentas em laranja são ferramentas desenvolvidas 100% pelo time da Compass para suportar a jornada. Mantendo o contexto durante o ciclo, ela fornece insights instantâneos desde a criação das iniciativas, passando por geração de histórias de usuários até chegar na etapa de codificação, sugerindo linhas de códigos iniciais e até critérios de aceite e exceção para criação de casos de testes. 

 Já as ferramentas em preto são ferramentas que suportamos através de ferramentas de mercado, como Github Copilot e outras. Essa é uma das características na qual podemos confirmar que a plataforma é verdadeiramente um framework completo para a engenharia de software. 

E finalizando, para as ferramentas em vermelho, o módulo Smart Engineering que compreende todas as ferramentas que têm como principal objetivo construir toda uma aplicação ou módulos. Ela é capaz de extrair regras de negócios de códigos legados assim como histórias de usuários. Ela tem sido muito utilizada para entendimento de códigos legados e a modernização desses, sendo um pacote completo de engenharia reversa. 

Abaixo mostramos um quadro, para reforçar o conceito de framework, onde mostram algumas das inúmeras ferramentas comerciais que podem ser combinadas com a plataforma. Combinando ferramentas para expandir as possibilidades, aumentando a eficiência e reduzindo o tempo de entrega. 

Falando sobre as LLMs ou os motores de GenAI, a Compass UOL manteve o conceito de plataforma modular. Toda sua arquitetura foi desenvolvida para suportar as mais variadas necessidades do mercado. Hoje ela suporta os principais motores de GenAI do mercado, sendo eles, Amazon Bedrock, Vertex AI da Google e a OpenAI da Microsoft. 

O cliente pode optar por ambos os propulsores, como também pode direcionar para um outro motor, por exemplo, caso ele tenha um motor próprio desenvolvido, podem fazer o acoplamento no mesmo. 

A plataforma oferece recursos exclusivos para cada cliente reforçando o conceito de segurança, privacidade e responsabilidade das informações trafegadas nele. Ela cria grupos de recursos exclusivos por cliente, em termos de GenAI. Cada cliente possui um sandbox exclusivo. O cliente ainda pode optar por utilizar grupos de recursos próprios, caso já possua algum serviço disponível. 

Completando o pacote de ferramentas e conectado de ponta a ponta com todas elas, temos o módulo AI Metrics. O módulo consiste em mais de 40 indicadores, distribuídos em flight levels, com a principal proposta de trazer transparência e o entendimento de todas as etapas do ciclo de desenvolvimento de software. O modulo conta com interação e automação com as principais ferramentas de gerenciamento de software do mercado, como Azure DevOps, Jira, Businessmap e ServiceNow. O módulo conta, também, com interações em IA trazendo insights instantâneos de como está a maturidade dos indicadores, auxiliando nos ajustes de rotas e tornando a análise do profissional mais acurada. 

Podemos afirmar que, as ferramentas de IA vão possibilitar transpassarmos uma nova era no gerenciamento e na engenharia de software, tornando os esforços repetitivos dos profissionais em atividades mais padronizadas, rápidas e eficiente. Esse auxílio dará a possibilidade de o profissional ter mais tempo efetivo na criação de soluções e tecnologias, trazendo mais valor para o produto, reduzindo o tempo de entrega e, consequentemente, reduzindo o custo de desenvolvimento. 

Ainda há muitas barreiras e paradigmas para serem superados. Um grande paradigma é que as IAs irão substituir a posição dos profissionais, contudo, sabemos da limitação tecnológica e cognitivas das IAs. Precisamos colocar as IAs como ferramentas de auxílio do profissional, dando a ele velocidade de resposta e insights que muitas vezes levariam 10x mais tempo para chegarem. 

Se pudéssemos resumir qual proposta de valor atenderia a demanda de mercado hoje, poderíamos elencar 3 principais pilares: 

  1. redução do time-to-market e do custo de desenvolvimento. Acelerar o lançamento do produto com as soluções de IA otimizando todo o processo. 
  2. eficiência e melhoria da qualidade: solução para orquestração de soluções em IA para as necessidades do dia a dia. Padronizando soluções e interagindo em uma plataforma única, automatizada com meio ambiente do cliente. 
  3. gestão de processos de softwares: adoção de práticas ágeis sustentada por indicadores, trazendo transparência e auxiliando as tomadas de decisão, tornando a gestão data-driven. 

Para essas necessidades, podemos afirmar que o AI Cockpit é uma estrutura alimentada por IA que automatiza e otimiza o Ciclo de vida de Desenvolvimento de software. Oferecendo soluções como redução do time-to-market, redução de custos, melhoria na qualidade e adoção de práticas ágeis. Tudo isso suportado pela segurança e privacidade de uma plataforma modular que atende e customiza a solução para cada cliente. 

 

*As opiniões aqui colocadas refletem a minha opinião pessoal e não necessariamente a opinião da Compass UOL.  

 

Gostou da solução? Nós podemos ajudar!

Conheça nossos conteúdos gratuitos, direcionados aos assuntos de sua preferência!

Enviar

Receba nosso conteúdo

Gostaria de receber de forma gratuita mais conteúdos sobre este ou outros assuntos? Preencha o formulário abaixo e receba nosso conteúdo gratuito!

Parabéns!

Você receberá nosso conteúdo em breve!

Atenção

Tivemos um problema com seu formulário, tente novamente.