A seleção de um modelo de ciclo de vida inadequado não é uma exclusividade dos projetos de implementação SOA. Estão em todos os lugares, em todos os tipos de projetos. De sistemas transacionais a projetos de BI (Business Intelligence). É impressionante nossa incapacidade para assimilar uma forma diferente de elaborar a solução de problemas.
É fato que em nenhum projeto teremos uma base consolidada e perene de requerimentos. Ainda mais nas fases iniciais. Quando adotamos o modelo 'cascata' (que no popular significa MENTIRA) estamos nos obrigando a compreender TODOS os requerimentos do projeto em seus primeiros dias (semanas ou meses, tanto faz). Pior: estamos obrigando nossos 'fregueses' a terem TOTAL domínio de tudo que eles esperam do sistema! Aí a gente finge que entende e eles fingem que estão seguros. Cascata!!
Um modelo de ciclo de vida para desenvolvimento de sistemas que seja iterativo (cíclico) e incremental faz mais sentido em 99,99% dos projetos. Por duas razões muito básicas:
1. Ao invés de punir o erro, tal modelo incentiva sua ocorrência. Força que os erros ocorram o quanto antes (quando são muito mais baratos, $$ e emocionalmente falando).
2. O 'freguês' ganha contato com seus 'produtos' logo no início do projeto, ao contrário do que ocorre nas 'cascatas' e afins. Não há artefato melhor para o 'freguês' acompanhar a evolução do projeto do que o próprio Software, oras!
A principal barreira que impede a adoção de modelos iterativos e incrementais é cultural. Incentivar erros!?!? Desde o pré-primário somos punidos e avaliados pelos erros que cometemos. Como inverter tal lógica nessa altura do campeonato?
Não será fácil. Mas é necessária. E não é nada que boas conversas com o 'freguês' e toda a equipe do projeto não resolva.
Moral da história: "O que é combinado não é caro."
O Graffiti mudou!
Visite a nova versão em pfvasconcellos.net
0 responses to "SOA - Mistake #6: Waterfall SOA projects"
Leave a Reply