Notícias

Como acelerar o desenvolvimento de software (sem matar o ânimo da sua equipe)

Como uma startup que atende à indústria de jogos altamente competitiva com sua plataforma de streaming 3D interativo, a Polystream precisa fornecer novos recursos rapidamente. Cheryl Razzell, vice-Presidente de Engenharia da empresa, e Simon Sparks, Chefe de Talentos, consideram a velocidade uma vantagem competitiva.

“Temos que usar tudo, inclusive a velocidade, para nossa vantagem”, diz Sparks.

Eles reconhecem que a velocidade dá trabalho. Caso contrário, os desenvolvedores podem ficar atolados na burocracia ou desviados por ideias e solicitações intermináveis, que adicionam um tempo precioso ao trabalho de codificação e atrasam os lançamentos e novos produtos.

Os CIOs de hoje, no entanto, não têm tempo a perder. Eles estão sob pressão cada vez maior para se mover cada vez mais rápido para atender às demandas do usuário de forma rápida.

“Parece a condição perfeita para os CIOs. Tivemos a primeira era da Covid, onde o CIO surgiu como uma estrela por viabilizar o trabalho remoto e lançar iniciativas para garantir estabilidade e conexão com os clientes. Mas agora a equipe de gestão mudou. Eles estão pensando em 2021 e 2022, como podem recuperar o atraso, compensar o tempo perdido e acelerar os negócios”, diz Aamer Baig, parceiro sênior da consultoria de gestão McKinsey & Co., ajudando líderes de negócios e tecnologia a transformar suas organizações. “Então, se os CIOs pensavam que a pressão era alta antes, agora são magnitudes maiores”.

Dada essa pressão, os CIOs e suas equipes de TI corporativas estão descobrindo que as etapas que realizaram para iterar rapidamente, como a adoção de metodologias de desenvolvimento agile, podem não ser suficientes para suportar as crescentes demandas de negócios por quantidade e velocidade. Considere, por exemplo, que 86% dos tomadores de decisão de TI listaram poucos desenvolvedores de software como seu maior desafio para transformar digitalmente seus negócios, de acordo com o Project Management Institute.

Os líderes de TI podem agilizar o trabalho de desenvolvimento – sem sobrecarregar suas equipes – com a adoção de novos processos e tecnologias, líderes de TI e outros consultores, segundo Baig. Eles oferecem as cinco sugestões a seguir para acelerar o desenvolvimento de aplicativos – sem matar o ânimo no processo.

Desenvolva uma forte integração com a empresa

Pesquisa da McKinsey descobriu que “estratégias digitais arrojadas e fortemente integradas” agregam mais valor com mais frequência, descobrindo que 47% das empresas com tais estratégias em vigor relataram um crescimento orgânico da receita de 10% ou mais.

Baig aponta as empresas de tecnologia como exemplos do que fazer, observando que elas frequentemente incorporam equipes de tecnologia dentro da empresa ou vice-versa, criando um processo de entrega conjunta que permite que entreguem o código rapidamente.

Joshua Perkins, CTO da Ahead, provedora de soluções em nuvem, oferece uma perspectiva semelhante, dizendo que as equipes precisam ser arquitetadas para se alinhar com os especialistas no assunto e ser aprimoradas para garantir que sejam capazes de entregar código de qualidade rapidamente.

“Se quisermos entregar aplicativos mais rapidamente, temos que alinhar melhor os recursos e atrair e reter talentos para manter esse alinhamento”, diz ele. “Queremos criar equipes que abrangem todos os diferentes componentes funcionais para que esse software seja funcional, bem-sucedido e impactante. CIOs inovadores obtêm sucesso aqui quando trazem um influxo de pessoas que não estavam tradicionalmente envolvidas nesse processo para informar melhor os objetivos de negócios”.

Perkins aponta para uma seguradora que criou um grupo de desenvolvimento de software que incluía desenvolvedores, cientistas de dados e gerentes de negócios que entendiam de subscrição e sinistros. Essa ampla inclusão desde o início acelerou o processo de codificação, com menos sprints e iterações necessárias para desenvolver o produto final certo.

