terça-feira, 16 de setembro de 2008

Requisitos: A Disciplina "Ágil" Esquecida I

Ser Ágil é fantástico.

Eu também quero ser ágil.

Sendo ágil vou conseguir aquele emprego bala na DELL ou na HP. Sendo ágil vou ter um monte de assunto para postar na minha lista de discussão. Sendo ágil vou ter assunto para blogar ad nauseam toneladas de non-sense magicamente validadas pela prefixação ou posfixação do adjetivo "Agile".

Sim. Estamos vivendo um hype. Mais um. A maior vítima deste hype acredito que seja o famoso Joe Six-pack (o nosso "Zé povinho"). O desenvolvedor, o testador e o analista medianos sem muito acesso a informação de qualidade ou mesmo sem muito embasamento crítico para separar o joio do trigo. E como, se isto já não bastasse, afogado em um mar de blogs, mail-lists, revistas técnicas e consultores. Ou seja a maioria de nós. E, ia me esquecendo, as organizações que pagam nossos salários.

É um problema razoavelmente complicado de se lidar. Como já falei anteriormente é muito fácil expressar uma opinião (e atingir seus 15 acessos únicos de fama) . Basta se logar no blogger e fazer um post do gênero testei-uma-feature-duca-da-metodologia-ágil-X-e-funcionou-que-uma-beleza-portanto-todos-deveriam-estar-utilizando-aliás-li-no-blog-do-fulaninho-que-o-RUP-é-cascata-e-não-sei-como-alguém-pode-usar-esta-naba. Ponho um bait no visão ágil ou no java free e pronto: estou a um passo do estrelato blogosférico. Quero dizer com isto que temos que ser mais criteriosos ao conteúdo que lemos na web.

Alguns anos atrás quando passávamos por um movimento em um extremo do ciclo, fomos brindados com o XP. Em paralelo à introdução deste movimento, estávamos vivendo o hype do RUP. E a semente para a mixórdia dos métodos ágeis estava plantada. Várias práticas se tornaram magicamente ágeis aos ventos do hype: desenvolvimento iterativo, integração contínua, refatoração contínua e design emergente, TDD, Pair Programming sem comprovação alguma que não seja a palavra do consultor "ágil". Mesmo que boa parte destas já tenha sido desenvolvida anos antes, mesmo que outras atualmente já não se mantenham em pé por si só à luz de provas empíricas.

No pico deste hype práticas foram condenadas a priori. Jogadas na vala comum junto com outros conceitos "novos obsoletos" também engolidos pela onda "ágil". Eliminar uma disciplina da Engenharia de Software das práticas de desenvolvimento por falta de conhecimento não significa que o problema deixou de existir. Substituir as funções desempenhadas pelas práticas previstas por esta disciplina pelo seu simulacro não quer dizer que se atingiu a maestria no desenvolvimento de software.

Chego ao ponto. Nesta mixórdia toda sobre métodos ágeis, venho dizer qual prática efetivamente ágil foi esquecida: Engenharia de Requisitos.

Esta é a deixa dos zelotes ágeis: "Mas como?!? Desde quando?!? Requisitos!??!?! Pilotar Word não pode!!!! E o manifesto ágil?!?".

Bom, este post já ficou grande demais. Fiquei só na síntese do contexto histórico. Continuo na seqüência.

Hasta.

0 comentários :