Translate

Mostrar mensagens com a etiqueta QA e QC. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta QA e QC. Mostrar todas as mensagens

terça-feira, 20 de fevereiro de 2024

Quality Engineering sem Mistérios

 

Bellacosa Mainframe e a engenharia de qualidade sem misterios para a Stack Mainframe

☕ Um Café no Bellacosa Mainframe

Quality Engineering sem Mistérios

O Guia Definitivo do Programador COBOL Padawan para Entender a Engenharia da Qualidade Aplicada ao IBM Z — Inspirado em Star Trek

"Em qualquer missão da Frota Estelar, sobreviver não depende apenas de tecnologia. Depende de processos bem definidos, verificações constantes e disciplina operacional."

— Adaptado da filosofia do Sr. Spock


Introdução — O que um Programador COBOL tem a ver com Engenharia da Qualidade?

Quando um programador COBOL iniciante escuta palavras como FMEA, PPAP, MSA, SPC, CAPA ou APQP, normalmente pensa:

"Isso deve ser coisa do pessoal da fábrica..."

Na verdade...

Não.

Esses conceitos nasceram na manufatura, principalmente na indústria automobilística japonesa e americana, mas seus princípios são praticamente universais.

Na IBM, por exemplo, boa parte da cultura de engenharia que permitiu que o IBM System/360, depois o System/370, o zSeries, o IBM Z e atualmente o IBM z16/z17 alcançassem níveis absurdos de disponibilidade foi construída exatamente sobre esses fundamentos.

Aliás...

Existe uma curiosidade interessante.

A indústria automotiva mede defeitos em peças.

O mundo mainframe mede defeitos em informações.

Ambos perseguem exatamente o mesmo objetivo:

Zero defeito.

No universo de Star Trek isso fica ainda mais evidente.

Imagine a USS Enterprise.

Ela possui:

  • motores

  • computadores

  • sensores

  • bancos de dados

  • replicadores

  • sistemas médicos

  • controle de voo

Agora imagine se cada módulo fosse desenvolvido sem controle de qualidade.

A Enterprise nunca sairia do estaleiro de Utopia Planitia.

No IBM Z acontece exatamente a mesma coisa.


Engenharia da Qualidade não é encontrar erros

Este é um dos maiores equívocos dos iniciantes.

Muita gente acredita que qualidade significa:

"Encontrar bugs."

Na verdade...

Encontrar bugs é apenas uma pequena parte.

A Engenharia da Qualidade tenta impedir que o bug exista.

Essa filosofia pode ser resumida assim:

Inspecionar
↓
Encontrar defeitos

Prevenir
↓
Eliminar defeitos antes que apareçam

É exatamente a diferença entre apagar incêndios e construir um prédio que não pega fogo.


A Jornada Completa da Qualidade

No mundo automotivo existe praticamente uma sequência lógica.

Planejamento

↓

Projeto

↓

Análise de Riscos

↓

Plano de Controle

↓

Validação

↓

Produção

↓

Monitoramento

↓

Correção

↓

Melhoria Contínua

Curiosamente...

Essa sequência lembra muito o ciclo de desenvolvimento de um sistema COBOL.

Levantamento

↓

Análise

↓

Codificação

↓

Compilação

↓

Teste

↓

Homologação

↓

Produção

↓

Monitoramento

↓

Correções

Nada mudou.

Mudou apenas o produto.


APQP — O Planejamento da Missão

Imagine o Capitão Kirk recebendo uma nova missão.

Spock pergunta:

Capitão... já sabemos os riscos?

McCoy pergunta:

O suporte médico foi planejado?

Scotty pergunta:

Os motores suportam essa missão?

Uhura pergunta:

As comunicações foram testadas?

Todos estão fazendo APQP.


O que significa?

Advanced Product Quality Planning.

É um planejamento extremamente detalhado.

Seu objetivo é garantir que o produto nascerá corretamente.

No mundo mainframe seria equivalente ao momento em que uma nova aplicação bancária começa.

Antes da primeira linha de COBOL já precisamos definir:

  • requisitos

  • banco de dados

  • segurança RACF

  • interfaces MQ

  • jobs

  • SLAs

  • backups

  • monitoramento

  • capacidade

  • rollback

Perceba...

Nenhuma linha de código foi escrita.

Mesmo assim boa parte do sucesso do projeto já foi decidida.


FMEA — O Dr. Spock prevê o futuro

Esta talvez seja minha ferramenta favorita.

Failure Mode and Effects Analysis.

Traduzindo:

Análise dos Modos de Falha.

Ela faz uma pergunta simples:

O que pode dar errado?

Depois:

Qual será o impacto?

Depois:

Como impedir?

Imagine um programa COBOL.

READ CLIENTE

IF NOT FOUND

O que pode acontecer?

Arquivo vazio.

Dataset inexistente.

Erro de autorização.

Registro inválido.

VSAM corrompido.

Todas essas possibilidades deveriam aparecer no FMEA.

No universo Star Trek...

Spock faria exatamente isso antes da missão começar.


