You are on page 1of 8

1

GESTÃO DA QUALIDADE COMO UM DESAFIO À MANUTENÇÃO


DE SOFTWARE

Por Lucimara Costa Bueno

1. INTRODUÇÃO

Na década de 60, os computadores se tornaram mais acessíveis favorecendo um


aumento considerável no número de pessoas que passaram a usá-los. Em consequência disto,
as organizações começaram a pensar em qualidade de software. Atualmente, com a efetivação
da globalização da economia capitalista, acirrou-se a concorrência entre as empresas de TI, as
quais estão tendo que enfrentar cada vez mais o mercado competitivo, que requer softwares
complexos, e com clientes mais exigentes, que demandam maior qualidade. Nesse novo
cenário, em que a gestão empresarial demanda modelos modernos de negócio, a satisfação do
cliente se torna um fator crítico de sucesso, sendo este um diferencial para competitividade.
Sendo assim, é necessário que a eficiência seja observada, agregando essa gestão à gestão da
qualidade.
A definição de qualidade para software despontou devido à necessidade de
estruturação e padronização do seu desenvolvimento, que não tinham planejamento nem
padrões, processos e procedimentos para garantir e controlar a qualidade.
Neste contexto, as organizações desenvolvedoras e mantenedoras de softwares
passaram a se preocupar cada vez mais com a qualidade dos seus produtos, sendo necessário
estabelecer meios pelos quais a qualidade possa ser planejada, garantida e controlada. Uma
vez que a qualidade do processo afeta diretamente a qualidade do produto resultante, torna-se
primordial que as etapas pertinentes ao processo de obtenção do produto contenham padrões,
processos e procedimentos para se avaliar as características da qualidade durante as fases de
desenvolvimento e de manutenção.
Tendo em vista que a área de manutenção de software tem como um dos seus
grandes desafios a qualidade resultante da manutenção de seus produtos, levando em
consideração os prazos, os custos e os esforços determinados e, principalmente, as
necessidades do cliente.
Portanto, o objetivo deste trabalho é ressaltar que as boas práticas de gerenciamento
da qualidade podem ser aplicadas na fase de manutenção de software para auxiliar na
2

resolução de inúmeros problemas que são originados tanto nesta fase como na fase de
desenvolvimento, obtendo-se produtos e processos com maior qualidade baseada nas
premissas de se levar em conta as necessidades do cliente de modo a satisfazê-lo, assim como
os benefícios operacionais e administrativos que são proporcionados à organização e equipe
mantenedora.
Pretende-se atingir o objetivo deste trabalho por meio de um breve histórico da
evolução da qualidade; da descrição dos conceitos sobre qualidade, manutenibilidade e suas
características e fundamentos da qualidade; da citação de problemas remanescentes da fase de
desenvolvimento do software e dos que são provenientes da fase de manutenção, e por fim, a
interpretação das boas práticas de gerenciamento da qualidade.

2. GESTÃO DA QUALIDADE COMO UM DESAFIO À MANUTENÇÃO DE


SOFTWARE

A qualidade vem sendo discutida há vários séculos, sendo que a sua primeira
abordagem teve como foco a inspeção da qualidade do produto final, ou seja, uma vez que o
produto se encontrava finalizado, um grupo de fiscais procedia à inspeção de algumas
características, as quais possuíam valores limites predeterminados. Aquelas que após aferição
não se enquadravam dentro do limite esperado, resultavam em não conformidade.
A segunda abordagem veio para estabelecer o controle da qualidade, ou seja, o
monitoramente das taxas de não conformidades encontradas nas inspeções dos produtos
durante o seu desenvolvimento. Surge também a preocupação de medir os custos de
identificação das não conformidades e do retrabalho gerado pelas ações corretivas.
Na terceira abordagem o enfoque consiste em minimizar a introdução de elementos
não conformes durante o desenvolvimento do produto e para isto, foram criadas ações
preventivas. No período desta abordagem, mais especificamente a partir da década de 60,
iniciou-se a preocupação com a qualidade de software.
Atualmente, a qualidade está relacionada às necessidades e aos anseios dos clientes e
à gestão organizacional, como prevenção ao invés de inspeção, responsabilidade gerencial e
melhoria contínua, independente de ser desenvolvimento ou manutenção de um produto. Pois
não importa produzir o melhor software a um custo baixo e com os melhores processos, se o
resultado não atingiu a satisfação do cliente. Sendo assim, pode-se dizer que a gestão da
qualidade significa a busca pela eficiência e eficácia, através dos seus “processos que incluem
todas as atividades da organização executora que determinam as responsabilidades, os
3

