Scrum

O SCRUM é uma metodologia ágil, relativamente nova e poucas empresas no Brasil têm utilizado os benefícios desta abordagem. Apenas recentemente, a expressão "Métodos Ágeis" vem se tornando mais popular, pois usa uma técnica simplificada. No entanto, "ser simples" geralmente é confundido com falta de controle e completa anarquia.

Os praticantes do SCRUM sabem exatamente o que está acontecendo ao longo do projeto e podem realizar os devidos ajustes, para mantê-lo em movimento ao longo do tempo, visando alcançar seus objetivos. Logo, o SCRUM não diz exatamente o que fazer, não resolve todos os problemas, mas certamente eles são mais facilmente identificados. Ele serve como um guia de boas práticas para o alcance do sucesso.

Entretanto, as decisões de quando e como usar o SCRUM e quais táticas e estratégias seguir para obter produtividade e realizar entregas, fica por conta de quem o estiver aplicando. O conhecimento das suas práticas permite uma aplicação de forma variada, e este é um dos aspectos positivos do SCRUM – a adaptabilidade.

Vale ressaltar que as práticas do SCRUM podem ser aplicadas em qualquer contexto, no qual pessoas precisem trabalhar juntas para atingir um objetivo comum. É recomendado para projetos nas áreas de software, automotiva, telecomunicações e, principalmente, de pesquisa e inovação. O SCRUM torna-se ideal para projetos dinâmicos e suscetíveis a mudanças de requisitos, sejam eles novos ou apenas modificados. No entanto, para aplicá-lo, é preciso entender, antes, seus papéis, suas responsabilidades, seus conceitos e os artefatos das fases do ciclo.

A abordagem ágil (SCRUM), assim como a abordagem tradicional (PMBOK), possui características positivas e negativas, sendo que a principal diferença entre as duas está no conjunto de pressupostos de cada uma. É possível afirmar, ainda, que existe uma sinergia muito grande entre as duas metodologias, ou seja, uma pode complementar a outra.

O ponto-chave para diminuir a lacuna existente entre o uso das abordagens "tradicional" e "ágil" está em considerar, na escolha de uma ou de outra, as características do projeto a ser desenvolvido, ou seja, buscar aplicar a metodologia correta para o trabalho a ser realizado. Os projetos que têm como natureza a inovação tecnológica inviabilizam o uso da abordagem tradicional (PMBOK), pois o risco de ser necessário alterar um produto depois da conclusão de uma fase de seu ciclo de vida é bastante alto. A abordagem ágil (SCRUM) consegue uma adaptação muito fácil nesses casos de mudança (seja de requisitos ou de escopo do projeto).

Por outro lado, a abordagem tradicional é mais adequada para projetos que necessitam de um forte planejamento e muita disciplina no processo, mas ela não promove uma ampla comunicação entre os membros de equipes diferentes e seus gerentes, o que também representa uma característica de modelo centralizado.

O SCRUM como metodologia ágil de gerenciamento pode ser relacionado ao modelo de gerenciamento de projetos hierárquicos, com compartilhamento de informações entre as equipes. O gerente de projetos, em geral, realiza o papel de SCRUM Master, agindo como um facilitador e não tomando as decisões sozinho, pois outra característica implícita do SCRUM é que aequipe deve ser participativa em todas as decisões (inclusive de planejamento). Além disso, o SCRUM promove uma ampla comunicação entre os gestores envolvidos no desenvolvimento do projeto, o que é uma característica fundamental das metodologias ágeis de desenvolvimento.

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 processo. O SCRUM Master não é o líder da equipe (já que as equipes são auto-organizadas) mas atua como um firewall 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 do processo.

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 necessite 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.

Mesmo que idealizado para ser utilizado em gestão de projetos de desenvolvimento de software ele também pode ser usado para a gerência de equipes de manutenção, ou como uma abordagem para gestão de programas: SCRUM de SCRUMS.

Algumas características de SCRUM

  • Clientes se tornam parte da equipe de desenvolvimento (os clientes devem estar genuinamente interessados na saída);
  • Entregas freqüentes e intermediárias de funcionalidades 100% desenvolvidas;
  • Planos frequentes de atenuantes de riscos desenvolvidos pela equipe;
  • Discussões diárias de status com a equipe;
  • A discussão diária na qual 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?
  • Transparência no planejamento e desenvolvimento;
  • Reuniões frequentes com os gestores (todos os envolvidos no processo) para monitorar o progresso;
  • Problemas não são ignorados e ninguém é penalizado por reconhecer ou descrever qualquer situação não vista;
  • Locais e horas de trabalho devem ser animadas, no sentido de que "trabalhar horas extras" não necessariamente significa "produzir mais".

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 uma lousa. 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.

SCRUM Único

SCRUM é baseado em pequenas equipes. Ele permite a comunicação entre eles. Entretanto, há uma grande quantidade de softwares desenvolvidos por programadores únicos. Um software sendo desenvolvido por um só programador pode ainda se beneficiar de alguns princípios do SCRUM, como: um atraso de produto, um atraso de processo, um processo e uma retrospectiva de processo. SCRUM Único é uma versão adaptada para uso de programadores únicos.

 


Associação SoftwareLivre

A Associação SoftwareLivre.org (ASL) é uma associação civil sem fins-lucrativos, com sede em Porto Alegre/RS que reúne empresários, profissionais liberais, estudantes e servidores públicos, estabelecendo relações com os mais diversos setores da sociedade como o poder público, universidades, empresas, grupos de usuários, hackers e ONGs. A ASL tem por principal objetivo tornar o software livre amplamente incluído na sociedade, propiciando espaço de discussão, apoio, fomento e organização de iniciativas nas mais diversas áreas relacionadas. - Site oficial da associação