Será que o Quality Engineering sobreviverá aos vários desafios encontrados transversalmente na organização?
Essa é uma boa questão para uma prática emergente, na encruzilhada de várias disciplinas, entre o Business e o IT.
Pode consultar este artigo de introdução a perspectiva do novo Quality Engineering.
Para responder, selecionei 9 desafios que o Quality Engineering deve enfrentar para manter sua contribuição de valor no ecossistema.
#1 Resolver os (reais) problemas
Vamos nos colocar em uma situação concreta.
Como um bom quality engineer, está conectado ao sistema de reclamação do cliente, não apenas ao sistema de ticketing do TI.
Vários clientes reclamam sobre uma experiência degradada de compra e pós-compra, levantando questões multifuncionais na organização.
Onde começar? Que dados analisar, correlacionar, destacar? Que problemas parecem estar subjacentes?
A crescente complexidade dos ecossistemas e das organizações torna difícil a sua navegação.
A gestão de problemas é uma prática exigente, especialmente quando aplicada a toda a organização.
Identificar, focar e solucionar os problemas reais é um verdadeiro desafio, exemplificado pela quantidade de projetos que não entregam o valor esperado.
As respostas não estão nas modalidades de execução, seja num plano plurianual ou em sprints ágeis, em SOA, microsserviços, mas nos assuntos abordados.
A gestão de problemas é uma habilidade organizacional que o Quality Engineering deve animar, para identificar problemas reais e melhorar o desempenho estrutural do sistema.
Contra-intuitivamente, o solucionamento de problemas necessita fundamentalmente de interações humanas.
#2 Desenvolver um sistema organizacional colaborativo
Mesmo que seja incerto e imprevisível, a estrutura e a organização de um sistema permitem que o comportamento seja supervisionado.
Independentemente do modelo, o sistema deve criar uma capacidade de colaboração fora dos silos organizacionais e hierárquicos, apoiando a resolução de problemas.
A organização deve, portanto, promover intercâmbios transversais quando necessários, orquestrando tarefas manuais, semiautomáticas e automáticas entre os atores.
Missões, valores e outros mecanismos de incentivos devem ser revisados para se alinhar com o objetivo e as mudanças organizacionais.
Os vários elementos do sistema devem ser considerados e abordados como um projeto de gerenciamento de mudanças corporativas como tal.
Além disso, a medição de desempenho deve evoluir para promover o desenvolvimento do sistema.
#3 Impulsionar uma organização Purpose-Driven e Value-Driven
A energia, visão e cultura por meio das quais os funcionários são orientados é o combustível para a mudança.
Fazer a seguinte pergunta geralmente é enriquecedor: “Para o que está contribuindo?”
Uma resposta relacionada aos próximos tíquetes de desenvolvimento em andamento denota a falta de compartilhamento de uma visão e cultura comuns.
Por outro lado, pode ouvir “Estou a participar na construção da nossa plataforma de amanhã ao serviço dos nossos clientes”.
A visão compartilhada que impulsiona os funcionários é uma das principais características de uma organização com propósitos.
Sobre esse assunto, recomendo pessoalmente o livro Man’s Search for Meaning.
Vantagens notáveis surgem como melhores iniciativas, motivação no trabalho e colaboração a serviço do desempenho da empresa.
As vantagens de uma organização value-driven são explícitas em sua definição.
A team is value-driven when the team members value working together; they are constantly improving themselves, their team, their environment, and their tools; and they strive to live an appropriate set of Values.
Cultura e sentido compartilhado são um verdadeiro desafio para o Quality Engineering que deseja animar uma dinâmica transversal voltada para o cliente.
#4 Gerenciar conhecimento organizacional
Coletar, manter e disseminar conhecimento é um desafio para as organizações.
Similarmente aos clientes, “Em qualquer lugar, a qualquer hora” também se aplica ao acesso à informação.
A crescente complexidade das organizações não simplifica a tarefa do Quality Engineering, que muitas vezes precisa navegar entre fontes diferentes e pouco integráveis.
Com um pouco de sorte, a empresa terá capitalizado em um portal de documentação para o seu produto.
A questão do conhecimento é mais ampla, abrangendo tanto questões funcionais quanto técnicas.
As partes interessadas também querem formatos utilizáveis, adicionando um problema de visualização.
Para tornar a tarefa mais complexa, o conhecimento está cada vez mais dinâmico.
#5 Desenvolver o Analytics e a Observability
Os processos estão vivos, evoluindo e devem ser observados em movimento.
O campo do Analytics trata da criação de valor por meio da análise de dados, relatórios e outras métricas.
Suporta tomadas de decisão de melhor qualidade, com base no histórico e cada vez mais em previsões.
A Observability se concentra na percepção do estado de um sistema, analisando seus atributos e dados acessíveis externamente.
Concretamente, você consegue observar as diferentes experiências digitais de seus clientes em tempo real?
A complexidade de usos, organizações e tecnologias geralmente resulta em uma visão parcial dos processos.
O surgimento de Process Mining, arquiteturas de Data Mesh e standard de métricas e eventos de mercado vão nos ajudar.
Até lá, o Analytics e a Observability continuam sendo desafios reais para o Quality Engineering, que frequentemente terá que cruzar vários relatórios.
#6 Implementar a automação
Além do desafio tecnológico, a automação apresenta tópicos reais de adoção e estado de espírito.
Alguém pode perguntar: “Por que não automatizar tudo?”
Equilíbrio, relevância e bom senso devem ser considerados.
As tarefas podem ser temporárias e instáveis, tornando sua automação desnecessária.
Alguns processos podem exigir adaptações regulares antes de serem robustos. Além de um custo de rework alto, o atraso da feedback loop irá atrasar a melhoria do processo.
Lembre-se da citação de Bill Gates sobre a ineficiência de escala de automatizar um processo manual mal definido
Para outras tarefas, a automação simplesmente ainda não é possível.
Vou repassar os desafios inerentes à automação como o treinamento, a implantação tecnológica do RPA, a busca dos perfis necessários, etc.
O Quality Engineering visa a possibilitar a adoção justa e a transferência de valor da automação ao serviço da empresa.
#7 Acelere a entrega de software sob restrições
Um desenvolvedor deve ser capaz de entregar uma linha de código que o cliente possa beneficiar em minutos.
Tudo isso garantindo disponibilidade 24 horas por dia, 7 dias por semana, em vários países, em vários dispositivos, segurança, escalabilidade, …
É com essas restrições que surge o complexo equilíbrio de aceleração e controle da qualidade do software.
Os processos muitas vezes revelam seus limites quando levados ao extremo, uma situação cada vez mais comum nas empresas.
O Quality Engineering deve conseguir estar ao serviço dos stakeholders do desenvolvimento para facilitar suas vidas.
Fornecer uma verdadeira plataforma de desenvolvimento que permita entregar, validar e reagir rapidamente surgidos nos conceitos de Developer Platform, DevEx, Engineering Productivity.
Mesmo que o No-Code ou Low-Code esteja em alta, isso não resolverá todos os nossos problemas, a experiência de desenvolvimento ou DevEx continua sendo um assunto importante.
#8 Manter uma DevEx consistente entre os ambientes
Para atender às nossas várias restrições, as arquiteturas distribuídas e ambientes de teste surgiram.
Por outro lado, criamos outros problemas: a consistência dos vários ambientes entre eles.
O Test Environment Management (TEM) e o Test Data Management (TDM) são assuntos frequentemente subestimados.
Se os use-cases foram detalhados, por que se preocupar com o ambiente e os conjuntos de dados?
Para garantir o valor agregado das equipes.
Mesmo com o melhor IDE e Cloud na moda, um desenvolvedor será improdutivo se perder 4 horas tentando integrar seu desenvolvimento, a cada alteração.
A integração e consistência de ambientes é tema central do Quality Engineering, o que aumenta o desempenho das equipas.
#9 Adotar gradualmente a IA
Vamos terminar com nosso último item, a famosa Inteligência Artificial (IA).
É difícil identificar os projetos que estão em produção com tanto entusiasmo pelo assunto.
Seu objetivo é automatizar matrizes de decisão complexas e reativas em escala.
Configurar processos reais de IA é uma forma avançada de automação, mais complexa organizacionalmente, tecnologicamente, mas também humanamente.
Gostaríamos de ter um AI de Quality Engineering fazendo as melhores recomendações e ajustes aos desenvolvimentos.
Ainda estamos muito longe com a imaturidade da IA nos processos de desenvolvimento e desafios de operacionalização.
No entanto, mantemos a esperança e, como no caso da Observabilidade, vamos concentrar-nos em um escopo mais restrito e definido, com dados suficientes.
Qual é a probabilidade de sobrevivência para o Quality Engineering?
A sobrevivência das empresas dependerá em grande parte de sua capacidade de criar sistemas organizacionais eficientes, além da mudança tecnológica.
Por isso acredito em um Quality Engineering corporativo, transversal e contribuidor de valor em todos os processos e experiências do cliente.
Os desafios identificados permanecem válidos, conhecê-los é o primeiro passo para adaptar sua abordagem.
Uma capacidade de adaptação que, como os humanos, aumenta nossas probabilidades de sobrevivência.
Referências
https://www.accenture.com/us-en/insights/technology/quality-engineering-new
https://www.forbes.com/sites/hayleyleibson/2018/01/25/the-power-of-purpose-driven/?sh=238ae8215dca