Académique Documents
Professionnel Documents
Culture Documents
[TECNOLOGIAS EM PROJEO]
Introduo
Atualmente, a maioria das empresas de TI (Tecnologia da Informao) possui processos de
negcio complexos e pouco maleveis, que ao serem utilizados no decorrer do processo de
desenvolvimento de softwares permitem o surgimento de anomalias. Segundo PMBOK
(2008), processo um conjunto de aes e atividades inter-relacionadas que so executadas
para alcanar um objetivo.
Com a evoluo tecnolgica das organizaes e a crescente exigncia por qualidade, muitas
pessoas e empresas comeam a se preocupar tambm cada vez mais com a qualidade de
seus produtos e servios, o processo de garantia da qualidade. O CMMI-DEV 1.2 descreve
que o propsito da Garantia da Qualidade de Processo e Produto (PPQA) munir a equipe e
a gerncia com uma viso clara sobre os processos e seus produtos de trabalho associados.
Para Sommerville (2003), a adequao do processo de desenvolvimento um dos principais
fatores para melhorar a qualidade do produto. Uma vez que os processos so aprimorados
para melhorar a qualidade do produto e, em particular, para reduzir o nmero de defeitos
nos softwares fornecidos, a reduo dos custos e do tempo pode se tornar a principal meta
de melhoria.
O termo defeito muitas vezes utilizado de forma genrica. No entanto, importante ter
em mente que sua interpretao depender do contexto em que ele for utilizado. Estas
definies seguem a terminologia padro para Engenharia de Software do IEEE (IEEE 610.12,
1990):
13
Junho 2014
[TECNOLOGIAS EM PROJEO]
14
[TECNOLOGIAS EM PROJEO]
Junho 2014
possveis tcnicas de apoio de aplicao. Diante disto, foi identificado que, para um maior
benefcio e eficcia, o processo deve ser implantado atravs de um conjunto de cinco fases:
investigao, anlise, deciso, comunicao e execuo (ROONEY & HEWEL, 2004; JUCAN,
2005).
Com isso, esta pesquisa foi idealizada com o objetivo de realizar um estudo de caso,
aplicando a anlise de causa raiz em um projeto que apresenta um nmero elevado de
defeitos com criticidade alta, comprometendo assim a qualidade do produto a ser entregue
para o cliente. Este estudo prope verificar a eficcia do mtodo proposto para identificao
da causa original, suporte para criao de aes corretivas que visam o crescimento do nvel
de qualidade dos produtos desenvolvidos. Para tal, apresenta-se uma reviso bibliogrfica,
pela qual foi realizado um estudo do processo de anlise de causa raiz, as principais tcnicas
para sua aplicao e trabalhos relacionados. Em seguida, discorrido o processo de anlise
dos defeitos coletadas na ferramenta de BugTrack de um Software Financeiro e
apresentado tambm um plano de ao. Finalmente, avalia-se o plano proposto.
Anlise de Causa Raiz (RCA)
A Anlise de Causa Raiz, tambm conhecida como RCA (Root Cause Analysis), um mtodo
que permite a identificao e correo dos principais fatores que ocasionaram o problema.
Este mtodo visa descobrir os defeitos originais (causa raiz), as quais geraram o problema,
ao invs de buscar solues imediatas para a resoluo de um defeito (JUCAN, 2005 ;
ANDERSEN & FAGERHAUG, 2006).
Segundo Rooney & Hewel (2004), RCA uma ferramenta projetada para auxiliar a identificar
no apenas o que e como um evento ocorreu, mas tambm por que ele ocorreu.
Somente quando identificado o motivo original de um defeito ter ocorrido, ser vivel
gerar aes para que este no volte a ocorrer. A utilizao da ferramenta RCA segundo
Rooney & Hewel (2004), no evita que sempre que ocorrer algum defeito em produo a
equipe tenha que buscar solues imediatas, avaliando somente os sintomas. No entanto,
sugere que o defeito seja tratado, mas no seja fechado at que este seja analisado e
identificado causa original que o fez ocorrer.
A Anlise de Causa Raiz usa uma terminologia especfica (ANDERSEN & FAGERHAUG, 2006),
apresentando os seguintes termos para:
Ocorrncia: um evento ou condio que no esteja dentro funcionalidade do sistema
normal ou comportamento esperado.
Evento: Uma ocorrncia em tempo real. Fato que pode impactar seriamente no
funcionamento do sistema.
Estado: Qualquer estado do sistema, que pode apresentar implicaes negativas para
alguma funcionalidade do sistema normal.
Por que (tambm chamado de Fator causal): Uma condio ou um evento que
resulte ou participa na ocorrncia de um efeito. Elas podem ser classificadas como:
o Causa direta: Uma causa que resultou na ocorrncia.
o Causa contribuinte: A causa que contribuiu para a ocorrncia, mas no a fez
diretamente.
Peridico Cientfico Tecnologias em Projeo | vol. 5 | n 1
15
Junho 2014
[TECNOLOGIAS EM PROJEO]
16
[TECNOLOGIAS EM PROJEO]
Junho 2014
e abordagens baseadas em atividades para entender processos. Alm disto, algumas normas
e modelos de maturidade (por exemplo, ISO/IEC 12207, CMMI-DEV e MR-MPS) tambm
recomendam a execuo da anlise de causas, confirmando a importncia deste processo
em uma organizao de alta maturidade, ou seja, que possui seus processos bem definidos e
busca a melhoria contnua.
A norma ISO/IEC 12207 (ISO/IEC, 2008) apresenta indiretamente o termo "anlise de
causas", dentro do processo "Resoluo de Problemas de Software". Este processo tem o
propsito de garantir que todos os problemas sejam identificados, analisados, gerenciados e
controlados at sua resoluo. Na ISO/IEC 15504-5 (ISO/IEC, 2003), a execuo da anlise de
causas apresentada como uma prtica base do resultado Problemas so analisados e
avaliados para identificar solues aceitveis do processo Gerncia de Resoluo de
Problemas. Assim como na norma ISO/IEC 15504, o CMMI-DEV (SEI, 2006), no nvel 4 e
5, e o MRMPS (SOFTEX, 2009), no nvel "A" e "B", tambm recomendam a utilizao do
mtodo de anlise de causa raiz.
Metodologia e aplicao do RCA
Como metodologia para este estudo, foi realizada uma pesquisa aplicada de forma
qualitativa atravs de um estudo de caso para um software financeiro de uma empresa
situada na cidade de Porto Alegre, estado do Rio Grande do Sul, cujo ramo alimentcio e
varejista.
O software financeiro, em questo possui funcionalidades destinadas para o gerenciamento
e controle financeiro das vendas realizadas pela empresa (entrada e sada de operadoras,
controle de caixa, entre outras). Por questes de normas internas de confidencialidade da
empresa em estudo, tanto sua identidade quanto quaisquer informaes tcnicas
estratgicas de seus produtos esto sendo preservados. Foi identificado que para um maior
benefcio e eficcia, o processo foi implantado atravs de um conjunto de cinco fases:
investigao, anlise, deciso, comunicao e execuo (ROONEY & HEWEL, 2004; JUCAN,
2005).
Investigao
Esta fase tem o objetivo de identificar de forma neutra os fatos que apresentam como o
defeito aconteceu. Para isto, devem ser coletados os principais dados referentes
ocorrncia do defeito (Ex.: como o defeito ocorreu, quais as aes realizadas para sua
correo imediata, passos para sua identificao).
A aplicao foi dividida em duas etapas: levantamento total dos defeitos e a seleo
somente de uma amostragem para aplicao nesta proposta. Esta diviso foi necessria,
devido ao software apresentar um elevado nmero de defeitos e tambm pelo tempo
limitado na entrega desta proposta.
Na primeira etapa, foi realizado o levantamento referente ao nmero de ocorrncias do
projeto em questo, atravs da ferramenta de BugTrack utilizado no software financeiro,
apresentando os seguintes nmeros identificados atravs da criticidade (alta, mdia, baixa):
Peridico Cientfico Tecnologias em Projeo | vol. 5 | n 1
17
[TECNOLOGIAS EM PROJEO]
Junho 2014
Baixa
15
Software Financeiro
Alta
30
Mdia
68
Erro ao incluir
agncia no
cadastrada no
sistema
Descrio (como
ocorreu)
Aes realizadas
1) Desenvolvedor simulou o
erro
2) Desenvolvedor
identificou o erro na
implementao referencia a
regra de dependncia entre
os campos banco e agncia
Ao acessar a tela de
Controle de Cheques e
informar uma agncia
no
cadastrada
no
sistema, o mesmo no
esta apresentando a
informao de agncia
no cadastrada
1) Desenvolvedor simulou o
erro
2)
Desenvolvedor
identificou que o erro
ocorria devia ter erro na
validao
do
campo
agncia.
18
Junho 2014
[TECNOLOGIAS EM PROJEO]
Esta tcnica foi aplicada nas demais reunies de "Brainstorming", realizando assim a anlise
de todos os defeitos com criticidade alta.
Peridico Cientfico Tecnologias em Projeo | vol. 5 | n 1
19
[TECNOLOGIAS EM PROJEO]
Junho 2014
Deciso
Esta fase tem o objetivo de identificar as aes e as lies aprendidas para corrigir ou
eliminar as causas de um defeito, a fim de alcanar em longo prazo, resultados efetivos.
Nesta fase, foi criada uma planilha agrupando por similaridade todas as causas razes
identificadas na fase de Anlise. Alm disto, foi realizada uma reunio de "Brainstorming"
com os integrantes (mesmos utilizados na fase anterior), onde foi apresentada a relao de
causas razes identificadas. Para complementar este estudo, foram solicitadas sugestes de
melhorias associadas a cada item, atravs da aplicao da tcnica de "Reunio de Anlise
Causal" (JUCAN, 2005).
Tabela 2 Exemplo: Aplicao da Tcnica de Reunio de Anlise Causal
Problema: Erro ao validar os campos Banco e Agncia
Causas
Ferramentas de comunicao so
textuais
Equipe de testes da fbrica no solicitou No inicio dos projetos, realizar um levantamento dos programas
padronizao de ambiente (Softwares, instalados nas mquinas de homologao e criar ambiente parecido
browsers...)
ao utilizado (sistema operacional, browsers...).
EFR muito complexa
3
4
5
FAs , FEs e RNs com alto nvel de
criticidade
Pouco entendimento da EFR
Falta do conhecimento do produto
Ineficincia no planejamento
20
[TECNOLOGIAS EM PROJEO]
Junho 2014
Comunicao
Esta fase tem o objetivo de comunicar aos integrantes envolvidos no processo de anlise dos
defeitos, os resultados obtidos, assim como as aes corretivas propostas. Nesta fase foi
agendada uma reunio com todos os integrantes da equipe do Software Financeiro. Na
reunio foi apresentado todo o processo RCA executado e o plano de ao criado, utilizando
as aes de melhorias sugeridas na fase de Deciso. Alm disto, foi discutido com a equipe a
eficcia das aes e sua aplicao.
Tabela 3 Plano de Ao (Aes Corretivas)
Aes
Responsveis
21
[TECNOLOGIAS EM PROJEO]
Junho 2014
8) Realizar reunio semanal para retirada de dvidas referente EFRs. Principal: Analista de Testes,
Tempo = N EFRs que possuem duvidas * tempo mdio estipulado Desenvolvedor e Analista de Sistemas
(Sugerido = 0,25 / 15 min)
Reunio deve ocorrer no primeiro dia til da semana.
Secundrio: Gerente
Caso no haja dvidas referentes semana que passou, no ocorre
reunio.
Modificaes identificadas devido s dvidas geraram abertura de
SEF.
9) Todas as reunies referente a EFR, sempre dever ir um integrante Principal: Desenvolvedor e Analista de
da equipe de desenvolvimento e um integrante da equipe de testes
Testes
10) Planejar a alocao dos recursos do projeto sempre prevendo um Principal: Gerente
lder tcnico snior (tecnologia e conhecimento do produto) e um
analista de testes snior (conhecimento de testes e produto). Em Secundrios: Analista de testes e
ambas as reas, a pr-condio de nvel snior em conhecimento do Desenvolvedor
produto e do mtodo no precisa estar em uma nica pessoa.
11) No inicio do projeto, validar a possibilidade de ser realizado uma Principal: Gerente
atualizao da base de dados dos ambientes de desenvolvimento e
testes com dados reais (produo) permitindo um nvel maior de
preciso na validao das regras e fluxos
12) Caso ao do item 11 no seja possvel:
Principal: Gerente
- No inicio do projeto, validar com o cliente se carga de dados ser
realiza por ele.
Caso afirmativo, incluir datas de prazo para a entrega das
necessidades referente a dados e, data de prazo para a carga estar
criada.
13) Caso a ao do item 11 no seja possvel, ao do item 12 no Principal: Gerente e Desenvolvedor
possa ser realizada e na ao do item 5, o cliente realize a compra dos
servios de gerao de carga:
Criar carga consistente, levando em considerao todo o processo do
produto (ex.: outras EFRs que utilizam os mesmos dados,
preenchimento de todos os campos, nomenclaturas adequadas...)
simulando dados reais.
14) Na construo dos cenrios de testes, sempre que identificado a Principal: Analista de Testes
necessidade de validao dos dados via banco, construir e incluir as
queries para validao
15) Diariamente, enviar relatrio com andamento dos testes para a Principal: Analista de Testes
equipe do projeto e superiores
No relatrio devero ser apresentadas informaes referentes EFRs
do escopo de testes (N Total de CTs planejados X N Total de CTs
22
Junho 2014
[TECNOLOGIAS EM PROJEO]
Execuo
Esta fase tem o objetivo de implementar as aes identificadas durante a fase de deciso,
acompanhar as atividades e identificar a eficcia das aes corretivas. Para esta fase estava
previsto a aplicao das aes corretivas apresentadas na fase de comunicao em uma
nova etapa do Software Financeiro. No entanto, decorrente de modificaes internas na
estrutura (implantao de um novo repositrios de dados), todos os desenvolvimentos de
novas funcionalidades do software foram colocados em "StandyBy". Diante disto, foi
realizado um replanejamento do mtodo de avaliao, onde foi gerado um documento com
questes a serem aplicadas a um grupo especfico, a fim de avaliar a viabilidade e eficcia
das aes planejadas e do mtodo de anlise de causa raiz.
O andamento desta fase ocorreu atravs das seguintes etapas:
Escolha dos integrantes do grupo de avaliao das aes corretivas: Para a escolha
dos avaliadores foi analisado quais os integrantes possuam maior senso crtico,
familiaridade com o processo de desenvolvimento do software e um nvel maior de impactos
com as aes planejadas. Diante disto, foram escolhidos os integrantes que realizavam aes
Peridico Cientfico Tecnologias em Projeo | vol. 5 | n 1
23
[TECNOLOGIAS EM PROJEO]
Junho 2014
24
Junho 2014
[TECNOLOGIAS EM PROJEO]
O segundo questionrio, que possua questes referentes ao nvel de eficcia das aes
corretivas propostas, foi encaminhado equipe de avaliao (definhada na fase de execuo
do processo RCA). Atravs deste questionrio, os avaliadores determinaram o nvel de
confiabilidade referente efetividade das aes corretivas propostas para a melhoria do
processo de desenvolvimento do Software Financeiro. O questionrio apresentava as
seguintes perguntas:
As aes proposta so eficientes para minimizar ou sanar a recorrncia de defeitos?
As aes propostas tero uma boa aceitao no nvel de equipe?
As aes propostas aumentaram o nvel de qualidade do produto entregue?
As aes propostas auxiliaram a equipe, permitindo um melhor andamento das
atividades de desenvolvimento, testes e gerncia?
As aes propostas so fceis de serem aplicadas?
Teria alguma ao que no foi identificada, mas que voc sugeriria, visando melhoria
do processo de desenvolvimento de sistemas?
Dessa forma:
25
Junho 2014
[TECNOLOGIAS EM PROJEO]
Quanto pergunta Teria alguma ao que no foi identificada, mas que voc sugeria,
visando melhoria do processo de desenvolvimento de sistemas?, apresentou as seguintes
aes:
Incluir uma ferramenta para incluso de lies aprendidas, para que os integrantes
da equipe a preencham durante o processo de execuo.
Realizar o processo de reviso da documentao de testes, utilizando como revisor
um integrante da equipe.
Incluir na ferramenta de BugTrack um campo referente a causa raiz. Este campo ser
utilizado para a incluso da razo original da ocorrncia no trmino do processo RCA.
Conforme sugesto, esta informao permitir uma maior facilidade na gerao de
relatrios e uma base histrica para consultas futuras.
Consideraes Finais
Como principal contribuio desta pesquisa, a realizao do estudo utilizando um mtodo
direcionado para a identificao dos motivos causadores pela ocorrncia dos defeitos, um
das principais preocupaes quando se referencia a qualidade do produto. Alm disto, este
estudo permitiu uma maior conscientizao para a equipe participante quanto qualidade
do produto desenvolvido. Isto ocorreu, pois ao realizar a anlise dos defeitos, os integrantes
acabavam sutilmente realizando uma autoavaliao do seu desempenho, permitindo assim
aprendizado e motivao para melhorar suas aes. No entanto, para obter sucesso na
realizao deste imprescindvel que o mesmo seja realizado com a equipe envolvida no
software em desenvolvimento. Isto ocorre, pois cada indivduo possui conhecimentos e
crticas prprias referentes ao processo de resoluo de problemas. Esta diferenciao entre
os indivduos permite que surjam solues e pontos crticos antes no identificados. Alm
disto, importante que a equipe de anlise da causa raiz possua sempre integrantes com
funes diferenciadas (analista de sistemas, analista de testes, desenvolvedores, lder
Peridico Cientfico Tecnologias em Projeo | vol. 5 | n 1
26
Junho 2014
[TECNOLOGIAS EM PROJEO]
27
Junho 2014
[TECNOLOGIAS EM PROJEO]
28