Anda di halaman 1dari 11

O DESAFIO DE CRIAR SOFTWARES CORRESPONDENTES S EXPECTATIVAS

DOS CLIENTES

Ricardo Soares

Resumo: Este artigo apresenta as dificuldades em se criar softwares de qualidade que


satisfaam as necessidades dos clientes, tendo como objetivo identificar falhas e pontos de
melhoria nos processos de desenvolvimento de aplicaes e servios de TI, alm de propor
prticas e mtodos na rea de qualidade de software que ajudem a trazer resultados positivos
na aplicao final. Atravs deste artigo, notamos o crescente uso de modelos como o CMMI e
o MPS.BR nas empresas brasileiras, demonstrando que a melhoria no produto final (software)
vem por meio da definio, gerenciamento e otimizao dos processos envolvidos ao longo
do ciclo de vida da aplicao.

Palavras-chave: Qualidade de software. Cliente. Melhoria de Processos.

1 INTRODUO

O processo de criao de um software enfrenta diversos desafios durante a construo


da soluo. Porm, nenhum deles se compara ao objetivo principal para se conseguir o
sucesso: a aplicao deve atender s expectativas criadas pelo cliente, algo que, na maioria
das vezes, no obtido. Por que to difcil construir uma aplicao ou servio de TI que
consiga atingir e manter um alto nvel de satisfao do cliente?
O sucesso pode ser medido de forma quantitativa de resultados esperados, tais como
reduo do oramento de pessoal, reduo do tempo de entrega de produtos ou reduo de
multas tributrias e trabalhistas. Entretanto, se o resultado for medido por pesquisa de
satisfao dos usurios provvel que o resultado seja um desastre. Vrias pesquisas apontam
a insatisfao dos usurios pelos novos sistemas implantados. Algumas pesquisas mostram
que 7 entre 10 projetos de TI falham na percepo dos usurios. Quando maior for o projeto
de TI maiores so as chances de fracasso.

Em 1995 uma pesquisa do Standish Group mostrava que 31,1% dos projetos de TI
eram cancelados antes de serem concludos e apenas 16,2% dos projetos de software eram
concludos dentro do prazo e oramento. (FAGUNDES, 2012)

O crescimento do setor de desenvolvimento de softwares na economia de diversos


pases tem evidenciado s empresas a essencialidade de aprimorar mtodos e tcnicas que
promovam melhorias na qualidade com que seus servios so prestados. categrico afirmar
que um bom atendimento aos seus clientes um fator de diferenciao competitiva, ao mesmo
tempo em que, um servio prestado de forma inadequada gera uma grande insatisfao por
parte de quem comprar o produto, alm da criao de uma fama ruim no meio corporativo.
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. Buscaremos entender o conceito e o processo de garantia da
qualidade de software.

Segundo Bartie (2002), Qualidade de Software um processo

sistemtico que focaliza todas as etapas e artefatos produzidos com o objetivo de garantir a
conformidade de processos e produtos, prevenindo e eliminando defeitos, podemos citar
tambm a definio dada pela norma internacional ISSO/IEC 9126, publicada em 1991, e que
na verso brasileira de agosto de 1996 recebeu no nmero BR 13596, onde qualidade
de software a totalidade de caractersticas de um produto de software que lhe
confere a capacidade de satisfazer necessidades explcitas e implcitas.

Este artigo tem como finalidade principal analisar as principais causas do


descontentamento dos clientes ao utilizar um produto de software, assim como apresentar
medidas e prticas que melhorem este panorama. Sero identificados e analisados os
principais motivos de reclamaes dos clientes ao utilizar softwares/servios encomendados;
as falhas nos processos das empresas de software, os quais contribuem para a queda na
qualidade da aplicao e dos servios prestados. Ao final sero apresentadas solues que
favoream a melhoria na qualidade de software e, consequentemente elevem o nvel de
satisfao dos clientes, identificando tambm os empecilhos na implantao de prticas de
melhoria de qualidade de software.
A pesquisa a ser realizada neste trabalho ser quantitativa e tambm qualitativa,
utilizando-se como base de pesquisa, artigos na rea de qualidade de software, permitindo
inferir panoramas e a organizao atual das empresas de desenvolvimento de software,
buscando resultados para as empresas de desenvolvimento de software brasileiras.

Este artigo estruturado da seguinte forma: a prxima seo responsvel por