objetivos e as políticas de qualidade, de modo que o produto atenda as necessidades que


motivaram a sua realização”. (PMBOK 2004, p.179).
A satisfação do cliente corresponde ao “entendimento, avaliação, definição e
gerenciamento das expectativas do cliente. Isto exige a combinação de conformidade com os
requisitos (produzir o que afirmou que produziria) e adaptação ao uso (produto deve satisfazer
as necessidades reais)”. (PMBOK 2004, p.181).
A prevenção sobre a inspeção significa que “o custo de prevenção de erros, em geral,
é muito menor que o custo de corrigi-los”. (PMBOK 2004, p.181).
A introdução da gestão da qualidade no processo de desenvolvimento e de
manutenção do software é de responsabilidade da alta direção da organização ou do próprio
responsável pela equipe gestora do software, ou seja, é de responsabilidade gerencial, como
afirmado pelo PMBOK (2004, p.181), onde “o sucesso exige a participação de todos os
membros da equipe, mas é sempre responsabilidade da gerência fornecer os recursos
necessários para que exista sucesso”.
Para fomentar a melhoria contínua, recomenda-se a utilização do ciclo PDCA como
método gerencial para análise e solução de problemas, permitindo a realização do controle da
qualidade. Como afirma o PMBOK (2004, p.181) “o ciclo PDCA é à base da melhoria da
qualidade”, visto ser um método que abrange as seguintes fases:
• Planejar (P, do inglês Plan): definir as metas, os métodos e os indicadores, sendo
que, estes dois últimos viabilizarão o alcance das metas;
• Executar (D, do inglês Do): executar o que foi planejado e capacitar às pessoas;
• Verificar (C, do inglês Check): verificar os resultados das tarefas executadas;
• Agir (A, do inglês Action): atuar corretiva e preventivamente.
Assegurar a qualidade dos softwares é um processo trabalhoso, uma vez que estes
são geralmente complexos, possuem requisitos implícitos e muitas vezes ambíguos e utilizam
representações variadas e inexatas. Somando-se a isto, durante o seu processo de
desenvolvimento, na grande maioria das vezes, as características da manutenibilidade não são
levadas em consideração, resultando em vários problemas que o afetarão futuramente.
A manutenibilidade é um dos fatores da qualidade de software, pois se refere à
facilidade com que um software pode ser adaptado, aprimorado e/ou corrigido para satisfazer
os requisitos especificados, conforme a vontade do cliente. As suas características, segundo
SWEBOK (2004, cap.6, p.6), são:
4

• Analisabilidade: medidas de esforço do mantenedor ou recurso gasto na tentativa


de diagnosticar deficiências ou causas de insucesso, ou na identificação de
funcionalidades a serem modificadas;
• Modificabilidade: medidas de esforço do mantenedor associadas à
implementação de uma determinada modificação;
• Estabilidade: medidas do comportamento inesperado de software, incluindo a que
se encontram durante os testes;
• Testabilidade: medidas de esforço do mantenedor e dos usuários na tentativa de
testar o software modificado.
Um exemplo clássico de problema ocasionado na fase de desenvolvimento e que se
propaga para a fase da manutenção é a documentação incompleta ou ausência da mesma,
sendo esta talvez o mais importante dos artefatos existentes para um software. Este problema
dificulta a compreensão do código-fonte e compromete a avaliação do impacto que a
modificação causará no software, afetando assim, diretamente a qualidade de um modo geral.
Outros dois problemas que também devem ser ressaltados são com relação à estruturação do
código-fonte e existência de inúmeras não conformidades, também denominadas de falhas,
erros ou defeitos.
De acordo com o SWEBOK (2006, cap. 1, p.7), defeito é “um passo, processo ou
definição incorreta”; falha é “o resultado incorreto de um defeito” e erro é “a diferença entre
um resultado computado e o resultado correto”.
A qualidade é “o grau com que um conjunto de características inerentes satisfaz as
necessidades (...) das partes interessadas”, conforme cita PMBOK (2004, p.180). Já para
CROSBY, 1979 apud MARSHALL, 2006, é a conformidade com as especificações. Ambas
as definições deixa explícito o fato de que é preciso um ponto de referência para avaliar a
qualidade de um software e de como fazê-lo, visto a necessidade de documentações para tal.
Após a implantação do software, outros problemas surgem e recaem na fase de
manutenção e estes também comprometem a qualidade. A lista abaixo apresenta alguns deles:
• Falta e/ou falhas de comunicação com o usuário e, até mesmo, entre a equipe
mantenedora e a organização;
• Constantes solicitações por novas funcionalidades e/ou mudanças de prioridades,
gerando sobrecarga de atividades;
• Ausência de padrões, metodologias e procedimentos de manutenção de software;
• Ausência de manutenção preventiva;
5

