Os atores são o centro do Quality Engineering.
A entrega contínua de valor é baseada na colaboração eficiente de diferentes atores ao longo da cadeia de valor do software. A competição acelerada impõe o aproveitamento rápido de habilidades de alto padrão para fornecer Quality at Speed.
Mas a realidade é difícil. É difícil atrair e reter talentos, enquanto as competências evoluem rapidamente, com pouco tempo para a formação. Além disso, a complexidade crescente pressiona para mais especialização quando precisamos de mais colaboração transversal.
Nesse contexto, temos que selecionar cuidadosamente as habilidades necessárias e compô-las dentro de nossos contextos. Conforme o tempo passa, precisamos equilibrar soluções de curto prazo e planos sustentáveis de longo prazo para disponibilidade de habilidades.
O Quality Engineering é o paradigma que restringe a cadeia de valor do software à entrega contínua de valor. Neste artigo, compartilhamos as habilidades mais valiosas para iniciar com sucesso sua transição de Quality Engineering.
Segue a QE Unit para mais Quality Engineering.
Metodologia
Este guia é um trabalho em andamento a ser adaptado com base no feedback e com probabilidade de evoluir dentro do Framework de Quality Engineering, MAMOS: Methods, Architecture, Management, Organization, Skills.
Cada prática foi classificada entre Qualidade, Velocidade e Complexidade pela pontuação máxima que representa a prioridade de implementação. Este artigo é apenas um excerto, pode acessar a priorização completa dessas práticas disponíveis aqui.
As habilidades para compor para o Quality Engineering
O Quality Engineering é uma transformação organizacional que requer uma composição específica de habilidades para iterar rapidamente na cadeia de valor do software. Os recursos da organização precisam evoluir nas duas facetas de entrega de valor e entrega de software.
Por um lado, as equipes multifuncionais que produzem e operam o software precisam desenvolver habilidades de qualidade para entregar mais valor. Por outro lado, as funções de Quality Engineering devem capacitar as outras equipes, fornecendo entrega de software eficiente.
Podemos dividir as habilidades do Quality Engineering em três categorias.
A primeira contém as habilidades fundamentais necessárias para ter sucesso na transição com coaching, facilitação e comunicação. Sem eles, uma organização não pode desenvolver uma capacidade de qualidade da outra equipe e permanece com silos.
Em seguida, vêm as habilidades para desenvolver as equipes de engenharia de primeira linha, enquanto a última categoria é criar com eficácia as competências dos Engenheiros da Qualidade que podem atuar em várias funções, como Quality Advisors, Quality Engineers, Engineering Productivity.
Skills Framework
A curva de implementação de Quality Engineering recomendada por impacto dos Skills.
Skills Practices
Fundamental Skills
Coaching
O coaching ajuda os indivíduos a melhorar seu desempenho. É necessário desenvolver e apoiar as equipes de engenharia em sua curva de aprendizado de qualidade, mas também ajudá-las a resolver problemas por si mesmas.
Os coaches estão tradicionalmente fora da equipe, disponíveis regularmente e sob demanda. Um coach essencial para desenvolver o talento da organização para habilidades de quality engineering, software craftsmanship ou release management.
Facilitação
As coisas nem sempre funcionam bem. Existem pessoas diferentes com opiniões diferentes, surpresas na entrega de recursos, atividades conflitantes entre as equipes. Uma força contínua é necessária para desbloquear e acelerar essas situações.
A facilitação é essencial para manter a velocidade de iteração. No médio prazo, o objetivo é ensinar as equipes a pescar em vez de dar-lhes o peixe para resolver mais problemas mais rapidamente possível dimensionar melhor as práticas de Quality Engineering.
Comunicação
As habilidades básicas de comunicação para o Quality Engineering são inteligência emocional, escuta ativa e feedback. A inteligência emocional apoia interações positivas entre diferentes pessoas e promove o autodesenvolvimento.
A escuta ativa é essencial para favorecer a qualidade de ponta a ponta, a resolução de problemas e o ambiente geral de trabalho. O feedback é a força de apoio da melhoria contínua, da confiança e da capacidade de aprendizagem da organização.
Para que os engenheiros de software progridem na qualidade
Gerenciamento de requisitos
As equipes multifuncionais devem ser mestres no gerenciamento de requisitos para fornecer mais qualidade em primeiro lugar. Ao abordar o bom problema, eles encurtam a entrega de valor para capturar economias de velocidade e, em seguida, escalar mais rapidamente o que funciona.
Especificando melhor, os testes mínimos necessários podem ser mais facilmente implementados e mantidos. A clareza dos requisitos também é essencial para a escalabilidade da organização, que pode manter uma proposta e execução coerentes para o cliente.
Software Craftsmanship
As equipes de engenharia devem atender aos atributos de qualidade de software definidos pela equipe e dentro dos requisitos. O software craftsmanship é a arte de entregar software com qualidade embutida usando as técnicas mais adequadas para os problemas em questão.
Combinando com as outras habilidades, os coaches de habilidade de software podem ajudar drasticamente a melhorar a qualidade embutida do código. Loops de feedback mais curtos com mais flexibilidade para evoluir são essenciais para uma organização de Quality Engineering.
Testing
A associação de “test ⇔ quality” foram dissociados na mente da equipe pelo management, mas o teste continua sendo uma atividade necessária no Quality Engineering, tratada diretamente pelas equipes multifuncionais. ATDD, BDD e TDD são práticas com valor acrescentado a serem desenvolvidas.
As técnicas devem ser concluídas dependendo do contexto do produto. Por exemplo, testes contínuos, testes exploratórios ou monitoramento da jornada do cliente podem ser os mais valiosos. Use os quadrantes de teste para ajudá-lo na seleção de prioridades.
Para que os Quality Engineers suportam as equipas
Lean Continuous Improvement
O Quality Engineering não é um sprint, é uma maratona contínua de adaptação da proposta do cliente. Os engenheiros da qualidade devem ser mestres em abordagens incrementais para melhorar a qualidade em toda a empresa.
Equipes diferentes terão um nível de maturidade diferente, devem se adaptar à composição e aos objetivos da equipe para ajudá-los a aumentar seu nível de qualidade. A abordagem Lean apóia a entrega de incrementos valiosos nas prioridades certas.
Lean Problem Solving
Trabalhar com as prioridades corretas em primeiro lugar permite a velocidade e o desempenho eficiente da organização. O gerenciamento de problemas é a prática de definir claramente os problemas, identificar as causas raízes e garantir que sejam resolvidos.
Essa habilidade não é a definição ITIL de “Gerenciamento de Problemas”; A solução enxuta de problemas é imprescindível para equipes de alto desempenho em seus requisitos, implementação e desafios operacionais na cadeia de valor de entrega de software.
Influência
Os engenheiros de qualidade não são os tomadores de decisão em todas as questões de qualidade. Por serem mais facilitadores do que executores, eles precisam convencer a equipe da direção a seguir, as maneiras de executar processos para desenvolver a qualidade com sucesso.
A influência é, portanto, uma habilidade necessária nas interações diárias entre os Engenheiros da Qualidade e as várias equipes multifuncionais nos novos modelos de interação do Quality Engineering. Também é necessário para uma colaboração intra-equipe eficaz.
Framework
Essas práticas o prepararão para uma jornada de transformação para uma organização de Quality Engineering. As práticas irão apoiá-lo no desenvolvimento das habilidades necessárias para atingir o estado de entrega contínua de valor com Qualidade em Velocidade.
Este conteúdo limitou-se ao pilar dos Skills, deixando as demais práticas de Methods, Architecture, Management & Organization em conteúdos separados. O objetivo é enriquecê-lo dentro da comunidade e aprimorar seu conteúdo.
Pode aceder ao Framework de Quality Engineering contendo a classificação das práticas em Qualidade, Velocidade e Complexidade. Também contém a opção de customizar a prioridade de determinadas práticas e já te deixa com um plano de ação.
Segue a QE Unit para mais Quality Engineering.
A Definição, Manifesto e Framework do Quality Engineering estão disponíveis por meio de Creative Common Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).