As organizações devem acelerar sua transformação em um ecossistema cada vez mais dinâmico.
Os clientes estão cada vez mais exigentes, temos alguns segundos para conseguir captar o seu interesse.
A capacidade de inovação e os meios financeiros permitem que novos actores surjam rapidamente, desafiando os existentes.
Ao mesmo tempo, a automação e a digitalização estão assumindo um papel cada vez mais forte nos dispositivos IoT, mais inteligentes, exigindo maior segurança.
Esses factores levam as equipes a querer experimentar e criar valor com mais rapidez.
Os temas de agilidade, organizações transversais, automação, CI/CD e by design são cada vez mais procurados.
Uma integração estrutural da qualidade deve estar nos vários processos e cadeias de valor em questão.
É aqui que entra em jogo o Quality Engineering (QE).
Qual definição para o Quality Engineering?
Existem diferentes perspectivas mais ou menos inspiradas pela engenharia tradicional.
Para alguns, o QE é uma evolução do controle de qualidade (QA) mais transversalmente integrado ao paradigma DevOps.
Para mim, o QE vai além, permitindo a criação de um sistema holisticamente mais eficiente.
Devemos, portanto, intervir de forma mais ampla, no que se refere à estratégia da empresa, ao roadmap dos produtos digitais, à sua medição de valor.
Seu objetivo final é criar uma organização com auto aprendizagem focada em entregar valor ao cliente, acelerada pela tecnologia.
A minha definição do Quality Engineering (QE) é a seguinte.
Defino o Quality Engineering como um “Enterprise Value-Driven System leveraging Automation, Analytics and AI.”
Antoine Craske
Gostaria de destacar as principais áreas focadas na criação de valor:
- Arquitetura da empresa
- Sistema organizacional
- Gestão de produtos
- Sistema de engenharia
Sua aceleração por meio de automação, analytics e a IA é necessária para desenvolver um desempenho estrutural.
A ênfase nas palavras value-driven é importante, pois a qualidade não é necessariamente sinônimo de valor.
Vamos partilhar cada um desses componentes.
O Value-Driven Enterprise Architecture
Onde estamos indo? Quais habilidades de negócios desenvolver? Quais mudanças estruturais devem ser planejadas?
Muitas questões fundamentais que a arquitetura corporativa, não apenas a de TI, ajuda a responder.
Em relação ao Quality Engineering, vários elementos são relevantes de partilhar.
A perspectiva transversal permite analisar um sistema como um todo e melhorar a nossa tomada de decisão.
É esse passo atrás que permitirá limitar as otimizações locais, que muitas vezes vão ao detrimento do desempenho geral do sistema.
Concretamente, pode por exemplo evitar o investimento em um aplicativo cuja relevância para o cliente não é mais actual, ou trocar investimentos que se tornaram usuais para novos serviços a incubar.
Além disso, os famosos mapas de arquiteturas em diferentes níveis, às vezes assustadores, são úteis para visualizar o alinhamento.
Aplicado a uma comparação entre o existente e a trajetória, podemos detectar funções ausentes na entrega de um novo serviço e antecipar a criação de aplicativos adaptados.
A realidade muitas vezes vivida é de encontrar vários problemas sucessivos, seguidos de múltiplos reworks, para finalmente perceber que uma boa reflexão inicial terá sido muito mais eficaz.
Segue as capacidades, refletindo as habilidades do negócio necessárias para alcançar e executar o nosso objetivo de arquitetura.
Falando em alvo, com um orçamento limitado, em quais produtos vai investir, em que nível de automação, de processamento de dados? Ao custo de quais alternativas?
A arquitetura corporativa também fornece chaves para ponderar e priorizar as opções de investimento.
Seu impacto deve ser concreto, compartilhado e acionável para ser uma contribuição real de valor, realizando, por exemplo:
- A animação de uma governança de transformação transversal
- O compartilhamento de guiding principles acompanhados de exemplos relevantes
- A gestão da dívida arquitectural, organizacional e técnica
O foco para a criação de valor merece um lembrete constante, qualquer atividade tendo uma tendência natural para se conter.
A arquitetura pode ser erroneamente percebida como estática, pelo contrário, é um organismo vivo rico em interações e desenvolvimentos.
O sistema organizacional é a segunda pedra angular do QE.
O Value-Driven Organizational System
Já sentiu barreiras quase invisíveis de resistência à mudança?
A falta de alinhamento organizacional leva ao surgimento desse tipo de resistência.
O sistema organizacional é composto por vários elementos que devem estar alinhados:
- Missão, objetivos e valores
- A estrutura e suas interações
- Os processos intra e intersistema
- Os atores, funções e habilidades
- As tecnologias e plataformas
- Os mecanismos de incentivos e de feedback
O system-thinking é o principal ator desse panorama, complementado por práticas de mercado.
Iremos nos referir a modelos de equipe multifuncional, feature-teams ou o modelo do Team Topologies.
Mais detalhadamente, podemos encontrar as comunidades de prática implantadas, ou o uso ocasional de recursos externos sob demanda.
Os processos devem ser vistos através de vários pontos:
- O valor esperado e o real
- Os modelos de organização, por exemplo em Scrum
- A criticidade, frequência e volume
O LEAN, 6-Sigma ou métodos de common problem-solving podem complementar a abordagem.
As competências devem ser tomadas como um todo: atuais e futuras, técnicas e comportamentais, individuais e de equipa.
O desenvolvimento de habilidades de inteligência emocional juntamente com um processo de resolução de problemas é um exemplo de combinação.
Depois da arquitetura e do sistema organizacional, a nossas iteração do Quality Engineering nos leva para o Product Management.
O Value-Driven Product Management
Está quase na hora de começar a produzir código.
O Product Management visa a garantir o ciclo de vida dos produtos cujo objetivo é a criação de valor.
Os pontos a seguir ilustram as atividades muitas vezes encarregadas de um Product Owner :
- Identificar as personas
- Definir uma visão e roadmap
- Escolha as métricas
- Analisar e adaptar o pricing
- Priorizar o que experimentar
O QE deve primeiro garantir a presença de um Product Management realmente forte e incorporado.
Muitas organizações ainda dependem exclusivamente de gerentes de projeto, perigosos quando temporários e não relacionados a objectivos globais.
A orientação para a criação de valor para o sistema é sua segunda prioridade.
Boas medidas são estruturantes e muitas vezes resultam do sistema organizacional definido.
Podemos facilmente cair no uso de vanity metrics, úteis para os egos, mas sem importância na medição ou criação de valor.
A última contribuição do Quality Engineering será de garantir uma implementação alinhada com a arquitetura, o sistema organizacional e o Product Management.
O Value-Driven Engineering System
É aqui que encontraremos os componentes necessários para dar vida ao nosso sistema.
Vou evitar-vos o uso do acrônimo DevTestSecOpsSre digno de um dicionário alemão.
O importante a ser lembrado para o Quality Engineering é que as várias habilidades de engenharia devem ser combinadas para alcançar as iterações de nossos produtos.
Vários elementos são essenciais:
- Processos de desenvolvimento definidos, estruturados e medidos (ou seja, SDLC), de entrega, de operações
- Engenharia de qualidade forte, desde os vários requisitos até técnicas de teste, apoiada por soluções de Quality Assurance
- Uma plataforma de desenvolvimento que fornece os diferentes serviços aos actores (CI/CD, registro, alerta, etc.)
- Uma real capacidade de observabilidade dos diferentes processos, aplicações e transações.
O Quality Assurance é encontrado aqui em seu prisma Quality Assurance Engineering sem limitação.
Por exemplo, encontraremos testes exploratórios vinculados no Product Management mais que no Engineering System.
Vamos passar para os aceleradores do Quality Engineering.
Analytics, automação e AI ao serviço do QE
Criar um sistema que pode aprender rapidamente requer verdadeiras capacidades.
A capacidade de Analytics é a primeira retida para poder observar o sistema, obter insights e transformá-los em ações.
A medição do value-stream suportado por Process Mining ou Statistical Process Control (SPC) são exemplos de técnicas adequadas para o QE.
O Analytics é necessário para medir o desempenho, a criação de valor e compreender o nosso sistema.
É também o que possibilita apoiar o aprendizado e a priorização de iterações.
A automação, por sua vez, nos permite acelerar, sem necessariamente ter que ser onipresente.
O nosso sistema de QE deve esclarecer as escolhas de automação de estruturação a serem feitas, seja na coleta de dados, desenvolvimento, implantação ou teste.
A Inteligência Artificial (IA) é focada em Data Science aplicando técnicas como Machine Learning ou Deep Learning.
A IA é, de fato, uma das alavancas poderosas aplicáveis às várias atividades do nosso sistema QE.
Seu valor no Quality Engineering é múltiplo:
- Aumentar o valor da automação
- Permitir uma tomada de decisão mais qualitativa
- Acelerar e escalar a aprendizagem do sistema
A utilidade deve ser o primeiro pensamento a esclarecer, para quais atores e atividades uma IA seria relevante.
Sua aplicabilidade deve então ser validada pela presença de dados com volume, qualidade e usabilidade suficientes.
Quality Engineering ou Enterprise Quality Engineering?
O acréscimo da palavra Enterprise não me parece obrigatório, sendo o mais importante a perspectiva transversal.
O Quality Engineering não serve apenas para melhorar a função dos Testes ou de QA existentes.
Integrar a qualidade em todos os processos de uma organização requer uma visão holística e abordagem do sistema.
A complementaridade das disciplinas e competências necessárias levanta a questão da animação desta abordagem do Quality Engineering, que exploraremos em outros conteúdos.
Esses diferentes componentes do QE são os ingredientes dos sistemas de criação de valor de hoje e de amanhã.
Referências
https://www.accenture.com/us-en/insights/technology/quality-engineering-new