INTRODUÇÃO
Neste
trabalho será abordado o termo crise do software que foi utilizado nos anos 70
para descrever uma crise existente no período, por haver uma grande demanda por software,
complexidade de problemas e inexistência de técnica de desenvolvimento para
serem aplicadas, ocorreu dessa forma um grande caos. Os problemas que
originaram essa crise tinham relacionamento direto com a forma de trabalho das
equipes, pois a engenharia de software era praticamente inexistente.
CRISE DO SOFTWARE
A
crise do software foi um termo utilizado nos anos 70, quando a engenharia de
software era praticamente inexistente. O termo expressava as dificuldades do
desenvolvimento de software frente ao rápido crescimento da demanda por
software, da complexidade dos problemas a serem resolvidos e da inexistência de
técnicas estabelecidas para o desenvolvimento de sistemas que funcionassem
adequadamente ou pudessem ser validados.
A
noção da crise do software emergiu no final dos anos 60. Uma das primeiras e
mais conhecidas referências ao termo foi feita por Edsger Dijkstra, na
apresentação feita em 1972 na Association for Computing Machinery Turing Award,
intitulada "The Humble Programmer" (EWD340), publicada no periódico
en:Communications of the ACM.
Logo
que o desenvolvimento de software começou a caminhar com o advento das
linguagens estruturadas e modulares, uma situação tornou-se clara diante de
todos: a indústria de software estava falhando repetidamente na entrega de
resultados dentro dos prazos, quase sempre estourando os orçamentos e
apresentando um grau de qualidade duvidoso ou insatisfatório.
Em
um relatório de 1969 [Naur+1969], esse problema já havia sido reconhecido.
Conforme foi observado, cerca de 50 a 80% dos projetos nunca foram concluídos
ou estavam tão longe de seus objetivos que foram considerados fracassados. Dos
sistemas que foram finalizados, 90% haviam terminado 150 a 400% acima do
orçamento e dos prazos predeterminados [Wallnau+2002].
Os
problemas que originaram essa crise tinham relacionamento direto com a forma de
trabalho das equipes. Eram problemas que não se limitavam a "sistemas que
não funcionam corretamente", mas envolviam também dúvidas sobre como
desenvolver e manter um volume crescente de software e ainda estar preparado
para as futuras demandas. Essencialmente, eram sintomas provenientes do pouco
entendimento dos requisitos por parte dos desenvolvedores, somados às técnicas
e medidas pobres aplicadas sobre o processo e o produto, além dos poucos
critérios de qualidade estabelecidos até então [Pressman2004].
A
palavra crise já tem sido discutida por não descrever exatamente o problema em
questão. Uma definição mais precisa talvez seja aflição crônica, pelas características
de continuidade e intermitência dos sintomas [Pressman2004].
Todos
esses fatores exigiram respostas e métodos que foram sendo aprimorados e
documentados, dando início à área de Engenharia de Software. A busca por
eficiência e competência revelou oportunidades, desafios e perigos que guiaram
as tecnologias e apontaram novos rumos para as pesquisas.
A CRISE DE SOFTWARE E A IDADE MÉDIA
Para
compreender melhor as origens da Crise de Software, podemos fazer uma
comparação muito interessante com a história das outras indústrias. Por
exemplo, antes da revolução industrial, os sapatos eram feitos de forma muito
individual. Nesses tempos mais remotos, os sapateiros faziam cada par de
sapatos de forma única para cada cliente, desde a obtenção da matéria prima até
o produto final.
As
semelhanças com a indústria de software começam logo aí. Primeiro, porque as
técnicas de desenvolvimento de software ainda não estão totalmente maduras e
consolidadas. Afinal, a variedade de técnicas que surgiram nas últimas décadas
é enorme.
Em
segundo lugar, existe uma tendência muito forte em desenvolver software sem
aproveitar o material produzido no passado. E para piorar, além de entregá-lo
quase sempre mal documentado, a maior parte do conhecimento envolvido na sua construção
permanece apenas na cabeça dos desenvolvedores, o que deixa a situação muito
parecida com a do sapateiro do exemplo.
CAUSAS DA CRISE DE SOFTWARE
As
causas da crise do software estão ligadas a complexidade do processo de
software e a relativa imaturidade da engenharia de software como profissão:
•
As estimativas de prazo e de custo frequentemente são imprecisas
•
Não dedicamos tempo para coletar dados sobre o processo de desenvolvimento de
software;
•
Com poucos dados históricos como guia as estimativas tem sido a olho, com
resultados previsivelmente ruins;
•
A produtividade das pessoas da área de software não tem acompanhado a demanda
por seus serviços;
•
Os projetos de desenvolvimento de software normalmente são efetuados apenas com
um vago indício das exigências do cliente;
•
A qualidade de software às vezes é menos que adequada o Só recentemente começam
a surgir conceitos quantitativos sólidos de garantia de qualidade de software;
•
O software existente é muito difícil de manter o A tarefa de manutenção devora
o orçamento destinado ao software; o A facilidade de manutenção não foi
enfatizada como um critério importante.
.
A crise se manifesta de varias formas:
•
Projetos estourando o orçamento;
•
Projetos estourando o prazo;
•
Software de baixa qualidade;
•
Software muitas vezes não atingia os requisitos;
•
Projetos ingerenciáveis e o código difícil de manter.
A
maior parte dos projetos continuam com estes problemas ainda na atualidade,
assim pode se dizer que a crise continua vigente ainda na atualidade.
As
possíveis soluções para a crise de software:
•
O uso de melhores técnicas, métodos e ferramentas; • Mais treinamento e
educação: Atualmente não se investe o suficiente;
•
A mudança de paradigma sobre o que é desenvolver software e como deveria ser
feito.
CONCLUSÃO
A
demora ao reconhecer a existência de um problema, foi um dos principais fatores
para a crise outro fator foi à falta de técnica ou tecnologia para
regulamentação da forma de se produzir um software. Podemos observar que toda a
tecnologia quando esta no seu inicio e inesperadamente cresce pode-se perder o
controle sobre ela, quando a mesma não possui normas que a regulamente, ou não
haja estrutura para suporta-la.
Houve
também além da inexistência de técnica de desenvolvimento, atraso na entrega
dos projetos, aumento de custos para o desenvolvimento, esta crise ainda esta
nos meados deste século, pois, muitas empresas ainda não adotaram metodologias
eficientes para que venham a produzir corretamente e se manterem no mercado
vários projetos e softwares entram em descontinuidade, deixando os seu usuários
a ver navios, tendo que optar por novos softwares e adaptações.
REFERENCIAS
ENGENHARIA DO SOFTWARE, crise do Software. Disponível em: http://trabalhoengenhariasoftware.wordpress.com/2-a-crise-do-software-e-sua-origem. Acesso em 23/02/2014.
A crise do Software. Disponível em: http://www.clipatecinformatica.com.br/2011/02/crise-do-software.html. Acesso em 23/02/2014.
A crise do Software. Disponível em: http://www.semeru.com.br/blog/category/crise-do-software. Acesso em 23/02/2014.