• Atraso na entrega, pois o prazo estimado não está de acordo com a complexidade
do negócio;
• Alta rotatividade dos membros da equipe e até mesmo, dos usuários principais,
ou seja, aqueles que detêm o conhecimento do negócio;
• Baixa ou falta de motivação dos profissionais por trabalharem com manutenção,
visto que esta possui o estigma de “tarefa não nobre”;
• Inclusão de novos erros;
• Testes mal realizados ou inexistentes.
Diante de tantos problemas característicos da manutenção de software, as
organizações ainda costumam exercer pressão sobre as equipes mantenedoras de software
para que a produtividade seja cada vez maior afim de que haja redução de custo operacional e,
em contrapartida, acaba ignorando a qualidade. Além disso, para que as demandas sejam
entregues o mais rápido possível, isto é, que as estimativas de esforços tenham o tempo
reduzido de forma com que se trabalhe mais com risco, aumentando a probabilidade da não
conformidade do software.
A gestão da qualidade se torna bastante desafiadora, visto que o problema não é
apenas desenvolver um software com qualidade e sim, fazer com que todos os softwares que
venham a ser produzidos e aqueles que já se encontram em manutenção tenham qualidade, a
qual deve atender e estar vinculada à satisfação do cliente, proporcionar a redução de custo,
principalmente das manutenções, e estabelecer padrões, procedimentos e processos a serem
seguidos e continuamente aperfeiçoados.
De modo geral, a grande maioria dos problemas mencionados, tanto aqueles que são
originados durante o processo de desenvolvimento como de manutenção, podem ser evitados
ou minimizados, através da aplicabilidade de processos de boas práticas pertencentes ao
gerenciamento da qualidade. De acordo com o PMBOK (2004), estes processos são: o
planejamento, a garantia e o controle da qualidade.
O planejamento da qualidade visa à “identificação dos padrões e especificações de
qualidade relevantes para o projeto e o produto e a determinação de como satisfazê-lo e medi-
los”. (MARSHALL, 2006, p.168). Sendo assim, para que sejam elaborados o plano de
gerenciamento da qualidade, plano de melhorias nos processos, as métricas de qualidade e a
listas de verificações da qualidade, deve-se levar em consideração os seguintes fatores: as
necessidades do cliente, para que se possa definir os requisitos e os critérios de aceitação; o
equilíbrio entre custo e benefício, com intuito de avaliar o quanto a produtividade aumentará,
6

o custo reduzirá e a satisfação do cliente crescerá com a utilização dos requisitos da


qualidade; e o custo da qualidade, que se refere ao investimento em prevenção para que se
evite a não conformidade e o não atendimento dos requisitos (retrabalho).
A garantia da qualidade é o “processo de auditoria dos requisitos da qualidade e dos
resultados das medições de controle da qualidade para garantir que sejam usados os padrões
de qualidade e definições operacionais (métricas) apropriados”. (MARSHALL, 2006, p.175).
Este processo promove a melhoria contínua de todos os processos da qualidade, a fim de
reduzir os desperdícios e as atividades sem valores agregados, contribuindo assim, para que os
processos operem com mais eficiência e eficácia. A auditoria verifica se todas “as atividades
estão de acordo com a política, os processos e os procedimentos” (PMBOK, 2004, p.189) pré-
estabelecidas pela empresa, visando registrar as conformidades e não conformidades e
recomendar as ações corretivas e/ou preventivas necessárias. O esforço a ser empregado para
corrigir o problema deve resultar numa redução no custo da qualidade e um aumento no
percentual de aceitação do produto pelo cliente.
O controle da qualidade se propõe a monitorar os resultados do projeto e do produto,
através de indicadores e métricas, para estabelecer o grau de conformidade de acordo com os
padrões e aconselhar as mudanças cabíveis. (MARSHALL, 2006). Além disso, deve
identificar maneiras de suprimir as causas de resultados insatisfatórios. Este processo tem
como técnica principal a inspeção, que determina através das listas de verificações, testes e/ou
revisões se o produto está em conformidade com os seus requisitos, e caso não esteja,
recomenda as ações corretivas, preventivas e/ou de reparo de defeitos.
Através dessas boas práticas, pode-se quebrar o paradigma de que qualidade é um
desafio em manutenção de software.

