Por Kavin Dunne *
As conversas sobre a Transformação Digital e seus benefícios dominaram as conversas entre os CIOs nas organizações por quase uma década. Mas, no ano passado, este assunto tomou um rumo surpreendente.
Considere o seguinte: em junho de 2018, a IDC anunciou que “58% das organizações estão em um impasse digital” e em março de 2018, a HBR abordou as falhas da transformação digital de alto nível como na GE, Nike, Procter & Gamble e Ford.
E as más notícias não pararam por aí. Em 2017, a Fujitsu descobriu que uma em cada quatro organizações sofreu uma falha em seu jornada de transformação digital, ao custo médio de US$ 655 mil – enquanto uma pesquisa da Wipro Digital revelou que 20% dos executivos acreditam que as transformações digitais são perda de tempo. Talvez porque apenas 10% dos participantes da pesquisa conseguiram afirmaram ter executado com sucesso pelo menos 75% de sua estratégia.
Mas, o que exatamente está acontecendo para que tantas organizações enfrentem barreiras quando se trata de transformação digital? E o que você pode fazer para contrariar a tendência? Para responder a essas perguntas, vamos dar uma olhada em quatro razões comuns pelas quais os projetos em organizações de desenvolvimento e teste de software estão paralisados e o que você pode fazer a respeito.
1) Teste não está otimizado para o desenvolvimento ágil
Se os seus esforços de desenvolvimento estão caminhando para os processos de desenvolvimento ágil e de desenvolvimento DevOps, seus esforços de teste precisam corresponder a isso. Com demasiada frequência, os testes são deixados para trás, mas essa incompatibilidade é exatamente o que pode fazer com que sua transformação digital fique paralisada.
Não otimizar o teste para esse ambiente, normalmente, se resume a dois fatores principais:
Falta de automação: se pelo menos alguns de seus testes não forem automatizados, será quase impossível acompanhar o ritmo crescente de implantações de software. Quando as implantações de software começam a se tornar uma ocorrência diária, ou mesmo de hora em hora, deve haver alguma verificação automatizada para garantir que cada nova alteração no código realmente funcione.
Acessibilidade limitada: há uma tendência entre as equipes ágeis de que tudo deve estar acessível a todos para que toda a equipe possa entender e contribuir com os esforços da equipe. No entanto, muitas equipes usam ferramentas de teste que os desenvolvedores não conseguem acessar ou entender. Para otimizar o desenvolvimento ágil e acelerar a transformação digital, você precisa de uma ferramenta que os desenvolvedores possam acessar e usar, e para que possam entender o que está acontecendo e ajudar a melhorar.
A remoção desses obstáculos em torno da automação e acessibilidade ajudará muito a incorporar os testes em todo o processo de desenvolvimento de software, em vez de operá-los em um silo. Essa integração é essencial para o sucesso do DevOps e o sucesso da transformação digital.
2) Cultura e entraves na comunicação
Muitas vezes, quando as organizações fazem a transição para práticas modernas de desenvolvimento e implantação, os líderes lutam para distribuir a tomada de decisões. No entanto, possibilitar que os principais participantes de todos os departamentos tomem decisões é essencial se você quiser mover-se rapidamente e entregar produtos em um ritmo mais rápido. Isso porque, se a organização não puder tomar decisões e planejar rapidamente, os esforços de transformação digital falharão.
Muitas organizações têm uma abordagem muito ágil para criar novos produtos rapidamente quando tomam uma decisão, mas sua abordagem geral para determinar a estratégia em alto nível, incluindo o que construir e quais são as principais prioridades da empresa, é uma indicativa de uma equipe de gerenciamento não é pronta para uma decisão de cima para baixo, ou seja, cascata.
Essa configuração pode ser problemática, pois cria um gargalo significativo e isola as pessoas que estão construindo seus produtos da estratégia de negócios, levando a uma desconexão entre o que a empresa deseja e o que a engenharia pode oferecer. Essa desconexão pode causar atrasos até que o produto seja concluído, pois as equipes esperam por uma orientação mais clara durante o desenvolvimento, quando há discrepâncias entre as expectativas e a realidade da organização.
Para superar essa desconexão e manter os esforços de transformação digital funcionando sem problemas, os negócios e a engenharia precisam estar em sintonia. Na maioria das vezes, atingir esse objetivo se resume a descentralizar a tomada de decisões e garantir que cada membro da equipe compreenda claramente o objetivo comum, para que as decisões estratégicas possam ser tomadas rapidamente em incrementos menores.
3) A arquitetura de aplicativos não está pronta para a otimização digital
Quando se trata de otimização digital para software, normalmente queremos dizer acessibilidade omnichannel que oferece aos usuários finais a capacidade de interagir com o software em qualquer canal, seja móvel, web ou em qualquer outro lugar. A obtenção desse estado omnicanal desejado geralmente se resume a ter boas APIs como base para a arquitetura do seu aplicativo.
Obter a arquitetura correta no devido lugar se mostrou difícil para muitas organizações porque elas ainda precisam construir APIs para seus softwares. Em vez disso, elas ainda têm aplicativos monolíticos que são executados em uma base de código gigante. Com esse tipo de configuração, o software deve permanecer em um padrão de versão estrito, porque uma alteração em uma área pode facilmente quebrar algo em outra área da base de código compartilhada.
Para que a arquitetura de aplicativo esteja preparada para uma verdadeira transformação digital, você precisa das APIs adequadas – o que geralmente significa começar no nível inicial com a arquitetura apropriada. Depois disso, suas equipes de desenvolvimento e de testes podem trabalhar em grupos independentes em diferentes áreas do aplicativo sem se preocupar em quebrar algo em outra área.
Essa configuração permitirá migrar serviços para a nuvem, um de cada vez, para melhorar a escalabilidade. Ela também ajudará a alcançar uma velocidade mais rápida o time-to-market, já que você pode operar em um ciclo de lançamento mais ágil, no qual novos lançamentos chegam ao mercado assim que estiverem prontos, independentemente do que esteja acontecendo em outras áreas do aplicativo.
4) Lacunas de habilidades entre testadores
Para equipes de desenvolvimento e de testes possam alcançar uma verdadeira transformação digital, o teste ágil é uma chave para o sucesso. No entanto, existem duas lacunas de habilidades-chave que frequentemente impedem que isso aconteça.
Primeiro, muitos testadores são especializados demais para operar efetivamente em um ambiente ágil. Não faz muito tempo, as organizações queriam especialistas que pudessem se concentrar em um tipo de teste. A estrutura de uma organização ágil, que normalmente inclui várias equipes pequenas, cada uma com um ou dois testadores, requer generalistas capazes de lidar com vários tipos de teste (automatizado, por desempenho, carga, APIs etc.). Dessa forma, os testadores podem realizar qualquer tipo de teste da equipe ágil.
Essa mudança na estrutura da equipe deixou muitos testadores que passaram anos desenvolvendo habilidades especializadas em ferramentas de testes muito específicas com uma grande lacuna de habilidades. Como resultado, muitas organizações precisam, então, ajudar os testadores a ampliar suas capacidades. A boa notícia é que existem várias ferramentas modernas disponíveis para áreas especializadas, como testes de carga, testes de desempenho e automação de testes, mais fáceis de serem aprendidas e implementadas pelos profissionais.
Em segundo lugar, os ambientes ágeis destacam quaisquer lacunas nas habilidades de comunicação. Em uma equipe ágil, as pessoas precisam se comunicar de forma cruzada e tomar decisões rapidamente. Quando você acrescenta a isso que muitas das equipes de hoje são distribuídas globalmente, o que significa que elas precisam contar com comunicações virtuais, qualquer obstáculo na comunicação se torna ainda mais acentuado.
Abordar essa lacuna de habilidades requer ensinar as pessoas a explicar as ideias e decisões (incluindo conceitos muito técnicos) rapidamente para pessoas com diferentes origens e habilidades, pessoalmente, bem como por meio de ferramentas de bate-papo e e-mail. Fazer isso não é fácil, mas é um dos investimentos mais valiosos que você pode fazer para manter as operações funcionando sem problemas.
Faça seu esforço de transformação digital voltar à trilha do sucesso.
Se sua transformação digital parar, você não está sozinho, mas há várias etapas que você pode seguir para recuperar seus esforços. Tudo começa por diagnosticar o motivo pelo qual você está enfrentando os desafios e, para a maioria das equipes de desenvolvimento e de testes de software, se resume a um dos quatro obstáculos descritos aqui: falha ao otimizar testes para desafios ágeis, culturais e de comunicação, arquitetura de aplicativos desatualizada e lacunas de habilidades entre os testadores.
* Kavin Dunne é VP de Estratégia e Desenvolvimento de Negócios da QASymphony