quinta-feira, 7 de janeiro de 2010

Gerenciamento de Projetos com Scrum








Scrum é sem dúvida a metodologia ágil que vem ganhando mais destaque ultimamente, especialmente depois de casos de sucesso com o Google, Yahoo! e o recente e forte apoio da Microsoft a metodologia.

A função primária do Scrum é ser utilizado para o gerenciamento de projetos de desenvolvimento de software. Ele tem sido usado com sucesso para isso, assim como Extreme Programming e outras metodologias de desenvolvimento. Porém, teoricamente pode ser aplicado em qualquer contexto no qual um grupo de pessoas necessitem trabalhar juntas para atingir um objetivo comum, como iniciar uma escola pequena, projetos de pesquisa científica, ou até mesmo o planejamento de um casamento.

Características do Scrum

  • Cada sprint é uma iteração que segue o (ciclo PDCA) e entrega incremento de software pronto.
  • Um backlog é conjunto de requisitos, priorizado pelo Product Owner (Responsável pelo ROI e por conhecer as necessidades do cliente);
  • Há entrega de conjunto fixo de itens do backlog em série de iterações curtas ou sprints;
  • Breve reunião diária, ou daily scrum, em que cada participante fala sobre o progresso conseguido, o trabalho a ser realizado e/ou o que o impede de seguir avançando (também chamado de Standup Meeting ou Daily Meeting, já que os membros da equipa geralmente ficam em pé para não prolongar a reunião).
  • Breve sessão de planejamento, na qual os itens do backlog para uma sprint (iteração) são definidos;
  • Retrospectiva, na qual todos os membros da equipe refletem sobre a sprint passada.

O Scrum é facilitado por um Scrum Master, que tem como função primária remover qualquer impedimento à habilidade de uma equipe de entregar o objetivo do sprint. O Scrum Master não é o líder da equipe (já que as equipes são auto-organizadas), mas atua como um mediador entre a equipe e qualquer influência desestabilizadora. Outra função extremamente importante de um Scrum Master é o de assegurar que a equipe esteja utilizando corretamente as práticas de Scrum, motivando-os e mantendo o foco na meta da Sprint.

Scrum permite a criação de equipes auto-organizadas, encorajando a comunicação verbal entre todos os membros da equipe e entre todas as disciplinas que estão envolvidas no projeto.

Um princípio chave do Scrum é o reconhecimento de que desafios fundamentalmente empíricos não podem ser resolvidos com sucesso utilizando uma abordagem tradicional de "controle". Assim, o Scrum adota uma abordagem empírica, aceitando que o problema não pode ser totalmente entendido ou definido, focando na maximização da habilidade da equipe de responder de forma ágil aos desafios emergentes.

Planejamento do sprint

Antes de todo sprint, o Proprietário do Produto, o Scrum Master e a Equipe decidem no que a equipe irá trabalhar durante o próximo sprint. O Proprietário do Produto mantém uma lista priorizada de itens de backlog, o backlog do produto, o que pode ser repriorizado durante o planejamento do sprint. A Equipe seleciona itens do topo do backlog do produto. Eles selecionam somente o quanto de trabalho eles podem executar para terminar. A Equipe então planeja a arquitetura e o design de como o backlog do produto pode ser implementado. Os itens do backlog do produto são então destrinchados em tarefas que se tornam o backlog do sprint.

Scrum simplificado

Muitas organizações têm sido resistentes às metodologias introduzidas em baixos níveis da organização. Porém, a adaptabilidade do Scrum permite que ele seja introduzido de forma invisível ("stealth"), usando os três passos:
  • Agende uma demonstração do software com seu cliente em um mês a partir de agora;
  • Como equipe, tome um mês para deixar o software pronto para uma demo, com funcionalidades prontas, não simplesmente telas;
  • Na demonstração, obtenha feedback e use-o para guiar o seu próximo mês de trabalho de desenvolvimento.

Agendando discussões diárias

Um momento bom para as discussões diárias é depois do almoço. Durante a manhã pode ser complicado. Estas discussões de status não demoram e uma forma eficiente de fazer estas reuniões seria ficar em pé e em frente a um quadro negro. Como as pessoas tendem a ficar cansadas depois do almoço, ter uma viva reunião em pé nessa hora permite que a equipe mantenha a sua energia alta. Como todos estiveram trabalhando durante a manhã, suas mentes estão focadas no trabalho e não em questões pessoais.

Na discussão diária cada membro da equipe responde às seguintes perguntas:
  • O que fiz desde ontem?
  • O que estou planejando fazer até amanhã?
  • Existe algo me impedindo de atingir minha meta?


Scrum Solo

Scrum é baseado em pequenas equipes. Ele permite a comunicação entre os membros da equipe. Entretanto, há uma grande quantidade de softwares desenvolvidos por programadores solos. Um software sendo desenvolvido por um só programador pode ainda se beneficiar de alguns princípios do Scrum, como: um backlog de produto, um backlog de sprint, um sprint e uma retrospectiva de sprint. Scrum Solo é uma versão adaptada para uso de programadores solo.

Bem amigos a todos que postarem seus comentarios o enviarem este post via twitter vou enviar o Ebook Scrum e e XP direto das Trincheiras


Bibliografia 
[http://pt.wikipedia.org/wiki/Scrum]
Scrum e e XP direto das Trincheiras

3 comentários:

  1. hum... quase entendi hehe, mas é interessante mas deixa pra quando eu tiver uma equipe de bagunceiros atordoados,rsrs

    abração...

    ResponderExcluir
  2. Cara gostei muito desse topico..Quero aprender mais desses projetos.tow numa equipe de desenvolvimento

    Emerson Martins
    Analista de Sistemas

    ResponderExcluir
  3. Ótimo artigo! Ja conheço Scrum e procuro usar-lo sempre que possivel.
    Resumindo acho que Scrum lhe oferece motivação em troca de comprometimento!

    Só gostaria de fazer uma ressalva, apenas em uma questão de semântica. Scrum não é uma "metodologia", mas sim um "método". Metodologia te ensina como fazer as coias, Scrum não te ensina "como fazer" mas sim te diz "o que fazer". E isto é uma das grandes vantagens do scrum (talvez a maior delas) pois ele não muda drasticamente as rotinas da sua empresa, ele apenas te diz o que fazer e você o adapta a sua realidade. Por isto há tantos casos de sucesso de empresas colossais.

    Herson Melo
    Consultor de Sistemas

    ResponderExcluir