sábado, 29 de março de 2008

SCRUM – Bombons do Sprint Backlog

Imaginem a seguinte situação:

Suponhamos que se ofereça para um grupo de pessoas (pode até ser um time de projeto em SCRUM) 3 ou 4 caixa de bombons sendo oferecido da seguinte forma: "Pessoal aqui estão os bombons, comprei três caixa para nós, estão elas aqui encima da mesa abertas, se sirvam a vontade, quando quiserem!".


O que você acha que vai acontecer?

Certamente as pessoas iram pegar os bombons que mais gostam, e caso não tenha mais o favorito na primeira caixa, eles pegaram nas outras caixas. Com certeza ficaram sobrando em todas as caixas aqueles bombons que ninguém gosta, pense, foram varias caixas, e todos conseguiram se satisfizer antes de terminar todos os bombons.

Agora façamos uma analogia com o sprint backlog, as caixas são os itens desejados e as tarefas os bombons. É fácil relacionar, pois no inicio dos trabalhos com SCRUM as principais dificuldades de se lidar é o time querendo pegar primeiro às tarefas que mais gostam, que mais tem afinidade, que mais podem contribuir para os trabalhos. Porém se não termos atenção aos princípios do SCRUM que neste caso define que devemos primeiro concluir todas as tarefas de um item para depois partirmos para outro, corremos o risco de não concluirmos nenhum item.


Quando abrimos todas as caixas e deixamos todos a vontade para pegar de qualquer caixa, certamente sobraram bombons em todas as caixas, isso não aconteceria se tivessem que comer todos os bombons de uma caixa para poder pegar da outra, pois certamente haveria um esforço de todos para acabarem com a primeira caixa podendo assim abrir a segunda e novamente escolherem os bombons preferidos, e é desta forma que acontecem com o time em escolherem as tarefas a serem realizadas.

Lembrem que caso não seja concentrado os esforços em cada item até que sejam concluídas todas as tarefas, para só então iniciar o próximo item, a chance de ao final do sprint não ser entregue nenhum item é muito grande, por esse motivo o time tem que ser muito criterioso para partir para o próximo item sem que o atual não esteja totalmente concluído.

.No início o time terá fortes argumentos para que não seja conduzido os trabalhos desta forma. Mas Pessoal, o SCRUM é baseado no empírico, pois então tentem, mesmo que tudo indique que não vai dar certo. Tenho certeza que iram se surpreender com os resultados.

quinta-feira, 20 de março de 2008

SCRUM – Como vender a idéia

Para tentar ajudar quem estiver pesando em como iniciar o SCRUM em sua empresa, irei relatar minha experiência e estratégia para este desafio.

Em 2,3 e 4 de Novembro/2007 eu e meus colegas participamos pela empresa do evento Java Brasil 2007
http://www.javabrasil.org/ em Campinas/SP, foi neste evento que tive pela primeira vez contato como SCRUM através de um WorkShopp como Manoel Pimentel e uma Palestra com Alexandre Magno (por sinal excelentes profissionais).

Trabalho em uma empresa de grande porte na área financeira. Não utilizamos nenhuma metodologia para gerência de projetos e nem para o desenvolvimento.

Possuímos certos padrões e praticas de desenvolvimento que estão longe das mais praticadas no mercado atualmente. Podemos dizer que possuímos times de trabalhos que executam com agilidade o desenvolvimento e possuímos a nossa solução atendendo o negocio de nossos clientes de forma adequada. Possuímos alguma documentação, mas não abrangente, as demandas são realizadas individualmente e gerenciadas pelos lideres de equipe que utilizam a experiência que possuem para coordenar os trabalhos, mas sem grandes sofisticações.

Sempre foi encarada com grande resistência a implantação de uma metodologia de gerência de Software, pelo medo de que a mesma onere os trabalhos retirando a agilidade do desenvolvimento, embora tenhamos sérios problemas para a adequada visibilidade dos projetos.

Como minha origem era de uma empresa de TI de tamanho considerável, já tive contato com projetos em modelo de Fabrica de Software, no meu ponto de vista os processos de fabrica de software tradicionais para a realidade da maioria das empresas nacionais não é o mais adequado.

Porem ao adquirir o contato com o SCRUM a minha percepção foi que realmente o tema é muito abrangente e que o framework de praticas (como os mais especialistas dizem) está mais aderente a realidade da maioria das empresas e com certeza para a empresa que trabalho.

A impressão foi à mesma pelos meus colegas. Ao retornarmos do evento eu iniciei a sensibilização do que aviamos vistos para nossos gerentes deixando os mesmos muito curiosos. Nestas horas a empolgação pode ser uma arma valiosa se bem utilizada, pois alem de estarmos empolgados devemos defender nosso ponto de vista embasados nos dados visto no evento como em pesquisa posteriores sobre o assunto. E que de fato tenhamos comprado a idéia.

Como exerço papel de líder de equipe sugeri utilizarmos o quadro de kambam, salientei que estaríamos utilizando uma pratica do SCRUM para podermos avaliar o resultado e posteriormente se aprofundar no assunto.

Após uma série de argumentações o gerente da área concordou. Após a utilização dos primeiros dias do quadro, o impacto foi muito grande, sendo sensivelmente vantajoso para a visibilidade do projeto. O Kambam vende a idéia de agilidade e visibilidade por si só.

Foi fundamental salientar que o quadro e mais algumas outras coisas que utilizamos eram apenas algumas praticas de SCRUM e que para realmente utilizarmos SCRUM seria necessário nos aprofundar no assunto para a sua devida utilização, isto incluiria treinamento para mais pessoas da empresa e palestras adequadas por especialistas em SCRUM (Santo de casa não faz milagre).

Outro ponto que foi salientado é que entre uma gestão de projetos mais onerosa e o desenvolvimento mais ágil o SCRUM trás um equilíbrio adequado, possibilitado uma maior visibilidade dos projetos sem perder a agilidade, e sim possibilitar identificar problemas mais rápido do que normalmente acontece, pois o quadro de kambam nos mostrou isso e a utilização do SCRUM potencializa os resultados.

Com este trabalho inicial foi possível sensibilizar o corpo gerencial e executivo da empresa e desta forma conseguimos realizar treinamento para grande parte da área de desenvolvimento (mais de 80 pessoas), inclusive a área gerencial e executiva.

Para isto é fundamental trazer pessoa de fora da empresa especializada que consiga vender a idéia e sensibilizar as pessoas para que o SCRUM ganhe força. Se conseguirem chegar neste ponto como nos fizemos o próprio SCRUM a partir deste, se viabiliza.

Boa sorte para todos que estão nesta fase e podem apostar com convicção que o retorno é garantido.

Espero ter ajudado, estarei relatando os próximos passos que estamos conduzindo para a utilização do SCRUM.

Cristian Ramos
Líder de Arquitetura de Aplicações Sênior