apresentar os conceitos, dificuldades de medio e caractersticas desejveis qualidade de
software importantes para o entendimento do foco deste trabalho. A seo quatro traz tona
os principais problemas encontrados no processo de desenvolvimento de software, desde sua
construo at a manuteno e suporte, alm de apresentar solues prticas baseadas em
modelos de qualidade de software que possuem resultados comprovados na melhoria dos
processos das empresas e, consequentemente, maior satisfao de seus clientes. Na seo
cinco so demonstrados, atravs de pesquisas, os resultados da aplicao dos modelos
propostos na seo anterior.

2 QUALIDADE DE SOFTWARE

No contexto de desenvolvimento de software, qualidade pode ser entendida como um


conjunto de caractersticas a serem satisfeitas em um determinado grau, de modo que o
produto de software atenda s necessidades explcitas e implcitas de seus usurios.
Entretanto, no se obtm qualidade do produto de forma espontnea. Ela tem de ser
construda. Assim, a qualidade do produto depende fortemente da qualidade de seu processo
de desenvolvimento. (DUARTE; FALBO, 2000, p. 3).
Para avaliar a qualidade, preciso haver meios de medi-la, ou seja, preciso obter
uma medida que quantifique o grau de alcance de uma caracterstica de qualidade. Assim,
para computar uma caracterstica de qualidade, necessrio estabelecer uma mtrica capaz de
quantific-la e fazer uma medio para determinar a medida, resultado da aplicao da
mtrica. Por exemplo, digamos que se deseja saber o tamanho de determinado produto de
software. Ento, a mtrica utilizada poderia ser nmero de linhas de cdigo. A medio
poderia ser contar o nmero de linhas de cdigo, desconsiderando comentrios, de cada
programa contido no software. E a medida seria o nmero obtido na medio, uma
quantidade, por exemplo, 5000 linhas de cdigo. (DUARTE; FALBO, 2000, p. 3).
Muitas vezes, caractersticas de qualidade no podem ser medidas diretamente atravs
de mtricas, sendo necessrio decomp-las em subcaractersticas. Assim, h caractersticas
que so diretamente mensurveis e outras que so apenas indiretamente mensurveis. Uma
caracterstica diretamente mensurvel possui uma mtrica correlacionada, qual, atravs de
uma medio, se aplica uma medida. As caractersticas indiretamente mensurveis podem ser

descritas em termos de outras caractersticas, sendo calculada, em ltima instncia, via


caractersticas diretamente mensurveis. (DUARTE; FALBO, 2000, p. 3).
Desta forma, certa caracterstica indiretamente mensurvel pode ser computada de
diferentes maneiras, em funo das subcaractersticas escolhidas, j que essa escolha , muitas
vezes, funo da fase do processo ou artefato para o qual as subcaractersticas esto sendo
aplicadas, do paradigma ou da tecnologia de desenvolvimento. Em outras palavras, diferentes
mtricas podem ser aplicadas, dependendo da atividade do ciclo de vida ou do artefato ao qual
se aplica. Em todos os casos, contudo, h de se respeitar a pertinncia em relao ao
paradigma e tecnologia de desenvolvimento, adotados no desenvolvimento.
Processos possuem caractersticas de qualidade prprias, tais como desempenho,
estabilidade e capacidade, mas informaes sobre a qualidade do produto gerado podem ser
tambm importantes na avaliao do processo, uma vez que a baixa qualidade do produto
pode ser um reflexo de falha ou inadequao do processo utilizado. Assim, caractersticas de
qualidade do processo podem ser computadas a partir de caractersticas de qualidade do
produto. O contrrio, contudo, no possvel. Ou seja, caractersticas de qualidade do produto
s podem ser computadas a partir de outras caractersticas de produto. (DUARTE; FALBO,
2000 p. 4).
Por outro lado, a grande dificuldade da indstria de software e a sua abordagem
voltada ao produto final esto relacionadas medio da qualidade desse servio. Em funo
desta necessidade, foi desenvolvida a norma ISO/IEC 9126 que define seis categorias de
caractersticas desejveis a qualidade do software (Quadro 1).

Quadro 1 - Caractersticas desejveis qualidade do software

Fonte: ISO/IEC 9126 1

3 PROBLEMAS E SOLUES REFENTES QUALIDADE DE SOFTWARE

Alm dos problemas que os usurios percebem que so causados por diversos fatores
como falta de definio clara dos requisitos, no execuo de testes de software de forma

