Enable javascript in your browser for better experience. Need to know to enable it? Go here.

Liderando através da mudança:

Navegando pelo cenário das ferramentas de IA para entrega de software

A crescente pressão sobre as equipes de engenharia de software para entregar mais com menos criou um ambiente perfeito para a adoção da IA. 95% das pessoas desenvolvedoras já estão adotando assistentes de programação de IA, desbloqueando novas eficiências. Mas com apenas 30% do ciclo de entrega gasto em programação, as organizações também estão buscando aproveitar a IA para melhorias em outras tarefas no ciclo de entrega de software.

 

Aproveitar a IA desde o início do recurso até as operações promete melhorias na eficiência, qualidade e velocidade. Mas, embora o potencial seja vasto e evolua rapidamente, o cenário de ferramentas ainda está em estágio inicial. Para as lideranças, é desafiador saber por onde começar e como investir.

 

Este artigo apresenta um modelo de como pensar sobre ferramentas para assistência de IA em uma organização de engenharia de software; a proposta é que este conteúdo seja um modelo mental para acompanhar um mercado em rápida evolução e em constante mudança.

 

 

Nenhuma ferramenta para governar todas elas

 

As clientes geralmente nos perguntam: “Qual ferramenta de IA devemos usar para tarefas de entrega de software além da programação?” A resposta é que não há uma única ferramenta, e isso não é só porque o mercado ainda está evoluindo. Nunca haverá uma solução única, pois a assistência por IA generativa (GenAI) deve ser infundida em toda a cadeia de ferramentas de entrega e complementar as ferramentas e fluxos de trabalho existentes das pessoas usuárias. 

 

Vamos considerar o teste como exemplo:

 

  • As pessoas desenvolvedoras e QAs podem usar um assistente de programação para gerar e melhorar o código e refinar seus cenários de teste.

  • As QAs podem solicitar que um chatbot discuta cenários de “o que pode dar errado” para uma ativação.

  • O fornecedor de um produto de teste já usado pela organização pode melhorar sua funcionalidade com IA.

Ou, vamos observar como a IA pode ser usada nos times de design:

 

  • Os designers visuais podem usar extensões de IA para o Figma.

  • Uma pessoa desenvolvedora pode gerar um código de protótipo a partir de um projeto ou uma imagem com uma ferramenta de código aberto.
  • Uma pessoa pesquisadora de usuárias pode usar um prompt personalizado em um chatbot para preparar entrevistas de pesquisa de pessoas usuárias e analisar os resultados da pesquisa de usuárias com um produto nativo de IA, como o Kraftful.

 

 

A primeira pilha de entrega de software com IA

 

Baseado em nas nossas observações de mercado, identificamos seis arquétipos-chave de ferramentas que formam as opções de suporte a ferramentas organizacionais para a entrega de software com IA em primeiro lugar.

1) Extensões para a cadeia de ferramentas de entrega existente

 

Com a crescente demanda por IA, todos os principais fornecedores de software estão adicionando extensões com tecnologia de IA às suas ferramentas de desenvolvimento existentes. Exemplos incluem Figma , Jira e Confluence da Atlassian e os consoles de nuvem dos grandes provedores de serviços de nuvem (Desenvolvedor Amazon Q , Microsoft Copilot para Azure , Gemini para Google Cloud ). Então, antes de considerar a implementação de novas ferramentas, concentre-se em como a IA poderia ser integrada às ferramentas que sua equipe já está usando. Essas extensões serão uma parte importante do seu suporte de IA, pois oferecem a melhor integração no fluxo de trabalho existente da sua equipe e nos dados de que a IA precisa.

 

Portanto, é importante ficar perto dos fornecedores de suas principais ferramentas, acompanhando os anúncios e roteiros porque este é um campo de maturação. Muitas dessas extensões alimentadas por IA ainda estão nos estágios iniciais de desenvolvimento; isso significa que, embora essa área tenha muito potencial, as funcionalidades atuais dos produtos existentes ainda são limitadas. Os testes serão, portanto, uma etapa crítica na adoção; identifique algumas pessoas em sua equipe para avaliar novos recursos antes de implementá-los mais amplamente.

 

 

2) Ferramentas e produtos nativos da GenAI

 

Além das extensões para a cadeia de ferramentas de entrega existente, há uma infinidade de novos produtos e ferramentas de código aberto emergentes que têm a GenAI no centro de sua proposta de valor. Listar alguns dos produtos e casos de uso abordados excederia rapidamente o espaço disponível neste artigo, mas o mercado realmente tem algo para tudo no momento. Isso inclui tarefas de engenharia de requisitos, documentação, design de interface da pessoa usuária e ChatOps com suporte de LLM. No entanto, poucas ferramentas abordam partes maiores do fluxo de trabalho do processo de entrega de software — a maioria se concentra apenas em tarefas específicas.

 

