código Ágil

Agile, Scrum, Extreme Programming , Java e mais

Posts Tagged ‘agile’

Trabalhe em paralelo de verdade

Posted by Luciano Félix em 20 outubro, 2008

Na maioria das equipes em que o gerente, ou chefe, atribue e direciona o trabalho do time, nomalmente o que vemos é o chamado “trabalho em paralelo” em que cada membro do time desenvolve sozinho uma funcionalidade prevista no escopo do projeto. Esse tipo de organização dá ao gerente a sensação de que várias funcionalidades estão sendo desenvolvidas ao mesmo tempo, o que deve garantir que o projeto não atrase. Bem, se analisarmos esse arranjo com um pouco mais de cuidado veremos que o que ocorre é exatamente o contrário.

Veja a figura:

Quando cada membro do time recebe uma funcionalidade para desenvolver sozinho, o trabalho na verdade será serializado e não paralelizado como se acredita, uma tarefa será executada após outra ser concluída e assim por diante, esse modelo, como vemos na figura, aumenta o risco de não termos nada de fato pronto para entregar e sim uma coleção de funcionalidades quase prontas. O que acontece é que quanto mais a data da entrega se aproxima, cada membro do time começa a trabalhar de forma apressada, sem preocupação com a qualidade, apenas com o objetivo de entregar a “sua parte” pronta. Além disso esse tipo de organização acaba com a colaboração dentro do time, já que o que interessa para cada um é entregar o que lhe foi passado, por que assim é que ele será cobrado.

Vamos analisar essa outra figura:

Aqui o time inteiro trabalha em conjunto na mesma funcionalidade e quando esta é completada o time passa a trabalhar na funcionalidade seguinte. Serialização!! Dirão alguns, nada mais incorreto. Desse jeito, todas as tarefas necessárias para concluir o item serão desenvolvidas de fato em paralelo pela equipe, e aí sim, estaremos diminuindo muito o risco do item não ser entregue. Além do que, esse modelo privilegia a colaboração e a comunicação do time, todos tem o mesmo objetivo, todos estão alinhados e o cliente receberá funcionalidades que estão verdadeiramente prontas.

De agora em diante, quando o seu gerente quiser “paralelizar” o trabalho do seu time, desenhe essas figuras para ele.

Posted in Uncategorized | Etiquetado: , | Leave a Comment »

A métrica perfeita

Posted by Luciano Félix em 27 agosto, 2008

Esqueçam de acoplamento aferente ou eferente, joguem no lixo a complexidade ciclomática, ignorem as linhas de código por método.

A métrica de qualidade perfeita foi encontrada !!!

WTFs per minute (Que p… é essa?/min)

Para aplicar a métrica é necessário um cronômetro. Inicie o cronômetro e comece a inspeção do código e a cada vez que você tiver vontade de dizer “Que p… é essa ????” incremente a contagem. Sem dúvida é essa métrica pode ajudar muitas e muitas equipes.

Posted in Uncategorized | Etiquetado: | 2 Comments »

A culpa é de quem ?

Posted by Luciano Félix em 25 agosto, 2008

Gerentes mandões, chefes burocráticos, coordenadores sem visão. Muitas vezes colocamos a culpa do fracasso da implantação do Scrum apenas nas pessoas que fazem parte das esferas mais altas de gerência das empresas e muitas vezes eles tem mesmo, mas será que os chefes e gerentes são sempre os culpados ? A equipe não tem nenhuma parcela de responsabilidade no processo de implantação? Apontar o dedo para os chefes virou desculpa padrão para as dificuldades do processo, mas muitas equipes não estã preparadas para a mudança que o Scrum traz para o dia-a-dia de cada uma delas.

O Scrum prega que as equipes devem ser auto-gerenciáveis, infelizmente esse conceito é confundido com liberdade total, cada um pode fazer o quer e pronto, nada mais errado. Esse má interpretação leva a idéia errônea de que Scrum ou Agile é bagunça, muito pelo contrário, os processos ágeis exigem das equipes uma disciplina e um comprometimento ainda maior do que no processos tradicionais, este assunto estava sendo discutido ultimamente na lista scrum-brasil. Muitas pessoas não estão familirizadas com a mudança de paradigma exigida pela agilidade, não estão acostumadas a tanta liberdade e responsabilidade ao mesmo tempo, muitos preferem permanecer como “Code Monkeys”, mantendo o cerébro desligado e fazendo tudo exatamente como mandaram fazer, sem compromisso com a qualidade, prazo, etc. O problema não se resume apenas as práticas do Scrum, quando se fala em práticas ágeis de engenharia a coisa fica ainda mais complicada, quem não conhece alguem que faz cara feia quando ouve falar em TDD ou Pair Programming.

Para atingirmos um nível mais alto de qualidade, colaboração e comunicação é necessário sair da nossa zona de conforto para que possamos de fato aproveitar os benefícios que as práticas ágeis podem trazer.

