Ricardo Bicalho 15 anos e meio atrás
Houve um feedback muito positivo sobre os posts relacionados a engenharia de software e projetos. É impressionate como as empresas e obviamente, as pessoas que fazem parte delas, continuam cometendo os mesmos erros. E mais, são erros tão comuns que não importa a tecnologia. Prazos muito curtos, estimativas completamente erradas, requisitos mutantes, gambiarra e fracassos, muitos fracassos.
O The Standish Group publica um relatório chamado The Chaos Report e mostra o cenário da indústria de software:
- Aproximadamente 18% do projetos são cancelados por atrasos e orçamento estourados.
- Aproximadamente 52% dos projetos estouram o orçamento e/ou o prazo.
- Aproximadamente 30% de todos os projetos de TI atingem seus objetivos dentro de prazo e custo estimados.
Se apenas 3 de cada 10 projetos dão certo, o que raios está havendo com os outros 7? A taxa de falhas é enorme e não há comparação com outros tipos de indústria e os motivos já foram descritos em inúmeros livros e um deles é: software é abstrato.
Quando alguém pede para colocar rodas de liga leve no carro, espera pagar por isso. O objeto “roda de liga leve” pode ter sua qualidade analisada imediatamente: menor peso, mais bonito, etc. A mesma lógica não funciona para software, já que ele não existe no mundo físico, é texto que magicamente faz alguma coisa acontecer dentro do computador.
“…colocar uns botões dinâmicos aqui, sem refresh… poderia ser em Flash ou quem sabe Silverlight. Hum… será que Flex seria vantajoso? Vamos fazer em Flex. Se ficar ruim, tentamos Flash e/ou Silverlight. Mas não pode atrasar!”
O que assusta muita gente é que não há linguagem, framework, ferramenta ou plataforma que resolvam problemas que estão além da tecnologia. As metodologias de desenvolvimento ágil como o Iconix, Scrum e XP tem o mantra “embrace change”, ou seja, não lute contra mudanças, mas integre-as ao seu dia a dia. Apesar disso parecer uma novidade, não é. Esse tipo de busca já havia sido objeto de pesquisa e análise nos anos 60 e 70 do século passado.
E o que é mais interessante. A lista que vou apresentar abaixo é antiga e muita gente lê e diz: nossa, verdade.
Agora, dos listagem acima, quantos deles o PHP, Ruby on Rails, Java ou .Net possuem influência?
Nenhum. São atividades que precedem a escrita do código e a escolha da tecnologia. Todas circulam em torno de Planejamento. Há um enorme vício em começar a trabalhar sem planejamento algum. É impressionante como o importante é sempre o mantra “começar o desenvolvimento o mais rápido possível”. É o velho pensamento de que se não há código, não há progresso.
Se traçarmos um paralelo com o mundo real, é como começar a construir um prédio, sem saber quantos andares ele vai ter.
Fonte: Bicalho’s Memory About Fraked Up Projects