Como muitos desses produtos estão sendo desenvolvidos por startups em estágio inicial, é necessária uma avaliação cuidadosa antes de compartilhar quaisquer dados com eles. Também é importante observar  atentamente o escopo e a maturidade de sua funcionalidade. Na atual corrida do ouro da GenAI, muitos estão usando demonstrações impressionantes, mas superficiais, com pouco para apoiá-las.

Um programador trabalhando no código de um programa de software.

Estudo de caso: A Thoughtworks ajudou a preparar o caminho para uma grande empresa de serviços financeiros dos EUA aproveitar as ferramentas de IA para o desenvolvimento de software. Apenas um mês após o engajamento, entregamos um relatório abrangente de Market Scan com um roteiro configurável para iniciativas de GenAI, abrindo portas para novas possibilidades empolgantes.

3) Assistentes de programação

 

Entre as ferramentas nativas da GenAI, os assistentes de programação se destacam como a área mais estabelecida com o maior potencial ao procurar IA para entrega de software; é por isso que eles receberam sua própria categoria em nosso modelo. Muitas de nossas grandes clientes já estão usando IA para ajudar na programação e, dependendo do contexto, esse uso pode levar a uma redução de até 10% no tempo do ciclo da história. 

 

Atualmente, o produto mais popular no espaço é o GitHub Copilot . O recém-lançado  Jetbrains AI Assistant é um dos que deve ser observado, já que o Jetbrains é líder no fornecimento de uma excelente experiência da pessoa desenvolvedora em ambientes de desenvolvimento integrados (IDEs). Alternativas como Tabnine e Codeium se destacam por suas ofertas de auto-hospedagem e dados de treinamento que aliviam algumas das preocupações de copyleft. A AWS e o Google lançaram o AWS CodeWhisperer e o Gemini Code Assist , que devem ser particularmente bons em escrever código para a respectiva pilha de nuvem. O Continue está surgindo como uma das extensões IDE de código aberto mais populares para assistência de programação, com a opção de conectar a ferramenta a uma variedade de ofertas de modelos diferentes, incluindo as que são executadas na máquina de uma pessoa desenvolvedora. E o aider é um assistente de programação de código aberto que adota uma abordagem fora do IDE; atualmente, é uma das poucas ferramentas desse tipo que pode alterar o código em vários arquivos.

 

Há também ferramentas especializadas em áreas específicas de assistência de programação. A IA de Codium, por exemplo, é um produto que se concentra na geração de testes. Além disso, há uma área inteira de ferramentas de assistência de programação que se concentram em navegar e explicar códigos em uma base de código ou até mesmo em muitas bases de código, como Cody , Bloop AI ou Driver AI do Sourcegraph.

 

A assistência de programação com IA chegou para ficar. Embora já esteja agregando valor hoje, tem o potencial de ter um impacto ainda maior, em particular onde a GenAI é combinada com outras tecnologias que podem entender e analisar estaticamente o código. No entanto, é importante observar que os assistentes de programação devem ser combinados com práticas de engenharia eficazes que atuam como grades de proteção. Embora os modelos de linguagem de grande porte (LLMs) se destaquem no reconhecimento e síntese de padrões, eles não têm a capacidade de julgar a qualidade do código. Em vez disso, eles ainda amplificam principalmente o que veem indiscriminadamente. E o que eles podem ver inclui muito código público meio cozido em seus dados de treinamento, ou o código ruim em nossa base de códigos que não queremos repetir.

 

 

4) Chatbots e recursos de compartilhamento imediato

 

Sejamos realistas, seus funcionários provavelmente já estão aproveitando ferramentas como o ChatGPT para o trabalho diário, então a pergunta não é se, mas como eles estão usando. Uma maneira de facilitar o uso responsável é com chatbots internos sob seu controle que permitem que suas equipes aproveitem toda a amplitude do que os LLMs podem fazer, com proteções integradas. Estamos vendo uma série de organizações pilotar esses chatbots internos no momento, principalmente com interfaces de pessoas usuárias (UIs) personalizadas que falam com modelos de base nos grandes provedores de nuvem de maneira monitorada ou até mesmo com modelos hospedados pela própria organização. 

 

A chave para desbloquear todo o potencial dessas implantações depende de dois fatores importantes: capacitar os funcionários em técnicas de solicitação e dar a eles as ferramentas para compartilhar solicitações eficazes entre si. Plataformas como o Dify demonstram como o compartilhamento imediato pode ser.

 