adequada, falta de capacitao das pessoas, entre outros, as organizaes que desenvolvem os
softwares tambm possuem diversos problemas internos devido a no existncia de uma
gesto de processos em nveis adequados. Muitos desses problemas so tambm conhecidos
da indstria, mas que com uma atuao forte da implementao de Sistemas de Gesto
adequados a normas como a srie da ISO 9000, ISO/TS 16949 minimizaram
significativamente este tipo de problemas. Entre estes problemas citamos os mais
significativos e que se manifestam em diversas organizaes de software. So eles:
cronogramas no observados e consequentemente prazos de projetos em nveis de
50% de no atendimento;
25% dos projetos de software falham ou so abandonados pela existncia de
dificuldades e erros;
mdulos de software no funcionam corretamente quando interagem entre si;
programas que no fazem o que era esperado ou com uma eficcia no adequada ao
usurio;
programas difceis de serem utilizados e entregues com defeitos (15% dos defeitos
permanecem no produto entregue ao cliente);.
30% a 44% do tempo so utilizados para retrabalho nas companhias (tempo noprodutivo); e
programas que param de funcionar sem motivo aparente. (LOPES; DE FREITAS,
2006, p.1).

Um processo de desenvolvimento de software pode ser visto como um conjunto de


atividades, padres, mtodos, ferramentas e prticas que so utilizadas para construir um
produto de software. Segundo Humphrey (1990), um processo de software um conjunto de
tarefas de engenharia de software necessrias para transformar os requisitos dos usurios em
software.
O foco no processo de software relevante, uma vez que a garantia na qualidade do
processo reflete, por sua vez, na qualidade do produto. A qualidade de software no acontece
espontaneamente, e sim por meio de um conjunto de procedimentos cuidadosamente
observados ao longo do processo de desenvolvimento do software (ROCHA e CAMPOS,
1993).

Alguns modelos estruturam o processo de desenvolvimento do software em reas


especficas e avaliam ou recomendam melhoramentos nessas reas, buscando explicar em
detalhes como se desenvolve um software:
a) SO9000-3: Diretivas para Aplicao da srie ISO9000 em Processos de Software;
b) ISO15504: SPICE - Software Process Improvement and Capability Etermination;
c) CMMI: Capability Maturity Model Integration; e
d) PSP: Personal Software Process.
e) MPS.BR Melhoria de Processo de Software Brasileiro

Os modelos de melhoria de processo trabalham com etapas que vo desde a


comercializao at o suporte ao longo da vida do produto. Pode-se dividir, de forma
simplificada, o processo de produo de um software sobre os aspectos de servio, em
contratao, desenvolvimento e suporte. Em cada uma dessas etapas ficam evidentes alguns
aspectos de qualidade de servio, embora, a percepo do cliente, quanto s caractersticas do
servio, fica dissociadas atravs do processo de prestao. Os aspectos que so considerados
relevantes para a qualidade no processo do servio de software podem ser vistos ao longo do
processo, nas etapas de contratao, desenvolvimento e suporte:

a) Contratao: Nesta etapa, critrios como competncia, atmosfera, custo e flexibilidade


so fundamentais para uma negociao efetiva e proveitosa para ambas as partes.
Adicionalmente, certificaes de qualidade, ambiente profissional e adaptabilidade dos
produtos podem ser fundamentais para a realizao do contrato.

b) Desenvolvimento: Evidenciam-se nesta etapa critrios como a velocidade de atendimento,


a consistncia e os aspectos tangveis. A rapidez no desenvolvimento, a garantia da entrega do
sistema conforme especificado e sua tangibilizao atravs da entrega do sistema tendem a
facilitar a avaliao positiva do cliente com relao ao servio prestado.
c) Suporte: To importante quanto entregar o sistema garantir que ele seja usvel ao longo
do tempo. Esta afirmao suportada por Krishnan (1995) quando afirma que nos produtos de
software, a satisfao de cliente uma funo da qualidade do produto e da qualidade do
suporte oferecido. Uma pesquisa do mesmo autor conclui que a rapidez da resposta princidentes reportados pelo cliente e a qualidade da soluo fornecida so os principais
determinantes da qualidade do servio no suporte.

Tanto o modelo SPICE quanto o CMMI apresentam em suas etapas pontos de controle
que permitem uma avaliao do processo de forma a verificar a eficincia deste em relao
aos aspectos de qualidade do servio. Esses pontos garantem ao servio de software uma
condio especial de avaliao em tempo real que busca minimizar o risco do no sucesso do
desenvolvimento e aumentar a percepo do cliente quanto qualidade oferecida.