Exemplo Mainframe

Programa realiza TED bancária.

Possíveis falhas:

Saldo insuficiente.

Abend S0C7.

Deadlock DB2.

Timeout CICS.

Fila MQ cheia.

Sistema remoto indisponível.

Agora imagine cada um deles recebendo:

Severidade.

Probabilidade.

Facilidade de detecção.

Esse é exatamente o FMEA.


SPC — O RMF da Indústria

SPC significa Statistical Process Control.

Aqui entra estatística.

Imagine acompanhar diariamente:

CPU

Tempo de resposta

IOPS

Uso de DASD

Quantidade de ABENDs

Tempo de Batch

Tudo isso pode ser colocado em gráficos.

É exatamente isso que o SPC faz.

No mundo industrial mede:

temperatura

pressão

espessura

diâmetro

peso

No IBM Z mede:

CPU

Paging

EXCP

Response Time

Storage

Buffer Pools

Locks

Tudo baseado em estatística.


Easter Egg

RMF é praticamente um gigantesco SPC para sistemas operacionais.


MSA — Posso confiar na minha medição?

Imagine dois operadores.

Um diz:

CPU = 60%

Outro diz:

CPU = 85%

Quem está certo?

Antes de confiar no número...

Precisamos confiar na ferramenta.

MSA faz exatamente isso.

No mundo industrial analisa:

paquímetro

micrômetro

scanner

laser

No mainframe seria equivalente a validar:

RMF

SMF

OMEGAMON

Grafana

Instana

Zabbix

Se a ferramenta mede errado...

Todas as decisões seguintes estarão erradas.


QA x QC

Essa pergunta aparece praticamente em todas as entrevistas.

QA

Quality Assurance.

Garante o processo.

QC

Quality Control.

Verifica o produto.

Imagine uma compilação COBOL.

QA seria:

Padronizar coding standards.

Checklist.

Code Review.

Pipeline.

Testes obrigatórios.

QC seria:

Executar o programa.

Validar saída.

Comparar resultados.

Encontrar erros.

QA evita.

QC detecta.


PPAP — A Homologação Definitiva

Imagine entregar um novo sistema para produção.

O gerente pergunta:

Você testou?

Sim.

Documentou?

Sim.

Backup?

Sim.

Rollback?

Sim.

Plano B?

Sim.

Plano C?

Sim.

Aprovação?

Sim.

Esse "pacote de confiança" é praticamente um PPAP.

Na indústria significa provar que a linha inteira consegue fabricar corretamente.

No mainframe seria provar que:

o sistema inteiro está pronto para produção.


Control Plan

Depois que tudo foi planejado...

Como garantir que ninguém saia do padrão?

Control Plan responde isso.

No desenvolvimento COBOL poderia conter:

Toda alteração passa por Git.

Build automático.

Compilação Enterprise COBOL.

Testes ZUnit.

Code Review.

Deploy via DBB.

Homologação.

Produção.

Tudo documentado.


CAPA

Corrective and Preventive Action.

Imagine ocorreu um ABEND S0C4.

Correção:

ajustar ponteiro.

Prevenção:

criar regra de inspeção para ponteiros.

Outro exemplo.

Deadlock DB2.

Correção:

alterar ordem dos UPDATE.

Prevenção:

documentar padrão corporativo.

Perceba.

A prevenção vale muito mais.


Root Cause Analysis

A pergunta mais importante da engenharia.

Por quê?

Imagine:

Programa caiu.

Por quê?

Arquivo indisponível.

Por quê?

Storage cheio.

Por quê?

Job anterior não apagou temporários.

Por quê?

PROC estava errada.

Agora encontramos a verdadeira causa.

Não era o COBOL.

Era o processo.


Os famosos 5 Porquês

Toyota popularizou essa técnica.

Pergunte cinco vezes:

Por quê?

Até chegar na raiz.

No mundo mainframe isso resolve inúmeros incidentes.


8D — A Investigação da Frota Estelar

Imagine um incidente gravíssimo.

Sistema bancário parado.

Kirk convoca uma força-tarefa.

Cada disciplina representa uma etapa.

D1

Equipe.

D2

Problema.

D3

Conter.

D4

Descobrir causa.

D5

Corrigir.

D6

Validar.

D7

Evitar repetição.

D8

Registrar aprendizado.

É praticamente um Post Mortem moderno.


Poka-Yoke — O Idiot Proof

Talvez o conceito japonês mais genial.

Impedir o erro antes que aconteça.

No COBOL:

Obrigar CPF com 11 dígitos.

Obrigar DATA AAAAMMDD.

Obrigar código de agência válido.

Obrigar commit antes do término.

Tudo isso é Poka-Yoke.


Kaizen — O Espírito Vulcano

Kaizen significa:

Melhoria contínua.

Todos os dias.

Pouco.

Mas sempre.

No IBM Z isso significa:

Melhor SQL.

Menor consumo de CPU.

Menos EXCP.

Menos SORT.

Mais cache.

Mais paralelismo.