Posted in Uncategorized | Etiquetado: , | Leave a Comment »

Waterfall Teams vs Agile Teams

Posted by Luciano Félix em 19 maio, 2008

Nesse pequeno vídeo uma empresa de consultoria mostra a diferença entre um equipe waterfall e um equipe ágil de forma muito legal. Assistam !

Posted in Uncategorized | Etiquetado: , , | 1 Comment »

Dilbert e o desenvolvimento ágil

Posted by Luciano Félix em 13 março, 2008

Sempre fui fã das histórias do Dilbert. Seu criador, Scott Adams, sabe como ninguém satirizar todas as situações absurdas que enfrentamos em ambientes corporativos. Sempre que encontrar uma tirinha que tenha a ver com tema do blog, vou postar aqui para vocês. Para começar vai uma genial sobre como a maioria das pessoas encara o desenvolvimento ágil.

dilbert-agile-programming.jpg

Posted in Uncategorized | Etiquetado: , | Leave a Comment »

Treinamento Certified Scrum Master

Posted by Luciano Félix em 8 fevereiro, 2008

Nos dias 24 e 25 de janeiro participei do treinamento “Certified Scrum Master” ministrado pelo Boris Gloger da Sprint-IT.

Boris foi um dos primeiros a serem treinados por Ken Schwaber e também um dos primeiros a se tornar Certified Scrum Trainer.

O primeiro dia começou um com atividade prática que nos mostrou todos os problemas pelos quais passamos no dia-a-dia do desenvolvimento de software e utilizamos a técnica de retrospectivas para entendermos o que poderíamos melhorar nessa atividade.

Depois aprendemos de maneira bastante efetiva sobre o comprometimento da equipe na volta do coffee break. Atráves de um jogo com bolas de borracha aprendemos os conceitos de auto-organização, comunicação, trabalho em equipes pequenas, estimativas da equipe e timebox.

Por fim tivemos um breve histórico sobre metodologias ágeis e de onde surgiram as idéias por trás do Scrum.

Após o almoço realizamos o jogos dos 60 passos para demonstrar as diferenças entre a cultura de comando e controle e a cultura do auto-gerenciamento.

Discutimos também porque os processos ditos empíricos são mais adequados para o desenvolvimento de software. Após isso o Boris detalhou cada um dos pápeis do Scrum e qual a responsabilidade de cada um no processo. Depois entramos nos conceitos de planejamento e organização do product backlog.

Para fechar o dia, o Boris explicou o conceito de estimativas de tamanho e não de tempo, coisa que deu um nó na cabeça de muita gente e nós experimentamos o Planning Poker, uma maneira excelente para estimativas da equipe.

O segundo dia começou com uma historinha do Boris sobre uma confeitaria que usava Scrum para fabricar tortas que tinham o sabor exato que o cliente queria. Essa história serviu para ilustrar bem a idéia de que o cliente aprende durante o desenvolvimento e que o planejamento inicial raramente é o mais acertado para o projeto.

O Boris nos explicou cada um das reunião existentes no Scrum e o motivo de cada um delas, depois entendemos o dia-a-dia de uma sprint, como usar corretamente o taskboard e como monitorar a sprint através dos gráficos de burndown.

Depois discutimos sobre o perfil que um ScrumMaster deve ter e quais os desafios que ele deve enfrentar no ambiente de trabalho.

Após o almoço tivemos uma longa explicação de como expandir o Scrum para grandes equipes e o conceito de “Scrum of scrums” e também uma apresentação sobre contratos em projetos ágeis. Discutimos também sobre problemas comums que aparecem nos projetos que iniciam o uso do Scrum.

Depois tivemos o momento mais legal do curso. O Velocity Game, normalmente conhecido como XP Game, atráves dessa atividade pudemos colocar em prática todos os conceitos discutidos durante o treinamento.

Para terminar o dia recebemos nossos Certificados de ScrumMaster, mas não só isso, também aprendemos o aperto de mão secreto dos Certified ScrumMasters !!

O treinamento foi realmente sensacional e o Boris é um instrutor extramente competente, tive a oportunidade de esclarecer várias dúvidas e corrigir vários pequenos erros na forma como estamos utilizando o Scrum na Solver.

Recomendo a todos que têm interesse em atuar como ScrumMasters em suas empresas.

WUFF !!

Veja as fotos feitas pelo Boris Gloger durante o treinamento aqui


Digg!

Creative Commons License

Posted in scrum | Etiquetado: , , , | Leave a Comment »

Bem Vindos !!

Posted by Luciano Félix em 2 fevereiro, 2008

A finalidade desse blog é servir como um ponto de encontro para os entusiastas das metodologias ágeis de desenvolvimento de software, discutir linguagens, técnicas, conceitos e principalmente idéias. Espero que vocês gostem e participem.

Obrigado

Posted in boas vindas | Etiquetado: , , | 2 Comments »