Sei sulla pagina 1di 3

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
freqüentemente 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.
Exercícios: 1. Baseado no artigo o que seria necessário aplicar para evitar a
Crise do 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. 2. Em
sua opinião, estamos ainda em uma Crise de Software? Comente sua resposta.
Sim, a engenharia de software ainda precisa evoluir para atingir patamares
similares a outras engenharias. Os projetos de software ainda estão sujeitos a
fracassos e é importante que sejam mantidas pesquisas com o objetivo de gerar
novos processos e padrões para facilitar seu desenvolvimento. 3. Em sua
opinião, a comparação entre a fabricação de sapatos e de software procede?
Comente sua resposta. Sim, pois o fato da maioria dos software serem feitos
sob medida, insere um complicador em seu desenvolvimento. 4. Qual o objetivo
da Engenharia de Software? A busca por eficiência e competência no
desenvolvimento de softwares. 5. Segundo a Engenharia de Software, o que é
um software de baixa qualidade? Software sem documentação e com código
desorganizado que não permite a extensibilidade. 6. O fato de o Software ser
feito sob encomenda é um complicador? Torna a construção, de certa forma,
artesanal? Comente sua resposta. Sim, cada software deve ser construído de
forma única. Ele é desenvolvido através do conhecimento e experiência dos
analistas, projetistas e programadores. A criatividade é peça fundamental neste
desenvolvimento. 7. Em sua opinião, existem outras possíveis soluções para a
crise de software além das descritas neste artigo? Sim, a busca por novos
processos e a utilização de técnicas de gerenciamento de projetos.

Potrebbero piacerti anche