Após uma aula entusiasmada na Academia do Agile sobre liderança e coaching, cheguei em casa e me deparei com um tweet que apontava para um post do Dhanji falando sobre como eles tem experimentado com agile no Google. No post ele descreve algo que ele chama de “Cowboy Methodology”. Ele também afirma que a predominância no Google é a ausência de metodologias.
Dhanji afirma:
There are exceptions of course, many Google teams use various degrees of XP, Scrum, or something else entirely. However, these are few and far between in my experience. The lack of methodology predominates. This is not to say that software does not get written on time, nor is it to say that good code is not produced but the process under which it is, is largely non-existent.
Nesse caso, o que podemos dizer sobre a necessidade real de utilizar agile ou não em um projeto? Vi esse mesmo questionamento em tweets de pessoas que haviam acabado de ler o artigo.
Minha impressão é que muitas pessoas ainda acham que basta adotar algumas práticas de engenharia e pronto. Estamos usando agile. Seguir uma receita que contém várias práticas não determina que você está usando Agile ou não. Utilizar Scrum não quer dizer que sua empresa é de fato ágil. Ultimamente, tenho ouvido frases como: “Nós usamos Scrum na minha empresa, mas não posso dizer que somos ágeis de fato. ”
Isso ocorre pelo simples fato de que, mesmo algo simples como Scrum pode ser “camuflado” para satisfazer uma cultura rígida. Tem faltando cultura real nas empresas e isso minimiza em muito os efeitos do uso do Scrum, XP ou qualquer outra metodologia. A cultura é a essência da agilidade e não pode ser substituída.
O meu entendimento é que Scrum, XP e qualquer outra metodologia é muito útil no início. Serve como um impulso inicial, que revelará onde e como podemos corrigir nossa postura e como podemos buscar resultados melhores. No entanto é preciso muito cuidado e atenção para que, ao longo do caminho, identifiquemos quais são as mudanças culturais necessárias para que a agilidade possa de fato emergir.
Uma vez que essa cultura ágil esteja consolidada, aí podemos partir em busca de um processo único, adaptado e adequado à nossa realidade. Acredito que seja isso que esteja acontecendo com o Google. Vários dos princípios que compõe a agilidade já fazem parte do mind-set dos Googlers. Escolher e participar da formação das pessoas, faz com que esse tipo de possibilidade exista dentro do Google. Não é necessário seguir algo prescrito, quando temos maturidade suficiente para decidirmos o nosso próprio caminho. Nisso consiste a agilidade.
Considerando que o mercado enxerga “Agile” como um substantivo que descreve um conjunto de metodologias que apesar de empíricas são prescritas de forma generalizada sem considerações dos contextos em que serão aplicadas. Dessa forma posso seguramente afirmar que o que vem depois do “Agile” é a verdadeira agilidade. A diferença é sutil e, por isso, é preciso que validemos constantemente nossas decisões, práticas e processos, segundo os princípios e valores nos quais acreditamos.
E pra você? O que vem depois do Agile? Compartilhe sua opinião.
Código limpo e auto-explicativo! Este é o objetivo do Test Driven Development ou TDD. O TDD é composto por práticas propostas pelo eXtreme Programming, reforçando os conceitos de Design Evolutivo e Test First. Focado nestes dois conceitos, tentarei explicar quais os benefícios de uma abordagem baseada no TDD.
Uma das principais dificuldades no desenvolvimento de software moderno é disseminar o conhecimento e difundir as necessidades do usuário. É muito difícil para nós desenvolvedores enteder o sistema, pois temos de nos adaptar às diversas situações de negócio, que mudam conforme cada projeto.
O fato é que na maioria das vezes essas informações chegam para nós de forma textual, o que estimula apenas o lado esquerdo do cérebro (L-mode). Acontece que design de software é uma atividade de intuição, criatividade e resolução de problemas, atribuições do lado direito do cérebro (R-mode). Estes dois lados são assíncronos. Não podemos utilizá-los ao mesmo tempo. Pior que isso, é o fato de que nào controlamos o R-mode, apenas o L-mode de nosso cérebro. Para mais informações sobre isso leia 
em questão. Por exemplo: