Qualidade de Software
Edson Orivaldo Lessa Junior
Qualidade de Software
• Qualidade de software refere-se ao grau em que um software atende aos
requisitos especificados e às necessidades implícitas dos usuários,
garantindo confiabilidade, eficiência e satisfação no uso.
Características da Qualidade de Software
• Adequação Funcional
• Eficiência de Desempenho
• Compatibilidade
• Usabilidade
• Confiabilidade
• Segurança
• Manutenibilidade
• Portabilidade
Case do Cabo de Celular
• Durabilidade e Confiabilidade
• Segurança
• Satisfação do Usuário
Lições para a Qualidade de Software
• Investimento em Qualidade
• Testes Rigorosos
• Foco na Experiência do Usuário
Como medir a qualidade de software
• Identificação dos atributos de qualidade
• Definição de métricas para cada atributo
• Por exemplo:
• Confiabilidade: Pode ser medida pela taxa de falhas por unidade de tempo.
• Eficiência de Desempenho: Pode ser avaliada pelo tempo de resposta médio ou pela
utilização de recursos (CPU, memória).
• Usabilidade: Pode ser mensurada pelo tempo que um usuário leva para aprender a usar
o sistema ou pela taxa de erros cometidos durante a interação.
• Coleta e análise de dados
Perspectiva da qualidade de Software
• Qualidade do Produto
• Qualidade do Processo
• Definição de Padrões de Processo: Estabelecer normas e procedimentos que
orientem as atividades de desenvolvimento, garantindo consistência e conformidade
com as melhores práticas.
• Monitoramento do Processo: Acompanhar a execução das atividades para assegurar
que os padrões definidos estão sendo seguidos corretamente.
• Relatórios para a Gerência: Comunicar o andamento do processo e a conformidade
com os padrões à gerência de projeto e à organização, permitindo a tomada de decisões
informadas.
Dimensões da Qualidade
• Qualidade do desempenho – Verifica se o software fornece todas as funções
e recursos especificados no modelo de requisitos, garantindo valor ao
usuário final.
• Qualidade dos recursos – Avalia se o software oferece funcionalidades que
surpreendem e encantam os usuários que o utilizam pela primeira vez.
• Confiabilidade – Mede se o software executa todas as suas funções sem
falhas, se está disponível quando necessário e se fornece funcionalidades
sem a ocorrência de erros.
• Conformidade – Verifica se o software está de acordo com os padrões locais
e externos, incluindo normas de projeto e codificação.
Dimensões da Qualidade
• Durabilidade – Avalia se o software pode ser mantido ou corrigido sem gerar
efeitos colaterais indesejados e se mudanças podem comprometer a
confiabilidade.
• Facilidade de manutenção – Mede se o software pode ser alterado ou
corrigido rapidamente, garantindo que a equipe de suporte tenha acesso às
informações necessárias para essas alterações.
• Estética – Considera a percepção subjetiva da interface e experiência do
usuário, avaliando fatores como elegância, fluidez e harmonia do design.
• Percepção – Analisa como a qualidade do software é percebida pelos
usuários, levando em conta preconceitos ou reputação do fornecedor.
Maneiras de Medir a Qualidade
• Visão do usuário – Atendimento às expectativas do usuário final.
• Visão do fabricante – Conformidade com especificações predefinidas.
• Visão do produto – Qualidade medida por atributos e recursos.
• Visão baseada em valor – Qualidade relacionada ao que o cliente está
disposto a pagar.
• Visão transcendental – Qualidade percebida intuitivamente.
Como medir a qualidade?
• Produtividade
• É responsável por medir quantos recursos são necessários para a realização da
produção.
• Com esse diagnóstico, é possível identificar desperdícios que devem ser evitados e vão
permitir uma maior produtividade.
• É importante saber o número de vezes que algo precisa ser refeito ou um recurso usado
durante um processo, por exemplo. Isso impacta diretamente nas revisões de
orçamento e de calendário de entregas.
• Como calcular? Através da adoção de um software de gestão de produção (com
módulos de compra de matéria-prima, custos, prazo de entrega etc.).
• Com esses dados, é possível implantar um processo de melhoria contínua na empresa,
por exemplo.
Como medir a qualidade?
• Satisfação e Fidelidade do Cliente
• Elaborar uma pesquisa para saber se o cliente está satisfeito, se voltaria a comprar e se
recomendaria o seu serviço é imprescindível para o sucesso do seu negócio.
• Estes são alguns dos indicadores de desempenho da qualidade e produtividade mais
importantes.
• Como calcular? Ir direto à fonte é o ideal.
• Faça uma boa pesquisa com os seus clientes para estudar a força do seu produto ou
serviço no mercado.
• O mais recomendável é enviar por e-mail uma pesquisa de satisfação (rápida, objetiva e
concisa), ou usar plataformas de pesquisa automatizada que fazem isso usando a
metodologia NPS, por exemplo.
Como medir a qualidade?
• Valor
• Como saber se o seu produto ou serviço funciona de fato? Esse indicador vai te ajudar a
compreender a influência e a relevância que o que você oferece tem na rotina dos
clientes.
• Como calcular? Pesquisa de satisfação e pesquisa de mercado são boas opções para
definir indicadores.
• Fique atento às novidades da sua área de atuação e também dos concorrentes.
Como medir a qualidade?
• Reclamações dos clientes
• Os clientes são o termômetro do negócio. Se eles estão reclamando muito, é sinal de
que as coisas não vão nada bem.
• Por isso, indicadores de desempenho da qualidade e produtividade são fundamentais
para que você tenha controle da organização interna.
• Por quê? Porque isso reflete externamente.
• Verifique se a “engrenagem” da empresa está funcionando de maneira correta, se os
funcionários estão realizando suas tarefas com êxito e se empenhando para prestar o
melhor atendimento
Como medir a qualidade?
• Qualidade
• Esse indicador de desempenho da qualidade é essencial para não causar danos à
saúde ou integridade física do cliente.
• Como calcular? Faça testes antes do lançamento do produto.
• Verifique se ele atende a todas as medidas de segurança e exigências de certificações e
normas nacionais e internacionais. É preciso ter uma política de privacidade que tenha
todas as normas de como lidar com os dados de clientes.
• Agora que você conheceu um pouco mais sobre quais são os indicadores de qualidade,
que tal começar a usá-los para garantir que a sua empresa siga sempre o caminho
certo?
Custo de Medir a Qualidade
• Ferramentas e Infraestrutura
• Ferramentas de automação de testes, métricas e análise estática de código
• Infraestrutura para testes e simulações.
• Softwares de monitoramento e métricas de performance.
• Equipe Especializada
• Engenheiros de qualidade e testadores.
• Treinamento de desenvolvedores para seguir padrões de qualidade.
• Consultoria para implementar modelos de maturidade (CMMI, [Link], ISO 25000).
Custo de Medir a Qualidade
• Processos e Normas
• Implementação de padrões e certificações.
• Revisão de código e inspeções manuais.
• Testes automatizados e testes exploratórios.
• Tempo de Desenvolvimento
• Tempo gasto com revisões, correções antecipadas e testes contínuos.
• Adoção de práticas como TDD (Test-Driven Development), pair programming e code
reviews.
Custo de NÃO Medir a Qualidade
• Retrabalho e Correções de Erros
• Defeitos encontrados tardiamente são mais caros de corrigir.
• O custo de um erro identificado após a entrega pode ser até 100 vezes maior do que se
identificado na fase de desenvolvimento.
• Atrasos em Projetos
• Falhas não detectadas podem comprometer prazos e exigem alocação emergencial de
recursos.
Custo de NÃO Medir a Qualidade
• Custos com Suporte Técnico
• Mais problemas em produção significam mais chamados de suporte e maior custo com
manutenção.
• Baixa Produtividade da Equipe
• Falta de métricas gera dificuldade em identificar problemas de desempenho e gargalos.
Custos Ocultos de NÃO Medir a Qualidade
• Impacto na Reputação da Empresa
• Softwares com falhas reduzem a confiança do usuário e prejudicam a imagem da
organização.
• Empresas que falham em qualidade perdem competitividade no mercado.
• Multas e Processos Jurídicos
• Em setores regulados, falhas podem resultar em multas ou litígios (ex.: falhas de
segurança de dados).
• Perda de Clientes e Receita
• Aplicações instáveis ou difíceis de usar fazem com que os clientes migrem para
concorrentes.
• Softwares não testados podem falhar em momentos críticos, impactando receitas
diretamente.
Comparação
Fator Custo de Medir a Qualidade Custo de Não Medir
Ferramentas Investimento inicial moderado Correções emergenciais caras
Equipe Contratação de testadores e engenheiros de Suporte sobrecarregado e retrabalho
qualidade constante
Atrasos imprevistos por falhas não
Tempo Tempo gasto com testes e revisões
detectadas
Imagem Reputação de confiabilidade Perda de clientes e credibilidade
Gastos elevados com suporte,
Financeiro ROI a longo prazo com menos falhas
correções e litígios
O Que é a Melhoria do Processo de Software?
• A MPS se baseia na ideia de que a qualidade do software está diretamente
relacionada à qualidade do processo de desenvolvimento.
• Se o processo for bem definido, controlado e constantemente melhorado, o
resultado final será um software mais confiável, com menos erros e maior
aderência às necessidades dos clientes.
• CMMI (Capability Maturity Model Integration)
• [Link] (Melhoria do Processo de Software Brasileiro)
• ISO/IEC 12207 (Norma para Processos de Ciclo de Vida do Software)
• ISO/IEC 15504 – SPICE (Padrão para Avaliação de Processos de Software)
Benefícios da Melhoria do Processo de Software
• Redução de erros e retrabalho
• Aumento da produtividade da equipe
• Maior previsibilidade dos projetos
• Cumprimento de prazos e redução de custos
• Facilidade na manutenção e evolução do software
• Melhoria na satisfação do cliente
Melhoria do Processo de Software
ISO/IEC 15504 (SPICE -
ISO/IEC 12207 (Norma para
CMMI (Capability Maturity [Link] (Melhoria do Processo Software Process
Critério Processos de Ciclo de Vida do
Model Integration) de Software Brasileiro) Improvement and Capability
Software)
Determination)
Melhoria contínua da Criar um modelo adaptado à Avaliação da capacidade e
Definir processos padronizados
Objetivo Principal maturidade dos processos de realidade das empresas maturidade dos processos de
para o ciclo de vida do software.
software. brasileiras. software.
5 níveis: Inicial, Repetível, 6 níveis: Incompleto, Executado,
Não possui níveis, apenas
Níveis de Maturidade Definido, Gerenciado, 7 níveis: G a A. Gerenciado, Estabelecido,
categorias de processos.
Otimizado. Previsível, Otimizado.
Qualidade de processos e Processos de software para Estruturação de processos de Medição e melhoria contínua da
Foco
gerenciamento organizacional. empresas nacionais. desenvolvimento e manutenção. qualidade dos processos.
Empresas que buscam
Empresas de grande e médio Micro, pequenas e médias Empresas de qualquer porte que
Aplicabilidade certificação e avaliação de
porte, especialmente em TI. empresas brasileiras. desenvolvem software.
qualidade.
Padronização global e
Padronização e previsibilidade Menor custo que o CMMI, Flexível e aplicável a qualquer
Benefícios compatibilidade com outras
no desenvolvimento de software. alinhado à realidade nacional. domínio, não só software.
normas.
Menor reconhecimento
Principais Alto custo de implementação e Pode ser genérica demais para Modelo complexo e requer mais
internacional comparado ao
Desvantagens certificação. algumas empresas. tempo para implementação.
CMMI.