Hesitei por um longo tempo no termo usado para descrever o desejo de desenvolver estruturalmente a qualidade do software em todos os aspectos. A Quality Engineering está longe de ser um tópico único da Engenharia.
Minhas experiências de transformação têm me frustrado regularmente pela falta de transversalidade e composição das equipes. A verticalização de profissões cada vez mais complexas está se acelerando, em detrimento dos silos de baixa permeabilidade.
Os resultados de tais sistemas são insatisfatórios em termos de criação de valor aos utilizadores, e em última análise, para as próprias organizações. As vantagens competitivas são passageiras devido à competição acelerada em um ambiente imprevisível.
Nesse contexto, as empresas precisam desenvolver uma capacidade estrutural de sobrevivência: Continuous Quality at Speed. A entrega contínua de valor de alto padrão é o melhor investimento para sobreviver.
A Quality Engineering é o paradigma para a implementação da Qualidade na Velocidade permitindo a obtenção de entrega contínua de valor. É o sistema que criamos de forma incremental na QE Unit entre pares, em transversal.
Este artigo visa esclarecer a perspectiva sistêmica necessária à implantação da Quality Engineering. O framework QEF (Quality Engineering Framework) atualmente sendo definido gira em torno de 5 pilares do MAMOS:
- Methods que fornecem estrutura e sistematização
- Architecture permite dar vida com as tecnologias
- Management para animar, agrupar e gerenciar o QE
- Organization para articular decisões e fluxos de informação
- Skills para permitir a composição da expertise necessária
O Quality Engineering estabelece suas fundações na organização das atividades.
Segue a QE Unit para aceder a mais conteudo exclusivo de Quality Engineering.
A Quality Engineering é estruturado por métodos
Os melhores engenheiros com o código mais bonito não criam valor sendo desorganizados, focados nas prioridades erradas, reinventando a roda para cada problema. A estrutura é essencial.
Os métodos são fundamentais para identificar e trabalhar nas questões certas de Qualidade. O modelo dos 5 Why é um bom exemplo disso, tornando possível usar de forma eficiente o tempo de uma pessoa para resolver as causas raízes. Em um fluxo de projeto, atividades de prototipagem ou entrevistas com utilizadores também concentram o esforço.
O segundo objetivo do Speed é usar seu tempo nos assuntos certos. Isso permite passar de uma perda de tempo a um investimento, a fim de permanecer competitivo. É isso que permite atingir as famosas economias de velocidade, e não apenas economias de escala, insuficientes no atual ecossistema digital.
Um ecossistema digital que precisa da arquitetura de suas tecnologias.
O Quality Engineering ganha vida por meio da arquitetura tecnológica
O tempo está se esgotando. Não temos tempo para recriar uma enésima biblioteca de logging ou de testes, muito menos operá-la. A composição de tecnologias de valor agregado, mantendo a flexibilidade, é o equilíbrio para alcançar o Quality At Speed.
Ir rápido em tecnologia requer fazer escolhas. Alinhamos nossos princípios de Make or Buy que irão se espalhar em nossas opções de desenvolvimento e integração. O valor agregado do código está na criação da plataforma, na experiência dos utilizadores e nos processos de negócios. Camadas de baixo nível e o uso de soluções as a Service são, portanto, necessários.
No entanto, é necessário um contrapeso para ser rápido continuamente. Esta é a força da arquitetura para alcançar Quality at Speed. A divisão em plataformas, desacoplamento e padrões de interoperabilidade são todas partes necessárias. Podemos integrar uma solução de valor rapidamente permitindo sua composição no curto prazo, mantendo uma flexibilidade de evolução no médio prazo.
Para ter sucesso, os atores no centro do sistema devem colaborar efetivamente dentro dos modelos organizacionais.
O Quality Engineering precisa de liderança, animação e entrega
O papel da gestão é promover a visão da Quality Engineering na organização e traduzi-la em animação operacional. Além disso, seu papel é o de um líder capacitador, e não a imagem do gerente histórico.
Os gestores devem unir os atores na missão da organização para seus utilizadores. Seu valor está em compartilhar bom senso, visão e “fazer a maionese”. Definir objetivos claros, lidar com diferentes experiências e pontos fortes e fornecer uma estrutura de execução eficiente é sua responsabilidade.
Para acelerar, os gerentes não podem ser um ponto de discórdia para informações, decisões ou ações. Um verdadeiro gerente de Quality Engineering não é julgado apenas por suas habilidades de engenharia. Ele deve ser capaz de antecipar e remover pontos de bloqueio. Ele deve saber como lidar com conflitos organizacionais. Ele também é o garante do uso correto das metodologias transversais.
Um verdadeiro gerente também é um arquiteto da organização.
A Quality Engineering deve arquitetar a organização
A estrutura de uma organização está diretamente ligada ao desempenho da organização. O escopo, o orçamento e a duração dos pólos influenciam a capacidade de obter Quality at Speed em contínuo.
Produzir software que fornece qualidade requer um real de investimento no tempo. Este compromisso permite promover o empenho dos actores, o seu enfoque e a capacidade de criar valor para as necessidades dos clientes. A desvantagem é que os recursos são limitados. Portanto, escolhas são necessárias para às vezes agrupar recursos em detrimento da qualidade geral. Essa é toda a dificuldade de articular uma estrutura organizacional.
“A mediação da criação de valor ligando os outputs aos outcomes permite avaliar o desempenho dos modelos organizacionais.”
Antoine Craske
Investimentos estáveis permitem que a organização atinja a entrega contínua de valor de software. Torna-se possível capitalizar a experiência sem distraí-la com reorganizações globais todos os anos. Essas famosas “reorganizações” costumam ser decepcionantes quando não atendem ao cerne da questão: permitir a tomada de decisão contínua mais rápida e econômica. Ecossistemas mais flexíveis, adaptáveis e orientados para a plataforma são as respostas das equipes que agregam valor global.
Esses modelos organizacionais ganham vida por meio da atividade de seus atores.
O Quality Engineering requer a composição de expertise
A entrega de software de valor contínua requer uma colaboração transversal de expertise cada vez mais verticalizada. A Quality Engineering requer uma combinação bem-sucedida de habilidades entre os diferentes atores.
Nossas metodologias, arquiteturas tecnológicas e modelos organizacionais definem a expertise necessária. O mapeamento de competências é a primeira etapa na definição do escopo e dos níveis necessários. Muitas vezes, falta experiência de alto nível para as competências mais diferenciadoras de nossa plataforma. É aqui que deve concentrar seu esforço e saber ir rápido.
Recrutamento interno, treinamento e planos anuais de desenvolvimento são necessários, mas não suficientes. Para ir rápido, é necessário ter mecanismos previstos que possam ser acionados rapidamente. Uma rede de parceiros para obter recursos sob demanda é a primeira etapa. Modularizar sua arquitetura para permitir contribuições isoladas e rápidas é outra. A experiência é rara, ad hoc e permanecerá onde houver emulação.
Um ecossistema atraente também é impulsionado por uma visão, impulsionada e melhorando continuamente.
O Quality Engineering é a conquista do Quality At Speed sistêmico
Espero que este artigo o tenha convencido de que o Quality Engineering não se trata apenas de clean code, implantação de pipelines ou de testes. É uma transformação do paradigma de entrega de software.
Como mencionamos na introdução, a capacidade de fornecer continuamente Quality at Speed é necessária para permanecer relevante no ambiente atual. Com recursos limitados, enfrentamos um verdadeiro desafio de sobrevivência.
Mantemos em mente o aspecto sistêmico da Quality Engineering e sua abordagem nos pilares do MAMOS. Alinhados com o nosso porque, o quê e como estão sendo definidos mais precisamente com a comunidade.
Junte-se à QE Unit para contribuir com esta visão.