defeitos de software como erros humanos · classificar os defeitos de software como erros humanos...
Post on 22-Jul-2020
0 Views
Preview:
TRANSCRIPT
1
Escola Politécnica da Universidade de São Paulo
1
Defeitos de software como erroshumanosKaren Sandhof
Lucia Filgueiras
Laboratório de Tecnologia de Software
Depto. de Engenharia de Computação e Sistemas Digitais
II WOSES: Workshop Um Olhar Sociotécnico sobre a Engenharia de Software
2
Escola Politécnica - USP 2
Objetivo
• Olhar para os defeitos de software sob o foco da teoria sobre o erro humano
• Identificar os fatores de influência
• Propor a monitoração dos fatores de influência como recurso para melhoriade qualidade
3
Escola Politécnica - USP 3
Agenda
• Justificativa
• Erro humano
• Método do trabalho
• Resultados
4
Escola Politécnica - USP 4
Agenda
• Justificativa
• Erro humano
• Método do trabalho
• Resultados
5
Escola Politécnica - USP 5
Justificativa
• Modelos de qualidade são centradosnos processos
• Poucos modelos contemplam o desempenho humano
• O ser humano é falível
• O ser humano é influenciado pelocontexto
• Há estudos para o desempenhohumano confiável
6
Escola Politécnica - USP 6
Agenda
• Justificativa
• Erro humano
• Método do trabalho
• Resultados
7
Escola Politécnica - USP 7
Da teoria da confiabilidade
• Um erro (error) é aquela parte do estado do sistema que está sujeita a levar a umadisfunção subseqüente (mas pode não levar).
• Disfunção (failure) de um sistema ocorrequando o serviço desejado desvia do atendimento das funções do sistema – aquiloque o sistema objetiva fazer.
• Uma falha (fault) é uma causa adjudicada ao erro.
Definições do IEEE TC FTD/IFIP WG10.4
Almeida Junior, J. R.; Segurança em Sistemas Críticos e em Sistemas de Informação – Um estudo Comparativo. Tese de Livre Docência. Escola Politécnica da USP, 2003.
8
Escola Politécnica - USP 8
O Homem dentro do sistema
• Disfunção é o sistema não entregar seu serviço. O Homemé contribuinte.
• Erro humano é uma situação (estado) da atuação(*) humana que pode levar a uma disfunção.
(*) atuação inclui ações, omissões, pensamentos, palavras
• Falha é a causa atribuída ao erro. Possíveis causas de erro:� Formação inadequada� Falta de habilidade motora� Mau uso do conhecimento� Mal súbito� Gestos desastrados� Fadiga, stress
9
Escola Politécnica - USP 9
Confiabilidade humana
• <1980: Therp
• 1980-1990: aspectos cognitivos, violações
• 1990: GEMS, James Reason
• 1990-2000: Contexto e controle
• 2000: Engenharia da resiliência
10
Escola Politécnica - USP 10
Erro Humano
• Deslizes (Slips) e Lapsos.
� a ação pretendida não atinge seu objetivo
� são provocados por uma falha na atençãodedicada durante a realização de uma tarefa.
• Enganos (Mistakes)
� falha no processo de julgamento e/ou inferência envolvida na seleção de um objetivo ou na especificação de meios para atingi-los
� as ações dirigidas pelo esquema de decisão podem ter sido executadas de acordo com o plano
11
Escola Politécnica - USP 11
Fatores influenciadores do desempenho (Hollnagel)
• Adequação da organização; • Condições de trabalho;• Adequação da interface homem-sistema e apoio
operacional;• Disponibilidade de procedimentos;• Número de objetivos a serem alcançados
simultaneamente;• Tempo disponível para o atendimento as metas;• Grau de treinamento e experiência;• Eficiência na colaboração dos envolvidos.
• Os FID podem ser controlados por intervençõescomo o treinamento, a gestão da colaboração, sistemas de apoio à operação
Hollnagel, E. Cognitive Reliability and Error Analysis Method. Elsevier, 1998
12
Escola Politécnica - USP 12
Hoje aceita-se que:
• O erro humano é inerente ao processocognitivo humano
• A atuação humana é afetada pelocontexto.
• A gestão sobre os fatores de influênciapode melhorar o desempenho humano
13
Escola Politécnica - USP 13
Estudos sobre erro humano e software
• Nakamura (1991): 120 defeitos – 57% pordescuido. Explicar paranão repetir
• Smidts et al. (1998): modelo estocásticopara confiabilidade de software
• Nossa abordagem: controle do contextopara melhoria de qualidade
57%
13%
13%
10%
4% 3%
Humanas
Técnicas
Padrões
Sistema
Ambiente
Outros
14
Escola Politécnica - USP 14
Agenda
• Justificativa
• Erro humano
• Método do trabalho
• Resultados
15
Escola Politécnica - USP 15
Método
1. Identificar FIDs
2. Observar FIDs e os defeitos de software
3. Classificar os defeitos de software como erros humanos
4. Estabelecer correlação
16
Escola Politécnica - USP 16
Etapas
• Pesquisa exploratória (2002)� Quais variáveis de contexto afetam o
desempenho humano?
� Como os defeitos de software sãoreconhecidos como erros humanos pelosdesenvolvedores?
• Segunda etapa (2004)� Aperfeiçoamento do protocolo
� Inclusão da dimensão temporal
17
Escola Politécnica - USP 17
Desenvolvedores
• 10 desenvolvedores, 19 dias úteis
• Equipe de desenvolvimento de aplicações emcomércio eletrônico e automação bancária da Itautec
• Engajamento em atividades de melhoria de qualidade
• Participação voluntária e confidencial
• Autorização da empresa para a participação napesquisa
• Protocolo enviado diariamente por email e disponibilizado na intranet
18
Escola Politécnica - USP 18
Instrumento da pesquisa
• Fatores organizacionais� Existência de processos de
desenvolvimento
� Visão do desenvolvedor sobre cooperaçãonas equipes de trabalho
� Satisfação com políticas de remuneração e recompensa
� Visão sobre a capacidade do líder da equipe
19
Escola Politécnica - USP 19
20
Escola Politécnica - USP 20
Fatores individuais
• Variáveis dependentes do tempo
• etapa do projeto
• grau de envolvimento com o projeto
• tipo das dificuldades experimentadas pelodesenvolvedor
• nível de cooperação com outros elementos do grupo de projeto
• existência de problemas (particulares/ financeiros/ de saúde)
• estado emocional
• percepção da carga de trabalho.
21
Escola Politécnica - USP 21
22
Escola Politécnica - USP 22
23
Escola Politécnica - USP 23
Acompanhamento do erro
• Diariamente, por defeito encontrado
• Quem fez, quem achou
• Fase do projeto (se possível)
• Tempo desde o erro
• Processo de detecção
• Tipo de erro (lista com os maiscomuns)
• Causa atribuída ao erro
24
Escola Politécnica - USP 24
25
Escola Politécnica - USP 25
26
Escola Politécnica - USP 26
Agenda
• Justificativa
• Erro humano
• Método do trabalho
• Resultados
27
Escola Politécnica - USP 27
Resultados
• 84 erros, 10 desenvolvedores, 19 dias
• Caracterização da organização:� 50% dos projetos eram informalmente
conduzidos, sem processo de desenvolvimento
� A atitude de relacionamento era boa
� Forte insatisfação com política de RH
� Tensões entre desenvolvedores e liderança
� Demanda por maior competência gerencial
28
Escola Politécnica - USP 28
ResultadosCaracterização dos projetos
• Projetos interessantes, desafiadores (10% consideravam seu projetoentediante)
• Equipe com maioria naconstrução do código(68%)
• 56% apontam estar com algum problema (24% problemas profissionais)
• Estado emocional tende a ser positivo
• Carga de trabalhopercebida como normal (26% excessiva)
Motivação do Projeto
53%
10%
10%
27%Interessante
Desafiador
Chato
Normal
Etapas do Projeto
0%
20%
40%
60%
80%
100%
Testes
Implementação
Documentação
Manutenção
Especificação
20%
2%
24%
9%
46%
0%
10%
20%
30%
40%
50%
Problemas
Problemas particulares
Problemas de saúde
Problemas profissionais
Problemas financeiros
Sem problemas
Estado Emocional
90%
10%
Positivo
Negativo
Carga de Trabalho
74%
26% 0%
Normal
Excessiva
Baixa
29
Escola Politécnica - USP 29
Carga de trabalho
• Carga excessivaestá associada àfalta de conhecimento
• Carga de trabalhonão é consideradaalta se há motivação(Nasa-TLX)
Normal ExcessivaFalta de documentação 17% 23%Interrupções 24% 20%Omissão de requisitos 5% 11%Falta de conhecimento técnico 17% 23%Requisito errado 3% 3%Outros 34% 20%
30
Escola Politécnica - USP 30
Resultados: erros
02468
1012141618
Dig
itaçã
o
Inte
graç
ão
Na
veg
açã
o
Inte
rface
Re
dun
dân
cia
Imp
lem
enta
ção
inco
mpl
eta
Imp
lem
enta
ção
erra
da
Outros
Requis ito errado
Falta de conhecimentotécnico
Omissão de requisitos
Interrupções
Falta de documentação
Tipo do Defeito
4%
18%
2%4%1%
23%
47%
1%
Digitação Integração
Navegação Interface
Redundância Implementação incompletaImplementação errada Outro
• Erros de digitação são atribuídos a interrupções (deslizes)
• Erros de integração são mais freqüentes e atribuídos a causas múltiplas
• Erros de implementação incompleta são atribuídos a faltade tempo, a interrupções e falta de atenção (deslizes)
• Erros de implementação errada são atribuídos a falta de documentação e falta de conhecimento técnico (enganos)
31
Escola Politécnica - USP 31
Outras causas de errosmencionadas
• Falta de atenção
• Falta de tempo para análise do problema
• Falta de tempo
• Falta de testes específicos
• Comunicação
• Erro de lógica
32
Escola Politécnica - USP 32
Resultados individuais
• Há casos de desenvolvedores desmotivados e insatisfeitos
Estado emocional+2
Estado emocional-3
33
Escola Politécnica da Universidade de São Paulo
33
Respondendo ao erro humano
Como é hoje . . . Como deveria ser . . .Você é humanoVocê foi muito bem treinado
e
Se você agisse conforme seutreinamento, não cometeria
erros
Seres humanos cometemerros
então
Você não foi suficientementecuidadoso!
Vamos também explorar por que o sistema permitiu ou falhou em
evitar seu erroentão
Você deve ser PUNIDO! Vamos MELHORAR O SISTEMA!
e
então
e
Fonte: [GAIN,2004]
34
Escola Politécnica - USP 34
Conclusões
• Para identificação e previsibilidade, deve-se levar em conta os 3 maioreselementos na produção de um erro:� A natureza da tarefa e as circunstâncias do
ambiente
� O mecanismo que gerencia o desempenho
� A natureza do indivíduo
35
Escola Politécnica - USP 35
Conclusões
• A monitoração das variáveis de contexto podeser usada para:
� Identificar situações requerendo intervenção da empresa
� Reforçar os testes em determinados produtos
• Devem ser investigadas as causas e removidosos problemas comuns
• Intervenções como CRM, RELPER e análises de causas podem contribuir
• Inúmeras são as oportunidades em que o erroé corrigido
36
Escola Politécnica da Universidade de São Paulo
36
Agradecemos!
sandhof@terra.com.br
lucia.filgueiras@poli.usp.br
Laboratório de Tecnologia de Software
37
Escola Politécnica - USP 37
Erros e fatores
Digitação Navegação RedundânciaImplementação errada
Implementação incompleta Interface Integração Outros
Comunicação X X X X XRelacionamento X X X XControle sobre processos X X X X X X XPolíticas de RH X X X X XReconhecimento X X X X XProblemas pessoais X X X XProblemas financeiros X X X XProblemas profissionais X X X X X X X XProblemas de saúde X X X X XCarga de trabalho X X X X X X X XMotivação X X X XLiderança X X XEstado Emocional X X X X X X X X
Erros
Po
ssív
eis
Cau
sas
38
Escola Politécnica - USP 38
Homem e Sistema
• Sistema entrega serviço ao usuário
• Homem é componente do sistema
� Exemplo: o “piloto”, visto pelo passageiro do avião� Serviço: transporte� Sistema: aeronave + tripulação� Usuário: passageiro
• Homem é operador do sistema
� Exemplo: o piloto, visto pelo projetista do cockpit� Serviço: informações, resposta aos comandos� Sistema: aeronave� Usuário: piloto
• O Homem é o sistema.
� Abordagem da psicologia
39
Escola Politécnica - USP 39
Modos (Reason)
Deslize de dupla captura
Omissão após interrupção
Redução de intencionalidade
Confusão perceptiva
Erros de interferência
Omissão
Repetição
Inversão
Erros em nível de Habilidade Primeiras exceções
Countersigns e nonsigns
Sobrecarga informacional
Força de regra
Regras gerais
Redundância
Rigidez
Deficiências na Codificação
Ação deficiente
Regras erradas
Regras não elegantes
Regras não aconselháveis
Erros em nível de Regras
40
Escola Politécnica - USP 40
Modos (cont)
Seletividade
Limitação da memória de trabalho
Longe dos olhos longe da mente
Viés de confirmação
Excesso de confiança
Revisão enviesada
Correlação ilusória
Efeito halo
Problemas com causalidade
Problemas com complexidade
Problemas com feedback atrasado
Consideração insuficiente do processo no tempo
Dificuldades com desenvolvimento exponencial
Pensamento em série causal e não em redes causais
Divagação temática
Enquistar
Erros em nível de Conhecimento.
41
Escola Politécnica - USP 41
No caso deste trabalho
• Serviço: entregar software de qualidade
• Sistema: processo de desenvolvimentode software + desenvolvedores
• Usuário: clientes
• Defeitos de software: conseqüênciasdos erros humanos
top related