Aproveite as ferramentas ao máximo

Os desenvolvedores têm adotado um grande número de ferramentas para ajudá-los a trabalhar com mais rapidez, mas a adoção não é universal entre as equipes de desenvolvimento, nem é completa entre as equipes que adotaram a automação e outras tecnologias.

Descobertas na pesquisa Mapping the DevOps Landscape de 2020 da GitLab, fabricante de uma ferramenta de ciclo de vida de devops baseada na web, mostra espaço para melhorias: apenas 38% dos entrevistados disseram que suas implementações de devops incluíam integração/entrega contínua (CI/CD, na sigla em inglês para continuous integration/continuous delivery), e apenas 29% disseram que suas implementações de devops incluem automação de teste.

No entanto, os entrevistados indicaram que a adoção de tecnologias ajudaria a acelerar seu trabalho. Por exemplo, 47% listaram o teste como um gargalo principal, embora apenas 12% tenham dito que implementaram a automação de teste completa.

Martin Brodbeck, CTO da agência de viagens on-line Priceline, disse que implantou mais ferramentas, como Harness, para ajudar a acelerar o desenvolvimento de sua empresa e continua a lançar mais tecnologias para apoiar suas equipes.

“Nosso objetivo é não ter pessoas envolvidas para implantar o código em nosso ambiente. De uma perspectiva de implantação, pode fazer as coisas se moverem muito mais rápido”, diz Brodbeck. “Podemos lançar mais recursos e funções mais rapidamente, ver se funcionam e, se funcionarem, podemos dimensioná-los rapidamente. E se houver algum problema, podemos reverter as implantações”.

Brodbeck diz que não rastreia os tempos de implantação, então não pode quantificar como qualquer ferramenta em particular ajudou a aumentar a velocidade de desenvolvimento, mas ele diz: “Curiosamente, sabemos que somos mais rápidos”.

Padronizar tecnologias, processos, linguagens

Embora a adoção de tecnologias de automação e ferramentas de desenvolvimento, bem como processos e metodologias como agile e devops, sejam essenciais para adicionar velocidade ao desenvolvimento de aplicativos, os especialistas alertam contra o uso de muitos outros diferentes. Essa abordagem provavelmente retardará o trabalho no longo prazo.

“Você pode entrar em discussões religiosas com engenheiros sobre [suas preferências], mas há um enorme benefício em harmonizar quais ferramentas e processos de desenvolvimento são usados”, diz Baig.

Padronizar entre as equipes de desenvolvimento pode levar trabalho e tempo, mas Baig diz que no final as equipes de desenvolvimento serão capazes de trabalhar mais rápido, porque podem ser movidas entre projetos e departamentos de forma rápida e fácil se estiverem usando as mesmas ferramentas, processos e até mesmo linguagens para fazer seu trabalho.

Brodbeck concorda, dizendo que a padronização fornece flexibilidade máxima, eliminando o tempo que os desenvolvedores podem levar para aprender ou dominar novas ferramentas e processos à medida que se movem dentro da organização.

Cultive o foco

“Por sermos uma equipe pequena, só podemos nos dar ao luxo de focar nas partes mais importantes – o que torna isso diferente, o que torna isso especial. Ter isso por trás do foco é muito importante”, afirma Sparks da Polystream.

Caso em questão: os desenvolvedores da Polystream foram recentemente incumbidos de criar um único produto que permitiria a alguém entrar em um jogo por meio de um link, em vez de baixar o jogo inteiro. Razzell diz que sua empresa viu o recurso como parte de sua estratégia para se manter competitiva em uma indústria de jogos agressiva.

A equipe de desenvolvimento trabalhou rapidamente, diz ela, entregando o produto em apenas duas semanas. Razzell diz que manter um foco nítido no objetivo foi a chave para resultados tão rápidos.

“Às vezes é fácil perder o controle do que você está tentando construir. É fácil cair na toca do coelho e você acaba com algo que não era o que procurava”, diz ela, acrescentando que ficar em um caminho estreito pode ser particularmente difícil ao desenvolver novos produtos e buscar ideias inovadoras onde elementos adicionais podem ser mais facilmente esgueirar-se para a lista de desenvolvimento de tarefas.

