quinta-feira, 13 de dezembro de 2007

Estado da arte: SCRUM no meu trabalho!

Este blog não é mais atualizado. Veja o novo blog em: www.agileway.com.br

Salve, pessoal!

Sim, fiquei dois dias sem postar. Mas isso se deu por que estava preparando este material aqui, para vocês finalmente conhecerem como é o meu trabalho ;)

Então vamos lá!

AMBIENTE DE TRABALHO

Primeiramente, acho que vale mostrar como está o layout atual do nosso ambiente de trabalho. Esta é a localização do nosso laboratório. É uma sala-laboratório bem comum no nosso prédio da universidade. O laboratório encontra-se, nesta foto, do lado direito. A porta do lado esquerdo é a sala de reuniões, a qual utilizamos muito! O nosso dashboard (veja no capitulo a seguir) é um quadro branco que possui rodinhas, então facilita a mobilidade de um lado para o outro!


A sala de reuniões...


E este é o nosso ambiente de trabalho (desenvolvimento, principalmente):

Notem como não há um claro espaçamento físico do pessoal, ficam todos meio "amontoados". A equipe que está logo a frente é a minha equipe de trabalho. Ao lado direito vocês podem ver parte do nosso dashboard, onde fica o oasis da 3M (fabricante de post-its!).

Agora que vocês conhecem as condições de infra-estrutura do trabalho, vocês conseguem ter em mente mais facilmente a dificuldade que se tem para se concentrar no trabalho, não é? Lembram que eu reclamei estes dias de que havia muita conversa e barulho? Pois é. Notem que existe um espaço enorme e poucas divisões físicas entre as equipes. Aí neste espaço todo trabalham TRÊS equipes, mais dois ou três mestrandos.

Acontece que, se o cara lá de azul (lááá do fundo) resolve falar qualquer coisa do tipo: "E o Grêmio, hein?" esse assunto acaba se tornando geral e TODOS invariavelmente acabam participando da discussão. E em um ambiente de várias pessoas, essas discussões sempre acabam com risadas ou diálogos em voz alta. O tempo que se perde nisso é absurdo, considerando ainda que a maioria trabalha apenas QUATRO horas por dia. Horas produtivas deve ficar, atualmente, em torno de 1h30 se muito!

A minha idéia, para este laboratório, era que as três equipes tivessem uma divisória física. Não precisa ser necessariamente uma parede, mas algo que inibisse essa comunicação excessiva e desnecessária entre todos. Um ambiente aberto destes é propício demais para isso acontecer.

O bom-senso deve prevalecer, é claro. Mas é preciso criar alguns mecanismos para dizer, implicitamente, que quando se está ali é para trabalhar, não para perder tempo com futilidades (lembrem: são apenas QUATRO horas de carga horária! Eles tem outras 20h pra perder com essas coisas!).

DASHBOARD

Um dos principais itens do SCRUM é, sem dúvida alguma, o dashboard. É nele que se concentram todas as informações úteis sobre o sprint atual. Nosso dashboard é um quadro branco, mas cada empresa usa o que tem (nós usamos!). A foto a seguir mostra uma visão geral dele:
Notem que ele é nossa "divisória" também. Isso acabou gerando comentários das outras equipes (sempre na brincadeira, claro). Para eles, somos a "ala vip" do laboratório. Claro que a foto acima não mostra muita coisa. Portanto, tive o cuidado de fotografar mais de perto este dashboard e também colocar um informativo de como ele está dividido. A foto a seguir apresenta este informativo:

Como vocês podem ver, o dashboard está dividido em dois, indicando as duas equipes de trabalho. A equipe delta 1 (de cima) está responsável pelo software embarcado e o "core" do sistema. A equipe delta 2 (debaixo) é responsável pela parte gráfica do sistema, que é um sistema "add-on" ao nosso, apenas para torná-lo mais apresentável (já que será entregue em versão prototipada). O que significa cada item? Vamos lá:

Sprint backlog: são as funcionalidades previstas para serem implementadas neste sprint. O post contem o nome da funcionalidade, a estimativa prevista (escala Fibonacci) e a prioridade. Confesso que faltou identificar o valor do negócio... acho que vale a pena destacar isso, ao invés de deixar apenas "embutido" na prioridade.

