Quando o manifesto ágil foi lançado, a 14 anos, eu já programava profissionalmente a 16 anos e, pragmático, não dei muita atenção. Com o aumento da repercussão do manifesto, da criação da extreme programming e da cobrança entre meus pares me senti na obrigação de estudar o assunto mais a fundo. Li, assisti e ouvi um emaranhado de bobagens sob a nomenclatura de técnicas e metodologias ágeis. Algumas eram experimentos acadêmicos sem nenhum embasamento prático real, outros eram técnicas efetivas que já eram conhecidas e usadas desde muito antes do manifesto com uma roupagem diferente. Tinha alguma coisa de novidade boa realmente, fruto da experiência e bom senso, mas que por si só não merecia ser definido como metodologia. Quando li o livro "Scrum and XP from the Trenches" eu realmente desisti de aplicar de forma sistemática essas técnicas em minha equipe pois reforçou minha percepção de que a aplicação dessas técnicas exigiria ambientes bem especializados e um nível de experiência muito alto entre todos os desenvolvedores. Ou seja: não é que não funcionasse, mas para funcionar sairia muito caro, talvez mais caro do que uma abordagem mais tradicional. Achei inviável.
Delegação de tarefas e documentação
Uma equipe bem equilibrada deve ter desenvolvedores experientes, pouco experientes e inexperientes e a distribuição de tarefas deve seguir algumas regras bem definidas e claras para todos, de modo a ponderar tanto as competências quanto o conforto e o custo. Por exemplo: delegar tarefas básicas ou enfadonhas para desenvolvedores experiência é um convite ao desestímulo. Delegar tarefas complexas a desenvolvedores inexperientes é um convite ao desastre.A busca pelo graal da agilidade fez outra baixa importante: a documentação. Sob a égide de ser ágil, decretou-se a morte da documentação. Tarefas passaram a ser delegadas 'de boca' e executadas sem nenhuma documentação. Ok, ok... metodologias formais demais, derivadas de ambientes paquidérmicos pregavam uma formalização absolutamente desnecessária no processo de desenvolvimento. De fato, nos primórdios :-), a delegação de tarefas, especificações funcionais e técnicas que nunca mais seriam lidas eram realmente criadas com um rigor e formalização absurdos e isso criou uma certa repulsa, revolta, que acabou criando a cultura do protótipo no guardanapo.
Testes e Integração Contínua
Apesar de desprezar a aplicação de testes unitários demais em sistemas de uso geral, penso que a visão inicial de automação dos testes unitários foi o que deu origem à visão mais pragmática e realista dos testes funcionais automatizados.A integração contínua foi uma grande ideia. Não necessariamente, mas preferencialmente, conectados, a integração contínua e os testes automatizados criam um ambiente de relativa 'tranquilidade' no dia a dia do desenvolvimento. Talvez esses tenham sido os grandes legados da era 'ágil'.
Nenhum comentário:
Postar um comentário