Para aqueles que pretendem iniciar com Agile. Vou usar o termo Agile mesmo, pois não vou descrever algo que se defina como sendo um Scrum ou seja mesmo o XP, pretendo somente mostrar alguns passos que podem futuramente levar o interessado a aprofundar seus estudos e práticas para qualquer uma das definições existentes dentro das metodologias ágeis.
A tempo venho refletindo em como ajudar a iniciar o processo de adoção de práticas existentes dentro das metodologias ágeis, a fim de, usar como “referência” nas conversas com amigos, colegas e até mesmo, pessoas que estejam interessadas, porém, não sabem por onde começar.
O início – Por quê preciso disto?

Antes de qualquer atitude a ser tomada, se questione do por que da necessidade. Tente entender os reais motivos para adotar essas novas práticas no dia a dia. Para isso, sugiro que revise qual é o negócio da empresa, o que realmente é produzido pela mesma, qual seria o possível retorno desse investimento, quais os impactos que essa mudança pode causar, se está preparado para as consequências e principalmente, qual o fator motivador que será repassado para todos os envolvidos, pois a magia está totalmente ligada a eles.
Tenha uma coisa em mente, são os envolvidos que farão tudo dar certo, mas cabe a você motivá-los, mostrar o caminho das pedras e se possível, ajudar a remover muitas delas durante o percurso.
Outro ponto importante, todos estão aptos a inverter a pirâmide, servir ao invés de mandar/delegar/controlar? Todos tem noção da importância do envolvimento de cada um? Parece idiota, mas esse é o pensamento. Mandar é fácil, qualquer problema ocorrido tem em quem jogar suas desculpas, agora se empenhar junto com o colega é algo bem diferente, muitas vezes assumir que o conhecimento técnico não é seu forte pode te fazer menor, mas em um ambiente colaborativo, que luta por um mesmo objetivo, esse ponto é o de menor importância.
Tenho para mim que Agile está muito além de uma forma diferente de pensar/agir, traz para todos um sentido humano e o detalhe principal, que todos tem capacidade (com muito empenho) de produzir e crescer junto a equipe.
Leia, busque renovar o conhecimento, discuta, mude o ambiente para que todos possam participar expondo suas idéias, sem o sentimento de que serão coibidos, são estes os momentos de ganho dentro da equipe, por nada a retrospectiva é algo essencial dentro do Scrum, assim como as reuniões diárias. Acredito que isso já serva como um dos “por quê” do início.
A mudança é essencial e não pode ser deixada de lado.
A execução – Mas como? Será que dá?
Verificados os detalhes do início, tenta observar a rotina de trabalho da equipe. Se você está inserido nela, se retire por um momento (dias) e verifique como as coisas acontecem. Tente entender onde está o ponto chave do problema (se existir um, é claro). Geralmente quando estamos na “roda viva” é quase que impossível pensar de que forma mudar, porém, sabe-se que está tudo errado e que algo precisa ser feito. Frases do tipo: “bom, depois da correção X nós vamos parar para arrumar a casa!” ou “o dia de hoje foi uma correria, amanhã eu vou parar para ver o que podemos fazer!” o problema é que o amanhã nunca chega, pelo contrário, ele já passou faz tempo.
Dica, se o ambiente possui várias entradas para as demandas (telefone, e-mail, conversa com o “pensante” do produto, bug tracking, wiki), solucione logo adotando uma forma central de recebimento das mesmas. Dessa forma se conseguirá dar uma classificação para cada uma, caminhos podem ser definidos mais facilmente e de forma coesa. Se todos atendem a tudo, tente ao menos verificar uma forma organizada de atendimento/execução.
Para isso, aplicações como Redmine, Jira, Trac podem auxiliar muito bem. Se possível, defina um workflow para os tipos de chamados que serão atendidos, assim, fica mais fácil de definir as etapas pelo qual o atendimento irá passar até a sua finalização. (Veja, já podes começar a entender aqui um pouco de Product Backlog, kanban)
Para os envolvidos com a programação, os tempos mudaram, as linguagens evoluíram, assim como os ambientes de desenvolvimento também evoluíram, proporcionando o uso de práticas até então não utilizadas (me desculpem aqueles que discordam) como o desenvolvimento orientado a testes ou mesmo o desenvolvimento de testes unitários, programação em par para dar ritmo a equipe e também para compartilhar conhecimento, sessões técnicas para diminuir o débito técnico e também encorajar todos a falar e trocar idéias sobre o assunto.
Os resultados são bons, se o coach (mentor, motivador) estiver junto fazendo seu papel e a equipe estiver comprometida com a causa os resultados tendem a melhorar a cada dia. A disciplina no uso da aplicação ou execução da tarefa de organização das atividades deve ser seguida, ela será o radiador do andamento da equipe, é a partir desse ponto que as melhorias com relação a execução serão realizadas a cada dia também.
Ou seja, existe uma forma, essa foi a que participei e hoje já estou em um ambiente diferente, melhorado e buscando aperfeiçoar cada vez mais.
Saiba envolver a todos, mostre o valor que cada um tem perante a todos e principalmente, o objetivo final é o produto com qualidade, ambiente tranquilo e crescimento pessoal (de cada um).
A melhoria – E agora, para onde vou?
Deixe passar um bom tempo, analise diariamente o ambiente, faça uso das retrospectivas para identificar os pontos fortes e fracos da equipe (se inclua nela, você não é diferente deles). Verifique melhorias e tente ajudar a executá-las.
Quando estiver seguro ou sentir que é possível adotar um Scrum, mãos a obra. Como dito no início, deixe todos os envolvidos a par do que está acontecendo e para onde estão indo, trabalhando de forma transparente é mais fácil obter o comprometimento de todos.
Aprofunde os estudos na prática que irá adotar, busque na internet ou qualquer outro meio informações a respeito, tente encontrar cases, ou pessoas tente conhecer pessoas que fizeram uso, para ter uma visão de como as coisas aconteceram nesses outros ambientes.
Mantenha os pés no chão, não invente e faça de maneira simples. Acredito que essas dicas possam servir para um bom início na adoção de Agile.