Gartner divulga as principais tendências tecnológicas em engenharia de software para os próximos anos
O Gartner, líder mundial em pesquisa e aconselhamento para empresas, anuncia as principais tendências tecnológicas estratégicas em engenharia de software para os próximos anos.
“Os líderes de engenharia de software estão sob pressão contínua para adotarem arquiteturas e tecnologias modernas. Para ter sucesso, eles precisam saber quais tendências têm o maior impacto potencial para seus esforços de negócios digitais dentro de um horizonte de planejamento”, diz Joachim Herschmann, vice-presidente e analista do Gartner. Para ele, as principais tendências apontadas pelo Gartner representam um conjunto de abordagens e tecnologias que os líderes de engenharia de software deveriam aproveitar nos próximos dois a três anos para se manterem à frente do mercado, inovarem e prosperarem em um ambiente de constante disrupção.
As principais tendências tecnológicas para engenharia de software se enquadram em três categorias distintas: capacitação de desenvolvedores para as equipes liberarem todo o seu potencial, aprimoramento das equipes com uso de tecnologias de Inteligência Artificial e foco nas tendências de escalonamento de desenvolvimento de programas. Segundo o Gartner, as principais tendências são:
InnerSource: InnerSource é uma estratégia de desenvolvimento de software que aplica práticas de código aberto a código proprietário. Ao adotar uma mentalidade de código aberto para o desenvolvimento de software, as empresas podem preencher lacunas e quebrar silos, levando a um ciclo de vida de desenvolvimento de programas mais forte e estruturado. “Em última análise, o InnerSource ajuda as equipes a construírem software com mais rapidez e a trabalharem melhor em conjunto, gerando um desenvolvimento de maior qualidade e mais bem documentado”, afirma Herschmann.
Experiência dos Desenvolvedores: A experiência do desenvolvedor refere-se a todos os aspectos das interações entre os desenvolvedores e ferramentas, plataformas, processos e pessoas com quem trabalham para criar e entregar produtos, software e serviços. Melhorar a experiência do desenvolvedor é fundamental para ter sucesso com iniciativas digitais e construir equipes de alto desempenho. O Gartner aponta que a experiência do desenvolvedor vai além de suas ferramentas e tecnologias. “As ferramentas usadas no trabalho diário certamente desempenham um papel na melhoria da qualidade dos fluxos de trabalho dos desenvolvedores. No entanto, a experiência do desenvolvedor também depende de fatores não-tecnológicos como dedicar tempo a um trabalho profundo, criativo e significativo, bem como ter liberdade pessoal para tentar coisas novas sem medo de fracassar”, diz o analista do Gartner
Equipes de Engenharia de Software Preparadas para Utilizar Inteligência Artificial: A engenharia de software aumentada por Inteligência Artificial aproveita suas tecnologias para ajudar as equipes de engenharia de software a criarem e entregarem aplicativos com mais rapidez. Os times podem gerar rapidamente diferentes tipos de sistemas, incluindo elementos de design, código de aplicação ou casos de testes, que podem ser refinados e reutilizados, acelerando assim o processo geral de desenvolvimento. “A engenharia de software aumentada com Inteligência Artificial exige tornar as equipes de engenharia mais eficientes em seu trabalho, aliviando-as de uma rotina profissional tediosa, em vez de permitir que a tecnologia as substitua”, explica Herschmann.
Aplicativos Capacitados por Tecnologia de Inteligência Artificial: A combinação de dados corporativos disponíveis, capacidades avançadas de construção de modelos e serviços generativos de Inteligência Artificial resultará em aplicações aprimoradas de dados que impulsionam melhores decisões de negócios. Os aplicativos habilitados para Inteligência Artificial podem enriquecer as informações disponíveis nas empresas, automatizar fluxos de trabalho e criar modelos que avaliem riscos ou recomendem as próximas melhores ações. Para ter sucesso ao usar a Inteligência Artificial, os líderes de engenharia de software devem tratar o desenvolvimento de seus modelos de forma diferente do desenvolvimento de aplicativos e coordenar atividades entre as equipes de desenvolvimento e construção de modelos.
Engenharia de Plataforma: Engenharia de Plataforma é a disciplina de construção e operação de plataformas internas de desenvolvimento de autoatendimento para entrega de software e gerenciamento do ciclo de vida. Ajuda os desenvolvedores a descobrirem, operarem, protegerem, melhorarem e desenvolverem sistemas de TI complexos e distribuídos — especialmente quando não são especialistas técnicos nos sistemas subjacentes. As plataformas melhoram a experiência geral do desenvolvedor com um conjunto selecionado de ferramentas e serviços. Eles também melhoram a consistência e a qualidade das soluções de TI e reduzem ferramentas e processos redundantes, consolidam esforços paralelos de diversas equipes, impõem padrões de segurança e conformidade e incluem automação generalizada.
Sistema Imunológico Digital: A Imunidade Digital interliga práticas das áreas de observabilidade, testes de software, engenharia do caos, desenvolvimento de software, engenharia de confiabilidade de sites e segurança da cadeia de fornecimento de software para garantir alta resiliência e qualidade dos aplicativos. “Muitas organizações de engenharia de software já estão usando algumas dessas estratégias, mas nenhuma dessas práticas por si só será suficiente para atingir o objetivo de construir sistemas altamente resilientes”, diz Herschmann. “Juntas, essas práticas constituem uma poderosa abordagem de qualidade contínua para garantir que sistemas digitais complexos continuem funcionando mesmo que a ‘casa esteja pegando fogo’.”