Ela fala por experiência própria, apontando que seus desenvolvedores foram distraídos por algumas peças de trabalho que passaram a ver como desnecessárias para seus objetivos principais.

“Você não quer ir para a toca do coelho, mas a equipe se envolve em algo. Você apenas se envolve na agitação do dia a dia”, diz Razzell. “E, nesse caso, continuamos construindo e tentando torná-lo melhor, mas descobrimos que realmente não precisávamos dele. Descobrimos que o trabalho extra estava atrapalhando nosso processo de desenvolvimento”.

Adote plataformas de low-code/no-code

Alguns especialistas destacam as plataformas de low-code/no-code como uma tecnologia particularmente importante para oferecer suporte à velocidade no desenvolvimento de aplicativos.

Eles observam que a tecnologia aumenta a velocidade de três maneiras interconectadas. Primeiro, os desenvolvedores do departamento de TI podem usá-lo para criar código mais rapidamente. Em segundo lugar, os próprios usuários de negócios podem usar a plataforma para fornecer rapidamente aplicativos que atendam às suas necessidades, eliminando o tempo que levam para se encontrar com a equipe de TI para colaborar. E, terceiro, com os próprios usuários lidando com algum trabalho de desenvolvimento de nível inferior, a TI pode concentrar seus recursos no desenvolvimento de aplicativos mais complexos e de maior valor e, ao fazer isso, pode reverter esse trabalho mais rapidamente.

“O workflow owner entende o que está tentando projetar, portanto, com low-code/no-code, eles são capazes de construir em tempo real. Eles estão projetando o novo fluxo de trabalho, e o aplicativo está sendo projetado em tempo real em segundo plano”, disse Sunil Prashara, Presidente e CEO do Project Management Institute (PMI).

A pesquisa do PMI sustentam as seguintes afirmações: se descobriu que uma empresa de telecomunicações levou 67% menos tempo para desenvolver um aplicativo usando dois desenvolvedores no-code do que levaria sua equipe de seis desenvolvedores Java. Outra empresa de telecomunicações teve sucesso semelhante, descobrindo que dois desenvolvedores no-code entregaram um aplicativo em 72% menos tempo do que seus seis desenvolvedores .NET teriam levado. Uma terceira empresa trabalhou 62% mais rápido usando dois desenvolvedores no-code e um consultor do que o tempo que levaria para dois consultores e quatro desenvolvedores em um ambiente de desenvolvimento mais convencional.

Os CIOs estão tomando nota, aumentando seus investimentos em plataformas de low-code/no-code. O relatório da Pesquisa de Tecnologia Emergente Global 2020 da KPMG descobriu que os CIOs nos últimos meses aumentaram seus investimentos nessas plataformas, com 26% afirmando que a consideram o principal investimento em automação para o segundo trimestre, ante apenas 10% para o primeiro.

Recent Posts

Mães empreendedoras: 04 histórias de mulheres que equilibram negócios e maternidade

No mundo do empreendedorismo, onde cada passo é uma jornada de descobertas e superações, as…

19 horas ago

Nova IA promete revolucionar a biomedicina ao prever comportamento de moléculas

O Google DeepMind e a Isomorphic Labs revelaram o AlphaFold3 nesta quarta-feira (8), uma inovação…

2 dias ago

TikTok lança sistema de rotulagem automática para conteúdo gerado por IA

O TikTok anunciou nesta quinta-feira (9) que implementará um sistema de rotulagem automática para identificar…

2 dias ago

Convênio entre Unicamp e Inmetrics quer acelerar uso de IA generativa

A Inmetrics e o Parque Científico e Tecnológico da Universidade Estadual de Campinas (Unicamp), gerido…

2 dias ago

IA facilita reencontro de animais e tutores no RS após enchentes

As recentes enchentes no Rio Grande do Sul não afetaram apenas pessoas, mas também milhares…

2 dias ago

13 oportunidades de ingressar na área de tecnologia

Toda semana, o IT Forum reúne as oportunidades mais promissoras para quem está buscando expandir…

2 dias ago