Nenhuma mudança isolada faz milagre.

Mil pequenas melhorias mudam uma organização inteira.


Process Flow Diagram

É literalmente desenhar o processo.

No COBOL:

Cliente

↓

Tela CICS

↓

Programa COBOL

↓

DB2

↓

MQ

↓

Sistema Externo

↓

Resposta

↓

Tela

Quanto melhor o diagrama...

Mais fácil identificar gargalos.


Cp e Cpk

São indicadores estatísticos.

Na indústria medem:

Capacidade do processo.

No IBM Z poderiam representar:

Capacidade de throughput.

Capacidade do Batch.

Capacidade do CICS.

Capacidade do DB2.

Embora não sejam usados formalmente dessa forma, a filosofia é semelhante.


GD&T

Geometric Dimensioning and Tolerancing.

Pode parecer distante do COBOL.

Mas existe uma analogia.

Na indústria define tolerâncias.

No software definimos:

Layout Copybook.

Formato JSON.

API Contract.

Record Layout.

Todos precisam seguir exatamente o padrão.


5S no Mainframe

Seiri

Eliminar datasets inúteis.

Seiton

Organizar bibliotecas.

Seiso

Eliminar jobs antigos.

Seiketsu

Padronizar nomenclaturas.

Shitsuke

Disciplina operacional.

O ISPF agradece.


OEE

Overall Equipment Effectiveness.

Na indústria mede:

Disponibilidade

Performance

Qualidade

No IBM Z seria algo como:

Disponibilidade do Sysplex.

Performance do Batch.

Qualidade dos serviços.


LPA

Layered Process Audit.

Imagine auditorias periódicas.

Operador.

Supervisor.

Gerente.

Arquiteto.

Todos verificam o mesmo processo sob perspectivas diferentes.


QMS

Quality Management System.

É o "sistema operacional" da qualidade.

No IBM seria equivalente ao conjunto de:

ITIL

COBIT

ISO 9001

Políticas internas

Procedimentos

Fluxos

Normas


IATF 16949

É a principal norma automotiva.

Ela integra praticamente tudo o que vimos.

Pode ser comparada, conceitualmente, a grandes frameworks de governança utilizados em ambientes corporativos de TI, onde processos, auditorias, gestão de riscos e melhoria contínua precisam funcionar de forma integrada.


Como tudo isso conversa com o IBM Z?

A maior lição deste artigo é perceber que o IBM Z sempre foi uma plataforma orientada à qualidade.

Quando você utiliza:

  • RACF

  • WLM

  • RMF

  • SMF

  • JES2

  • GDGs

  • DB2

  • CICS

  • IMS

  • ZUnit

  • Git

  • DBB

  • Ansible

  • Jenkins

você está, na prática, aplicando muitos dos mesmos princípios da Engenharia da Qualidade: prevenção, padronização, rastreabilidade, medição, auditoria e melhoria contínua.

A tecnologia muda, mas os fundamentos permanecem.


Curiosidades para impressionar em uma entrevista

☕ A Toyota foi uma das grandes responsáveis por popularizar FMEA, 5S, Kaizen, Poka-Yoke e os 5 Porquês, influenciando metodologias de qualidade em diversos setores.

☕ O conceito de melhoria contínua inspirou práticas modernas como Lean Manufacturing, Lean Software Development e parte da cultura DevOps.

☕ O ciclo Planejar → Executar → Medir → Corrigir aparece em praticamente todas as áreas da engenharia, da manufatura ao desenvolvimento de software.

☕ Em ambientes IBM Z, métricas provenientes de RMF, SMF e ferramentas de observabilidade cumprem papel semelhante ao SPC, permitindo identificar tendências antes que se transformem em incidentes.

☕ O famoso Post Mortem adotado por empresas como Google, Microsoft e IBM segue princípios muito próximos do RCA (Root Cause Analysis) e do método 8D: entender profundamente a causa raiz, implementar ações corretivas permanentes e compartilhar o aprendizado para evitar recorrências.


O Conselho Final do Sr. Spock

Ao terminar sua conversa com o capitão Kirk, Spock olha para um jovem engenheiro recém-chegado à Enterprise e diz:

"Um excelente engenheiro não é aquele que resolve problemas rapidamente. É aquele que projeta sistemas onde os problemas raramente acontecem."

Essa frase resume toda a Engenharia da Qualidade.

Seja em uma linha de montagem produzindo milhões de componentes automotivos ou em um IBM Z processando bilhões de transações financeiras, o verdadeiro objetivo nunca foi apenas corrigir defeitos. O objetivo é construir processos tão robustos, previsíveis e bem controlados que a qualidade deixe de ser uma inspeção no final do caminho e passe a fazer parte da própria essência do sistema.

E essa é uma lição que todo Programador COBOL Padawan leva consigo ao iniciar sua jornada rumo ao nível de Mestre. Afinal, como diria Spock:

"A lógica constrói sistemas. A qualidade garante que eles permaneçam funcionando quando toda a galáxia depende deles."