Tasks regulares (planejadas): Os post-its amarelos representam aquelas atividades que foram planejadas na reunião de planejamento. Cada post-it é uma tarefa. O post-it contem o nome da tarefa, a duração em dias (neste primeiro sprint, decidimos que TODAS tarefas teriam 2 dias - para não perdermos tempo estimando cada uma) e depois o nome de quem está fazendo. Para fins de atualização do burndown, eu também comecei a marcar quando que elas foram encerradas, só indicando 6a-feira, 2a-feira, etc. para atualizar no dia seguinte.

Informações do sprint: é apenas um post-it indicando informações gerais como: identificação do sprint (sprint 1, sprint 2, etc), data de início, data de fim e qual é o objetivo do sprint (neste caso, decidimos que é "prover a funcionalidade de guiar em linha reta").

Sprint burndown (em dias): o burndown é atualizado sempre no dia seguinte, normalmente durante a daily meeting. É o gráfico que demonstra quantas horas foram vencidas e quantas faltam para encerrar o sprint. Pra mim, é uma das melhores métricas de produtividade já inventadas!

Tasks não-planejadas: os post-its rosas identificam aquelas tarefas que não foram planejadas e surgiram. Normalmente essas atividades incidem no burndown com o acréscimo de horas (o gráfico sobe!) e quase SEMPRE acontecem. Tivemos hoje um caso bem comum, que foi a má identificação de uma tarefa... deixamos ela muito grande, então tivemos que quebrá-la em três. Isso gerou 3 post-its rosas (não aparecem ainda na foto).

Atividades canceladas ou postergadas: esta área do dashboard eu achei bem interessante. Colocamos aqui todas as tarefas que, por algum motivo, foram canceladas ou então postergadas para outro sprint. Estas atividades impactam com a redução de horas no burndown e, para facilitar a visualização, deve ser indicada com algum texto no gráfico para indicar que isso aconteceu.

Impedimentos: os impedimentos são todos aqueles problemas que surgem e que impactam na produtividade da equipe. Até o momento só dois impedimentos ocorreram, que serão resolvidos até amanhã.

Enfim, notem como o dashboard é relativamente simples e extremamente informativo. Qualquer pessoa que saiba dessas informações que eu postei acima, pode chegar ali e saber no mesmo dia em que pé estamos no projeto. Hoje, por exemplo, fiquei bastante feliz ao chegar no trabalho e ver que minha equipe já estava de pé discutindo questões baseadas no dashboard (que foi a questão da quebra da atividade, como mencionei anteriormente).

Realmente, hoje eu confesso que não sei como gerenciava e controlava um projeto sem uma ferramenta dessas! :)

A foto abaixo apenas apresenta uma visão mais de perto destes quatro campos do lado direito do dashboard (informações do sprint, burndown, impedimentos e atividades canceladas):

TÍPICA MESA DE TRABALHO

Abaixo apresento uma foto que mostra uma típica mesa de trabalho... de um engenheiro da computação hehehe. Notem a organização! Mas admito que nunca vi eles se perdendo nesse ambiente. Então não tenho do que reclamar. Este tipo de mesa foi um dos principais fatores para a nossa mudança da empresa para o laboratório. Como receber um cliente em um ambiente assim? Logo, como não tínhamos espaço para dividir o setor comercial do desenvolvimento, a mudança foi a única solução.
Ah sim, notem lá em cima nosso "porco-aranha". Ele é o cofrinho ao qual o pessoal paga 50 centavos caso se atrasem para as reuniões diárias. Esse dinheiro, posteriormente, é rachado entre eles para uma confraternização. Como eu disse, notem que a equipe já fantasiou o porquinho com oculos, bigode e suiças! Ou seja, ele virou um mascote do time!

Ufa.

Com essas fotos, acho que consegui ilustrar bem o estado da arte em que nos encontramos lá no trabalho. Vocês puderam notar como o ambiente não é dos mais propícios, puderam ver como o SCRUM foi adaptado e está funcionando (gerando comentários gerais do tipo "por que não fizemos isso antes, hein?") e, principalmente, como todo esse processo é simples de ser aplicado!

Temos diversos desafios ainda a serem solucionados, muitos dos quais o SCRUM não prevê. Um exemplo é a gestão do conhecimento. Mas isso eu deixo para outro post ;)

Um abraço!

2 comentários:

Gabi Luz disse...

Concordo que fica complicado ter 3 equipes trabalhando em um ambiente sem divisões, mas pelo que vi vocês são bem organizados, e isso já é um começo. Adorei o dashboard!

Anônimo disse...

encontrei seu blog por acaso, pesquisando sobre o pmbok. achei incrível seu dashboard e a maneira como você o descreve. parabéns! vou guardar o link para este seu post e pretendo passar a companhar seu blog.