5 RESULTADOS

Resultados expressivos, quando da aplicao de normas ou modelos de maturidade em


processos de software, podem ser observados na Figura 1. So resultados de empresas que
adotaram como padro de atuao o modelo CMMI, um dos mais difundidos e aplicados
mundialmente, incluindo o Brasil.

Figura 1 - Principais resultados de atuao em melhoria de processos

Fonte: CMMI Consultant, 2014.

Os resultados acima no so obtidos somente fora de nosso pas. Os dados seguintes


so resultados tambm obtidos por empresas brasileiras que esto levando a srio a
implementao de um modelo de gesto. Como exemplo, podemos visualizar o crescente
nmero de empresas que adotaram o MPS.BR no Brasil com resultados como apresentados na
Tabela 3.

Tabela 2 - Principais resultados de atuao em melhoria de processos no Brasil

Fonte: SOFTEX, 2009

6 CONCLUSO

Em sntese, o foco no processo de software relevante uma vez que a garantia da


qualidade do processo reflete na qualidade do produto. Sendo assim, a qualidade do servio
de software no acontece por si s, mas por meio de um conjunto de procedimentos
gerenciados ao longo do processo de desenvolvimento do software.
Apesar dos processos, mtodos, ferramentas e pesquisas sobre o desenvolvimento de
software com qualidade, nos dias de hoje ainda existe software sendo desenvolvidos e outros
j instalados que apresentam problemas de qualidade. A engenharia de software at o
momento parece ser a cura de todo o mal, no entanto, observa-se que essa crise de software
iniciou na dcada de 60 e at ento no se obtive solues definitivas para o problema.
As empresas ou equipes de desenvolvimento precisam adotar processos que a
engenharia de software sugere como um padro para a criao de um produto de qualidade.
importante destacar que esses processos precisam passar por modificaes ao longo do tempo
para atender as necessidades de cada empresa ou equipe. Provavelmente, esse seja um

caminho para soluo dos problemas ou, pelo menos, diminuio do ndice de software de
baixa qualidade.

THE CHALLENGE OF CREATING SOFTWARE ACCORDING THE EXPECTS OF


THE CLIENTS

ABSTRACT: Este artigo apresenta as dificuldades em se criar softwares de qualidade que


satisfaam as necessidades dos clientes, tendo como objetivo identificar falhas e pontos de
melhoria nos processos de desenvolvimento de aplicaes e servios de TI, alm de propor
prticas e mtodos na rea de qualidade de software que ajudem a trazer resultados positivos
na aplicao final.

This article presents the dificulties to create softwares with quality that satisfies the needs of
the clients, having as the subject, identify failures and improvement points in the applications
development processes and IT services, besides offering practices and methods in the
software quality area that help to bring positives results to the final application.

Keywords: Software Quality. Client. Processes Improvement.

REFERNCIAS

LOPES, Mateus Bruno Teixeira; DE FREITAS, Cleiton Eloi. A importncia do processo de


garantia de qualidade de software. Viosa, 2011.

DONADEL, Andr Coelho; SANTOS, Jane Lucia Silva; DE SOUZA, Leonardo Leocdio;
VARVAKIS, Gregorio. Qualidade no desenvolvimento de software: uma abordagem a
partir da qualidade de servios. Florianpolis, 2009.

DUARTE, Ktia Cristina; FALBO, Ricardo de Almeida. Uma ontologia de qualidade de


software. Vitria, 2000.

ZABEU, Ana Ceclia Peixoto; JOMORI, Sergio Massao; VOLPE, Renato Luiz Della. A
importncia da qualidade no desenvolvimento de software. 2006. (Banas Qualidade).
Edio Especial.

CABRAL, Ademilson Angelo; DA SILVA, Diego Bezerra; DE SOUZA, Alan Pinheiro. A


problemtica no desenvolvimento de software: crise ou calamidade crnica? Trs
Lagoas, 2014.

FAGUNDES, Eduardo. Um projeto de TI tem mais chances de falhar do que ter sucesso.
Disponvel em: http://efagundes.com/wp-blog/index.php/um-projeto-de-ti-tem-mais-chancesde-falhar-do-que-ter-sucesso/ . Acesso em out. 2014.

BARTI, A. Garantia de Qualidade de Software. Edio: 2002, Campus