@abstractj
github twitter slideshare RSS

Extreme Programming Experience Week

16 Nov 2007
Há algum tempo tenho me interessado por metodologias ágeis, uma vez que feedback constante as demandas geradas pelo cliente tem sido algo presente no cenário de desenvolvimento de software.

Fora do país muitas das grandes empresas já adotam em seus processos este "novo" paradigma. No Brasil um dos processo ágeis, o XP, começa a sair da teoria através da adoção em algumas empresas com sucesso.

Pois bem, encontrei os podcasts com casos e experiências de sucesso da Improve IT, que trouxeram motivação sobre o tema, minha intenção aqui não é jabá pra fazer propaganda, mas realmente o know-how do pessoal sobre XP é muito bom. Conseguimos aqui em Juiz de Fora, formar uma turma de 30 interessados em fazer o curso com o Vinícius, fundador da Improve IT e um dos coordenadores do xprio.

O curso te leva a pensar sobre valores que muitas vezes são negligenciados em um ambiente de desenvolvimento, seja por cultura, achar que é perda de tempo, falta de conhecimento das práticas, quebra de paradigmas ou pelo argumento "aqui não trabalhamos dessa forma", como já citado pelo Phillip em um de seus posts.

Aprendemos alguns valores, princípios e práticas importantes do XP, o que mais chama a atenção no processo é sua base humanística.

Nos dois primeiros dias aprendemos coisas relativamente simples, mas muito mais importantes do que qualquer parafernalha tecnológica envolvida em projetos.

Inicalmente fizemos o jogo da comunicação, onde ficou claro que receber especificações na forma escrita apenas, sem a interação com a pessoa mais importante de todo processo, o cliente, não é o melhor caminho. Isso gera resultados negativos como: retrabalho, sistemas incompatíveis com as necessidades do cliente e alta demanda em tarefas de manutenção, uma vez que a não compreensão dos requisitos leva a nova codificação do sistema.



Basedo na técnica dos seis chapéus, fizemos retrospectiva, onde toda equipe durante a reunião identifica pontos positivos e negativos que tenham ocorrido durante a semana, sejam eles pessoais ou técnicos. Sem desfocar do que está sendo discutido, o objetivo é permitir que todos pensem e agreguem idéias sobre um mesmo tema.



No jogo do planejamento, tivemos o tempo de execução para cada estória sempre cronometrando no relógio, conseguimos observar a velocidade da equipe para as próximas iterações e avaliar o que deve ser priorizado quando o prazo é curto. Em todos os pontos do processo, fica claro que feedback é fundamental, seja por parte da equipe de desenvolvimento, seja pela participação do cliente.



Através de Stand Up Meeting com durações de 15 minutos por dia no máximo, a equipe troca informações sobre os acontecimentos do dia anterior e se planeja pro dia corrente, esse é um momento legal onde todos devem ter consciência de que não se trata do momento pra falar de outros assuntos, mas para trocar experiências. Vinícius também nos mostrou o quão importante é o estabelecimento de um ambiente transparente e comunicativo onde fique visível o status do projeto e suas respectivas atividades.



Foram dedicados dois dias inteiros para tratar na prática de assuntos como: desenvolvimento orientado a testes, refatoração, integração contínua e automação de builds. Bom, vou deixar pra falar de testes em um outra ocasião, me limito a dizer que alguns acreditam que esse assunto é mais uma invenção utópica do mundo capitalista como forma de inserir um item a mais no escopo do projeto, refatoração então, é tido como forma de corrigir gambiarras, mas basta ler mais sobre e descobrir o contrário.

Técnicas de refatoração utilizadas de forma correta se tornam grandes aliadas quando se deseja desenvolver orientado a testes, permitindo a construção de aplicações mais robustas. Foi destacada a importância da integração contínua de código, realizada periodicamente durante o dia através de builds automatizados, assim, problemas que só seriam identificados mais a frente podem ser detectados no mesmo dia evitando catástrofes e pessoas estressadas.

No último dia, Vinícius falou sobre o papel de cada um dentro da equipe e sua importância para realização de um projeto realmente bem sucedido. O curso foi realmente válido e provou de que não existe utopia nesse processo, mas a experiência de profissionais que há décadas desenvolvem software, algumas fotos do curso podem ser encontradas aqui.

Depois disso tudo, tive que adquirir o livro do Vinícius e do Kent Beck pra estudar mais sobre o assunto e romper alguns paradigmas existentes em mentes perdidas.

blog comments powered by Disqus
Copyrights © abstractj 2011. All rights reserved.