|
|
|
O Problema
No início, os programadores
conversavam com os clientes e geravam código .baseado no
que eles entendiam das necessidades deles. Se o sistema fosse pequeno
e o programador esperto, este processo acabava convergindo para
algo que o cliente gostasse o suficiente para usar. Porém,
a manutenção dos sistemas gerados era totalmente dependente
do programador original e o código era, normalmente, de baixa
qualidade. Além disso, em projetos maiores, que exigissem
uma equipe de desenvolvimento, este processo artesanal simplesmente
não funcionava.
Depois vieram os processos. Análise
Estruturada, Análise Essencial, RUP. Foram tantos ! Todos
prometiam a mesma coisa: livrar a criação de software
do elemento humano. Tornar o desenvolvimento em um processo semi-automático
baseado em uma rigorosa formalização. Mas o fato é
que o desenvolvimento de software é um processo criativo
que não é ajudado em nada pelo excesso de burocracia.
Desenvolver software se tornou caro e ineficiente. Mas quando a
formalização não atingiu os resultados esperados
a solução invariavelmente foi "o processo ainda
está frouxo demais, aumentemos o grau de formalização!".
A Solução
Entre o desenvolvimento artesanal
desenfreado e os processos burocratizados existem muitos graus de
variação. É possível desenvolver software
ou prestar serviços de suporte de maneira organizada sem
apelar para a burocracia. Mas isto exige uma compreenção
mais profunda de como as pessoas realmente trabalham de maneira
produtiva.
Selecionei alguns textos
que podem apontar para a direção correta.
|
|