Gostaríamos de oferecer mais valor mais rápido.
O Quality Engineering é o paradigma para restringir as atividades da cadeia de software à entrega contínua de valor. Alcançar isso requer atuar sobre os pilares do framework MAMOS: Methods, Architecture, Management, Organization, Skills.
O alinhamento do sistema organizacional é fundamental para a evolução das práticas de engenharia de software. Sem esse alinhamento, é como nadar contra a maré; esforçamo-nos cada vez mais, sem nos aproximarmos da costa.
O Quality Engineering, portanto, requer a criação de um ecossistema organizacional favorável à melhoria da qualidade do software. Isso requer a combinação do gerenciamento de mudanças e de práticas que melhorem a qualidade.
Este primeiro guia de transição oferece uma abordagem incremental para desenvolver o Quality Engineering em sua organização. Cada uma das transições contém as ações do framework para otimizar seu esforço de transição.
Este artigo consolida todas as etapas para dar a você uma visão geral. Artigos que aprofundam cada uma das transições estão disponíveis para explorar todas as práticas referenciadas.
Siga a QE Unit para um conteúdo mais exclusivo do Quality Engineering.
Inspire, inicie e marque a mudança
“Um líder tem a visão e a convicção de que um sonho pode ser alcançado. Ele inspira o poder e a energia para fazer isso. ”
Ralph Lauren
A primeira transição é conduzir uma dinâmica de mudança dentro da organização. Isso requer uma visão e uma missão inspiradora para reunir os atores em uma causa comum, mais ampla do que seus interesses individuais.
Definir valores ajudará a esclarecer os comportamentos que sua unidade de mudança seguirá. Para otimizar seu esforço, Quality Engineering deve concentrá-lo nas forças presentes no sistema, como os early adopters.
Esta coalizão permitirá que Quality Engineering coloque em prática as primeiras mudanças estruturais na organização e nos processos de qualidade. Essas evoluções permitirão que Quality Engineering marque a diferença com o passado e o início de um novo ciclo.
Esclarecendo sua visão de Quality Engineering
Definir uma visão é essencial para reunir as partes interessadas para a sua causa. Permite compartilhar uma imagem trazida para um futuro melhor do que o inicialmente previsto. Essa perspectiva canaliza as energias, ainda é preciso convencer.
O esforço mínimo será retido por padrão. O Quality Engineering tem que ser capaz de convencer as pessoas de que o estado atual não é a melhor opção. Para fazer isso, combinar sensibilidade de ganho e aversão ao risco aumentará o impacto de sua persuasão.
Uma vez que a visão é definida com uma força para a ação, o Quality Engineering pode explicá-la com mais clareza com uma missão e valores corporativos. O Quality Engineering também precisa esclarecer as funções e interações esperadas neste novo modelo.
Inicie a mudança com gerenciamento e métodos
A execução pode ser iniciada assim que o destino for definido. As metodologias permitem estruturar nossa abordagem e aumentar a probabilidade de sucesso. A capacidade de execução faz a diferença para atingir o alto padrão.
O primeiro passo é identificar os atores a serem envolvidos. Uma matriz de stakeholders com 2 eixos de interesse e poder permite identificar os atores em 4 categorias. Concentre-se em reunir os promotores para a sua causa primeiro.
Atuamos para atender a uma necessidade identificada, ainda mais se ela nos parecer prioritária. Sua visão deve, portanto, ter um senso de urgência relevante para os promotores identificados, encorajando-os pessoalmente a contribuir para ela.
Uma vez feitos esses dois exercícios persuasivos, o Quality Engineering começa a ter um grupo de atores com capacidade de ação e influência impulsionada pela realização de sua visão. O Quality Engineering realmente terá concluído a criação de uma guiding coalition.
Implemente novos processos inovadores
Sua unidade motriz da mudança agora pode agir para demonstrar a necessidade de mudança na organização. Para isso, é necessário marcar a ruptura com o passado, alterando os códigos visíveis e as ações recorrentes da organização.
A primeira coisa visível para todos os atores é o organograma, os perímetros e as funções afetadas. Mudar esses elementos é fundamental para uma renovação, como esses atores fizeram formalizando uma estrutura de Quality Engineering.
As interações entre os novos cargos e os existentes devem então ser formalizadas. Portanto, é necessário definir as responsabilidades e os resultados concretos de cada função em relação à qualidade. Para colocá-los em música, os processos devem evoluir.
A cadeia de desenvolvimento e entrega de software está no centro do Quality Engineering. Ao adicionar etapas-chave com contribuições claras entre os atores, o Quality Engineering começará a se materializar.
Por exemplo, o Quality Engineering pode se inspirar no Atlassian adicionando etapas iniciais de controle de qualidade e de demonstração de controle de qualidade. Mecanismos de peer reviews também são fáceis de sistematizar e reforçam a qualidade das entregas, ao mesmo tempo que apóiam novas interações.
Tendo dado o exemplo com sua equipa de early wins, sua prioridade agora é replicar esse impacto na organização.
Concentre a energia até o ponto de inflexão
“Quem quer ir longe cuida da sua montaria”.
Racine
Concentrar seus esforços em ações que maximizem os resultados acelera a transformação. A priorização torna possível alcançar resultados tangíveis em perímetros selecionados ao ponto de criar um efeito de bola de neve no ponto de inflexão.
A gestão da mudança deve, portanto, ser equilibrada em duas frentes: atuar nas áreas prioritárias para obter resultados e manter uma comunicação mais ampla para preparar o resto da organização para a mudança.
A gestão pode apoiar a aceleração da transformação prevendo um mínimo de ações como a evolução do novo modelo organizacional, indicadores de desempenho e a estruturação de fundamentos do Quality Engineering.
Equilibrando seu esforço de gerenciamento de mudanças
O ponto de inflexão é sua prioridade. Alcançar seu limite permite que o Quality Engineering distribua as alterações feitas para o resto da organização, minimizando seus esforços e com impacto máximo.
Para fazer isso, o Quality Engineering deve capitalizar sua matriz de gerenciamento de partes interessadas para desenvolver um plano de interação e comunicação. Sua prioridade é reunir novos atores no Quality Engineering, enquanto mantém outros atualizados.
Serão necessárias interações diretas individuais e em pequenos grupos para implementar seu novo modelo com os promotores. Para outros, pode-se mesclar comunicação global, compartilhamento de resultados, questionários, entre outros.
Seus esforços devem permanecer focados em alcançar resultados a curto e médio prazo. O Quality Engineering só deve incluir nesta etapa os atores com as habilidades necessárias – interna ou externamente – para não perder tempo.
Alinhar e animar os atores pelo management
A gestão possibilita orquestrar os diferentes atores na implementação das novas práticas. Ambos devem agir de frente, realizando ações concretas, e criar um ecossistema que acelere a colaboração direta entre os atores.
A cultura ajuda a impulsionar novas unidades de Quality Engineering e a evoluir a organização. A administração deve abordar duas questões de frente: eliminar o mito dos “testes de qualidade” e explicar como fazer menos testes.
Os atores – muitas vezes com experiências e habilidades diversas – precisam de um terreno comum para colaborar de forma eficaz. A administração deve oferecer workshops para alinhar a definição de Qualidade e os princípios da qualidade, como o Shift-Up.
O ponto de inflexão será alcançado por uma sucessão de iterações. A administração é responsável por chegar lá o mais rápido possível, desenvolvendo habilidades organizacionais. Um mecanismo poderoso é o da retrospectiva.
Evoluir a estrutura organizacional e as responsabilidades
A estrutura organizacional fornece uma estrutura para os atores. Ele define diretamente os perímetros, funções e hierarquias. Indiretamente, ele orienta as interações e a localização do poder na organização.
Mudar a estrutura organizacional permite preparar toda a organização para mudanças futuras. Esta etapa é essencial para que o efeito bola de neve do nosso ponto de inflexão de Quality Engineering tenha os impactos esperados.
O Quality Engineering exige a eliminação de um único silo responsável pela qualidade. É altamente recomendável substituir a sigla “QA” por um nome alinhado com uma responsabilidade transversal pela qualidade.
O departamento “QA” pode, por exemplo, ser renomeado para “QE” ou “Craft”. A responsabilidade pelas contribuições, resultados e interações de qualidade deve ser claramente definida e composta. O modelo de Team Topologies poderá ser-lhe útil.
O Quality Engineering precisa de habilidades para fazer melhor mais cedo. Devemos investir principalmente nas habilidades de gerenciamento de requisitos, software craftsmanship, e comunicação (escuta ativa, adaptação).
Desenvolvimento e implementação de novas medidas de desempenho
É necessário ser capaz de medir a criação de valor, a fim de manter os esforços atuais e garantir sua implantação subsequente. Longe de retornos sobre investimentos, o Quality Engineering deve ligar os outputs aos outcomes continuamente.
As metodologias existentes, como o Balanced Scorecard , permitemmanter uma visão global dos resultados. Sua principal vantagem é equilibrar nossa perspectiva para evitar otimizações locais negativas.
O QE Monitoring serve para medir regularmente e colaborativamente suas práticas de mudança de Quality Engineering. Pode usar o Guia de Cultura de Qualidade do Alan Page e do Brent Jensen, ou o Quality Health Monitor da Atlassian.
A última medida é baseada no Net Promoter Score, metodologia amplamente utilizada para a satisfação do cliente. Aplicado aos atores que contribuem com o software, o Quality Engineering pode coletar continuamente feedback do campo de sua abordagem.
Esses mecanismos de medição permitem que a administração monitore o progresso, priorize ações corretivas e demonstre o valor das mudanças em andamento. Isso ao mesmo tempo em que energiza o resto da organização por meio de um compartilhamento mais global.
Estabelecendo as bases para a plataforma de Quality Engineering
O Quality Engineering requer uma cadeia de entrega de software eficiente e replicável. Ao focar em um escopo limitado, o Quality Engineering pode definir rapidamente uma estrutura comum, que servirá como modelo.
A primeira base é o alinhamento de seu repositório de código com sua arquitetura organizacional e de software. Portanto, faça uma escolha informada entre monorepo ou multipo e define modelos de projeto por tipologias.
Seu repositório de teste é o segundo bloco de construção. Consiste em definir onde manter seu repositório de requisitos – de preferência unificado – e sua divisão em componentes técnicos na forma de testes manuais e automatizados.
Estes 2 pilares combinados permitem que o Quality Engineering crie processos de implantação de software que incluem sistematicamente seus critérios de qualidade. Para cada um dos modelos, portanto, configure pipelines de CI / CD incorporando Quality Gates.
Essas iterações o levarão ao ponto de inflexão que mudará suas prioridades.
Divulgar, acelerar e manter este novo ecossistema
“A cultura não muda porque desejamos mudá-la. A cultura muda quando a organização é transformada – a cultura reflete a realidade das pessoas que trabalham juntas todos os dias.”
Frances Hesselbein
Após o ponto de inflexão, sua prioridade é acelerar a adoção do Quality Engineering no resto da organização. Deve-se ter cuidado para manter a harmonização das atividades para facilitar a colaboração e a disseminação de boas práticas.
As habilidades dos atores permitem solidificar a aceleração provocada pela passagem do ponto de inflexão. A gestão deve, portanto, garantir o desenvolvimento e o recrutamento das competências necessárias para as várias unidades de Quality Engineering.
A propensão para estender as práticas de software requer a contenção de sua entropia. A complexidade deve ser reduzida com foco na criação de valor multifuncional e investimento contínuo em arquitetura e tecnologias.
Estenda a cultura e permaneça responsável pelos processos
A cultura apóia a colaboração das partes interessadas em escala com um mínimo de esforço de coordenação. É um elemento fundamental na disseminação das práticas do Quality Engineering na organização, que deve ser capaz de se animar continuamente.
A definição de um plano de cultura de qualidade estabelece uma estrutura para monitorar seu plano de ação. A priorização de práticas em vários eixos, como métodos, arquitetura e organização, permite que o Quality Engineering equilibre seu esforço.
A troca de experiências realizada além dos silos organizacionais possibilita a construção de boas práticas comuns. Devem ser usados mecanismos de gestão do conhecimento, como comunidades de prática ou portais de documentação.
A administração também é responsável por garantir que as metodologias definidas sejam respeitadas. O Definition of Done deve ser seguida sistematicamente para manter o nível e enriquecida para melhorar, como as Teste Notes ou o Blitz Testing.
Acelere a mudança aumentando as habilidades
A entrega de software de alto padrão requer contribuições de atores que atendam a esse nível de requisito. Suas habilidades são, portanto, fundamentais para o desempenho de sua cadeia de entrega de software.
No início, o Quality Engineering teve de se usar as habilidades disponíveis interna ou externamente, atuando em um pequeno perímetro. Em um prisma global, o Quality Engineering deve acelerar seu desenvolvimento e recrutar as habilidades necessárias.
Para desenvolver suas habilidades internas, o Quality Engineering pode mudar pessoas com um bom nível de equipes para acelerar uma unidade; isso além de comunidades de prática e planos de desenvolvimento individual na forma de treinamento e coaching.
Para as habilidades externas, é necessário combinar parcerias estratégicas que dão acesso a um pool de habilidades, enquanto se joga nas extensões de equipes sob demanda na forma de gig economy, comunidades ou freelancers.
As habilidades úteis para esta transição apoiam a disseminação e manutenção das práticas. Encontramos lá as habilidades avançadas de testing, facilitação na forma de coaching por exemplo, e de arquitetura para garantir boas fundações.
Complementar as medidas de valor e produtividade
O enxame de atividades gerado ao atingir o ponto de inflexão deve estar continuamente focado na criação de valor. Para fazer isso, o Quality Engineering deve enriquecer seus métodos de medição de desempenho para canalizar as energias dos jogadores.
O value stream otimiza a organização das tarefas que contribuem para a criação de valor. Vincular sequências de atividades com relação à criação de valor concentra os atores na identificação de idas e vindas desnecessárias e na eliminação de desperdícios.
Em primeiro lugar na linha de frente, a população de desenvolvedores deve ser considerada especificamente na cadeia de entrega de software. Melhorar a Developer Experience com Engineering Productivity é um bom investimento.
Finalmente, o suporte ao desempenho dos negócios pelo Quality Engineering é parcialmente mensurável com as 4 métricas do relatório Accelerate : deployment frequency, lead-time for changes, time to restore service, change failure rate.
Continue a investir em arquitetura e tecnologias
A colaboração de componentes de software constitui o nível de qualidade da experiência do cliente. Investir em sua composição, replicabilidade e implantação torna possível estender as práticas de Quality Engineering ao mesmo tempo em que gerencia o risco.
A interoperabilidade tecnológica resulta de um investimento upstream que permite o desacoplamento em um nível definido de abstração. Um sistema orientado por API é fundamental para um ecossistema em rápida evolução.
A replicabilidade é o segundo investimento a ser feito. Equipes com desafios diferentes ainda apresentam semelhanças nas práticas de desenvolvimento, implantação ou código. Os bootstraps de código e de testes são essenciais.
Quando o Quality Engineering se desenvolver, as mudanças no software serão aceleradas. O Quality Engineering precisa ser capaz de contrabalançar o aumento do risco de tempo de inatividade e instabilidade, fornecendo mecanismos nativos para implantação em fases em pipelines.
Ancorar e orientar a melhoria contínua das práticas
“Se deseja fazer uma organização crescer, permita que seus funcionários experimentem, explorem e expressem sua criatividade sem limitá-los a título, departamento e designação.”
Aiyaz Uddin
Nesta etapa, a maior parte da organização terá adotado suas práticas de Quality Engineering. O desafio é conseguir criar um ecossistema capaz de aprender e melhorar com a máxima autonomia seu desempenho.
Os atores no centro do sistema são os elementos centrais nos quais se pode confiar. Ao desenvolver suas habilidades, eles próprios podem se tornar embaixadores das práticas e da melhoria contínua.
A tarefa restante para os líderes iniciais da abordagem do Quality Engineering é ser o último baluarte da cultura. O objetivo é atingir um nível de maturidade em que teoricamente se tornariam desnecessários.
Desenvolver habilidades organizacionais para escalar
O desenvolvimento de capacidades organizacionais requer um mínimo de habilidades para que alguns atores treinam outras equipes no mesmo padrão. A replicação desse mecanismo em escala criará uma capacidade.
Elevar o nível primeiro requer a identificação de lacunas na organização, por exemplo, por meio de uma matriz de habilidades e um exercício de gap analysis. Este inventário permite definir um plano de ação de acordo com suas possibilidades.
É idealmente necessário preencher rapidamente as competências das equipes com maior valor agregado. O Quality Engineering pode fazer isso mudando os membros da equipe ou usando recursos externos. Investir em educação continuada o ajudará continuamente.
Aumentar a escala de habilidades específicas apoiará o desempenho e a melhoria contínua. Os métodos de Lean Problem Solving e Lean Continuous Improvement forçaram pequenos passos, também graças à influência.
Orientar as equipes para complementar e adaptar suas práticas
Expandir sua dinâmica deve passar por revezamentos para manter a disseminação das práticas em toda a organização. Isso requer saber orientar os atores em um sistema relativamente autônomo e de autoaprendizagem.
O Quality Engineering pode sistematizar a definição de métricas de negócios para cada uma de suas unidades de Quality Engineering. O uso de OKR é frequentemente recomendado em dimensionamento como no Safe ou no GitLab.
A melhoria contínua também requer curiosidade contínua. Devemos, portanto, estimular os stakeholders a se abrirem para o exterior para descobrir novas práticas, discutir e questionar seus mecanismos. Devemos dar-lhes os meios.
As equipes precisam de visibilidade do ecossistema para ter uma visão geral e impulsionar as melhorias mais relevantes. A criação de um Pipeline de Observabilidade será útil, concretizada, por exemplo, através do engineering productivity.
Manter a cultura organizacional do Quality Engineering
Seus investimentos terão permitido desenvolver uma verdadeira cultura de Quality Engineering em nossa organização. Manter essa cultura requer atenção contínua em um ecossistema em constante mudança.
As equipes, independentemente de seu modelo, tenderão à otimização local. A administração terá que reiterar continuamente o valor interfuncional, o foco no cliente e as prioridades a serem entregues além dos silos organizacionais.
Os líderes devem, portanto, estar em campo, em contato com as equipes, compartilhando suas convicções, incentivando os jogadores a se aprimorarem e a encontrar soluções para os desafios que encontram. Suas habilidades de feedback serão essenciais para isso.
A melhoria contínua envolve medição e adaptação contínua. Além disso, é essa aceleração da entrega de valor que um ecossistema de Quality Engineering de alto padrão permitirá alcancar.
Inicie sua transição para o Quality Engineering
A implementação do Quality Engineering resulta da condução adequada das várias transições identificadas. Os esforços devem ser canalizados em cada etapa sem querer pulá-la, sob pena de criar cansaço organizacional.
Os líderes do Quality Engineering devem combinar sua experiência em gerenciamento de mudanças e engenharia de software para ter sucesso. O alto padrão pressiona para aumentar o nível de demanda continuamente, um verdadeiro desafio quando falta tempo.
Roma não foi construída em um dia. Mas o ecossistema atual não oferece muito descanso para se manter competitivo. Aja agora em suas transições para conduzir sua organização à entrega contínua de valor.
Siga a QE Unit para mais Quality Engineering.