Facilitar para as pessoas compartilharem comandos é particularmente importante ao usar a IA para ajudar na entrega de software. Isso porque as equipes de entrega de software compartilham um domínio comum de comando. Cada equipe precisa escrever histórias de pessoas usuárias, criar cenários de testes, tomar decisões de arquitetura ou aplicar práticas de segurança, como modelagem de ameaças. 

Estudo de caso: Uma empresa líder de mídia e publicação recorreu ao Thoughtworks para otimizar seu processo de desenvolvimento de software com IA. Usando o Portal de Assistência da Equipe Thoughtworks, estamos realizando experimentos ao longo do ciclo de vida de desenvolvimento usando IA. 

5) Portais de assistência da equipe

 

Para recapitular: muitos produtos e ferramentas para tarefas de entrega de software ainda estão em seus estágios iniciais; os fornecedores estabelecidos de componentes existentes da cadeia de ferramentas de entrega estão apenas lentamente se atualizando. Ao mesmo tempo, muitos estão ansiosos para explorar o potencial da IA na entrega de software. Para aprender mais cedo ou mais tarde, considere implantar uma ferramenta personalizada leve que esteja sob seu controle e que suas equipes de engenharia possam usar para aprender sobre o potencial da IA.

 

Experimentar antecipadamente pode informar seu planejamento e investimentos no espaço, e ajudar você a monitorar melhor a evolução do mercado de uma maneira mais intencional. O custo de aprendizagem com uma ferramenta personalizada também é relativamente baixo: A tecnologia GenAI é bastante acessível, especialmente para experimentação. E, ao contrário de muitas outras ferramentas usadas para fornecer e executar software, a assistência GenAI não leva a esforços de bloqueio e migração de fornecedores — você pode simplesmente parar de usar uma ferramenta e começar a usar outra. Às vezes, você pode até mesmo reutilizar os comandos com outras ferramentas, pois a interface de todas as ferramentas é a linguagem natural.

 

A Thoughtworks tem um acelerador que pode ajudá-lo a configurar um piloto de assistência à equipe. Ele programa boas práticas e conhecimento organizacional para ajudar as equipes com tarefas como ideação de produtos, redação de histórias de usuários, discussões sobre arquitetura, geração de dados de teste ou, de fato, qualquer outra coisa adequada para o suporte da GenAI. Essa configuração permite que você aprenda com uma ferramenta implantada em seu ambiente, sob seu controle, com modelos fornecidos por um provedor de nuvem em que você já confia.

 

 

6) Modelos básicos e pesquisa

 

Os fornecedores de componentes de cadeia de ferramentas de entrega e produtos nativos da GenAI geralmente fornecem acesso a um modelo de linguagem grande e funcionalidade de pesquisa como parte de sua oferta. No entanto, para chatbots internos, ferramentas de código aberto ou ferramentas personalizadas, como o portal de assistência à equipe, as organizações precisam fornecer acesso a modelos (de base) e recursos de pesquisa para a própria geração aumentada de recuperação (RAG). Esse é o componente final do nosso modelo mental.

 

Olhando para esse componente através da lente de ajudar suas equipes de entrega de software hoje, a opção padrão a ser analisada seria os serviços de modelo fornecidos pelo seu provedor de nuvem atual. AWS, Azure e Google Cloud fornecem recursos para configurações simples de recuperação de informações para aprimorar suas ferramentas com alguns RAG para dados organizacionais relevantes. Configurar o acesso a modelos como este também lhe dá a oportunidade de introduzir algumas proteções, monitoramento e análise.

 

 

Olhando para o futuro

 

A pressão incansável para fazer mais com menos, ou mesmo com o mesmo, não está diminuindo. Embora muitas dessas ferramentas ainda estejam em seus estágios iniciais, a trajetória do mercado sugere desenvolvimento rápido e mudanças nas práticas e ferramentas de entrega de software. Para ficar à frente da curva, as organizações precisam começar a se familiarizar com a IA para a entrega de software. 

 

Começar pequeno dentro de certos departamentos ou equipes pode iniciar uma transformação gradual, mas gerenciável, evitando os desafios de uma revisão apressada e em grande escala mais tarde. Além do exagero, a assistência com IA em software não é apenas uma tendência. Ao integrar proativamente ferramentas de IA e cultivar uma cultura de uso responsável, as lideranças podem garantir que suas organizações permaneçam competitivas e bem preparadas para um futuro em que a IA esteja profundamente incorporada em todos os aspectos do desenvolvimento de software.

 

Se você quiser explorar o potencial e a prontidão da sua organização para adotar a IA em todo o ciclo de vida da entrega de software, solicite nossa Clínica de Entrega de Software assistida por IA hoje mesmo .

Saiba mais em uma clínica de entrega de software assistida por IA