3. CONCLUSÃO

A utilização de boas práticas de gerenciamento da qualidade, como as recomendadas


pelo PMBOK (2004), vêm a apoiar e servir de condutor para as atividades a serem realizadas
em manutenção de software, disponibilizando processos que as organizações e/ou as equipes
mantenedoras podem dispor em sua totalidade ou pontualmente, dependendo do tipo de
manutenção.
O planejamento da qualidade viabiliza que sejam desenvolvidas as características do
software alinhadas com base nas necessidades do cliente, através da compreensão e
identificação dos processos e padrões que serão capazes de produzi-las. Contudo, ainda pode
7

se mencionar que o planejamento não se resume apenas a isto, o mesmo deve conter todas as
atividades de avaliação da qualidade de um software em manutenção, que por sua vez, devem
especificar não apenas “o que” será avaliado, mas também “quando”, “como” e “por quem”, e
também pode determinar os procedimentos para o processo do desenvolvimento em si, dentro
da manutenção, como: manutenção analisada e documentada antes de ser iniciada, código-
fonte revisado a cada término da atividade, implementação realizada de forma condizente com
as especificações, testes executados no momento que atividade é finalizada.
Para que o planejamento possa ser efetivo, é necessário aplicar e realizar as
atividades da garantia e controle da qualidade, pois cada uma das boas práticas interage umas
com as outras. Aliado a isto, a qualidade da manutenção de software deve estar atrelada não
apenas a avaliação do produto resultante da manutenção, mas ao acompanhamento de todo o
processo utilizado em sua obtenção, pois a cada manutenção realizada erros podem ser
introduzidos.
Torna-se essencial, portanto, seguir os processos estabelecidos para que seja
viabilizada não somente a melhoria contínua da qualidade do software e dos seus produtos, os
quais foram gerados a partir da manutenção, mas também dos próprios padrões, processos e
procedimentos, pois estes devem ser reavaliados constantemente. Neste contexto, a garantia
da qualidade trabalha em prol da atividade de auditoria, a qual verifica a aderência do produto
e das atividades em relação aos padrões e processos definidos no planejamento. Já o controle
da qualidade tem como foco as revisões e/ou os testes, os quais devem detectar os erros no
software, no produto da manutenção e nos documentos pertinentes a estes, e também listá-los
para que sejam solucionados. Sendo assim, as atividades de auditoria, revisão e teste
constituem um meio efetivo de se aperfeiçoar a qualidade da manutenção do software.
Tendo em vista o acima exposto, conclui-se que a gestão da qualidade empregada
corretamente e executada de maneira contínua na área de manutenção de software trás
grandes benefícios para todos os envolvidos, desde o cliente, a equipe mantenedora até para a
organização, tais como: redução do custo de manutenção, documentações mantidas sempre
atualizadas, agrega valor ao software, criação de métricas e índices para medir o processo de
manutenção, produto e software com maior qualidade, aprimoramento da estimativa de
esforço, maior controle das manutenções que estão em atendimento, capacitação dos
profissionais. Estes fatores atuando em conjunto promovem um declínio no número de não
conformidades e um aumento na produtividade das horas trabalhadas.
8

4. REFERENCIAL BIBLIOGRÁFICO

MARSHALL, I. J.; CIERCO, A. A.; ROCHA, A. V.; MOTA, E. B.; LEUSIN, S. Gestão da
Qualidade. 8.ed. Rio de Janeiro: FGV, 2006.