Agile

16 ago, 2010

Metodologia ou Religião?

Publicidade

A última publicação do Fabricio Vargas falando sobre o Juramento de Não-Lealdade
levantou certos comentários em algumas listas que divulgamos, que me
fizeram pensar por que em uma área puramente de exatas como a nossa
existem tantos “religiosos” e “fanáticos“.

Em se tratando de religião, eu já não consigo entender muito bem por que
muitas pessoas não respeitam uma fé diferente da sua. Com isso, cria-se
uma briga entre os dois lados que nunca vai chegar a lugar nenhum,
enquanto Deus, Alá, Buda ou Shiva não aparecerem diante de todos
esclarecendo os fatos. Briga essa que às vezes gera mais discussão do
que a própria religião.

Ainda em termos de religião, posso até dizer que é esse tipo de discussão é compreensível (ainda que eu não consiga entender). Mas como explicar esse tipo de comportamento no setor de informática?
Por que muitas pessoas não aceitam que as diferentes tecnologias e
metodologias podem coexistir e, com isso, obter-se o melhor de cada
uma? Isso só traz prejuízo aos “fiéis” dessas muitas “religiões”, das
quais podemos citar os Javaistas, Linuxistas, Agilistas, MSistas,
Anti-MSistas – dentre centenas de outras. Porém, vamos focar nos
religiosos Agilistas, ou que prefiro chamar, Pseudo-Agilistas, aqueles aos quais o juramento de Alistair Cockburn tenta dar um fim.

Não nego que as Metodologias Ágeis são boas em muitos cenários, talvez até mesmo na maioria deles, mas daí a dizer que WaterfallCMMIRUP
ou qualquer outra técnica seja inaceitável e sempre ruim, existe uma
barreira muito grande. Existem projetos de todos os tipos e nem sempre
é possível seguir uma metodologia X ou Y. Por exemplo, o Governo Brasileiro não aceita bem a ideia de um processo Ágil. Em um caso
desses, você provavelmente terá que se adequar à realidade do cliente e adaptar alguns dos seus processos.

Basicamente, o importante é fazer o melhor para o seu projeto e não
ter que se preocupar em ser um “pecador” porque usou um Gráfico de Gantt,
por exemplo. Afinal qual é o objetivo maior, ser fiel a determinada
metodologia ou o sucesso do projeto?

Algumas pessoas podem responder que não são religiosas, mas que
Waterfall é ruim sempre e correr dele é o melhor para o projeto.
Primeiro gostaria de destacar que nem eu, nem ninguém defende que
Waterfall é bom sempre. Há muitos anos essa metodologia praticamente
não é mais utilizada pela maioria. Mas daí fechar os olhos e dizer que
é ruim sempre é um comportamento que só entendi um pouco melhor após ler na Wikipedia sobre Fanatismo.

Além disso, vale lembrar que não estamos fazendo um paralelismo apenas
entre Waterfall e Ágil, existem inúmeras formas de organizar um
processo incremental além dessas duas, como as já citadas CMMI e
RUP, por exemplo. A questão não é nenhuma delas em específico, mas sim
olhar pra uma técnica qualquer e extrair dela o que mais agregar valor
ao seu projeto.

A exemplo dos Fariseus,
que se dedicaram exclusivamente ao estudo da Torá, criticando veemente
todo o resto, sobretudo o cristianismo, vejo muitas pessoas se
dedicando apenas a estudar Agilidade, sem colocá-la realmente em
prática. Se começarmos a reparar, vamos ver que muitos dos “Religiosos
Agilistas” não possuem cases sobre suas teorias para mostrar, ou são
cases específicos para uma determinada realidade. Dedicam-se a especular
sobre o sucesso do que acreditam, criticar os insucessos do que existe
e ficar especulando como resolver problemas que nem sequer existem em
sua realidade, chegando às vezes a soluções praticamente impossíveis de
serem aplicadas no mundo real. Não citarei exemplos aqui, já que o objetivo
não é atacar ninguém, mas sim mostrar que metodologias e tecnologias
servem como referência, cabe a você decidir quando e como usá-las.

Gostaria de deixar claro que sei que as Metodologias Ágeis, sem
dúvida, trouxeram inúmeros benefícios para os projetos atuais, porém
não podemos esquecer que o PMBOK
ou o CMMI, por exemplo, fizeram o mesmo quando surgiram. E da mesma
forma que o Ágil (e qualquer outra metodologia ou técnica que existe ou
vier a existir), necessitaram de adaptações em cada projeto que foram
aplicados.

Ágil resolve muitos problemas que Waterfall não resolve bem?
Sem dúvida que sim, mas obviamente não todos. Por exemplo, em
um dos nossos projetos tivemos grande liberdade para usar Agilidade,
porém após um tempo notamos certa dificuldade em gerar visibilidade do
andamento do projeto para a diretoria do cliente, por não estar ligada
diretamente ao projeto e não ter a sensação de progresso gerada, por
exemplo, com os Sprints. Nesse caso, tivemos que adaptar, e a solução foi gerar alguns artefatos do PMBOK. Para mais detalhes, não deixe de ler este artigo do Marcelo Costa, que cita exatamente esse case.

Portanto a sugestão que deixo é: use Ágil, CMMI, PMBOK, Java, .NET
ou o que for, mas esteja antenado o máximo que puder e decida você com
sua equipe qual a mais adequada, ou as mais adequadas, a serem usadas, e
faça o melhor para o seu projeto, sem se preocupar se algum teórico vai lhe chamar de “pecador”. Ninguém sabe mais sobre seu projeto que você
e sua equipe. Estude, conheça, teste e utilize da forma que achar
melhor.