Você está na página 1de 8

Introdução ao Desenvolvimento Ágil com Scrum

Introdução ao Desenvolvimento Ágil


com Scrum

Dicas, sugestões ou críticas? Mande-me para melhorarmos este documento cada vez mais!
Documento Livre! Pode ser impresso, copiado e distribuído livremente.

Página 1 de 8
Rodrigo Lopes Ferreira – rodrigo.lopes.ferreira@hotmail.com
Versão 1.0 de 21/05/2009.
Introdução ao Desenvolvimento Ágil com Scrum

Introdução ao Desenvolvimento Ágil

É necessário buscar novos processos para responder mais


rapidamente às demandas do mercado, diminuindo assim o tempo de
espera, os riscos, os erros e aumentando a produtividade das equipes
nos projetos.
Seguindo o princípio de que 20% dos recursos de um software
são utilizados em 80% do tempo, os recursos mais importantes
devem ser entregues primeiro. Utilizando este pensamento, é
necessário entregar primeiro os recursos que agregam maior valor
aos negócios, e que serão mais utilizados. Os métodos ágeis são uma
reação aos processos que parecem ser uma maravilha em teoria, mas
que na prática, não funcionam como deveriam.
A única forma de medir o êxito de um sistema é quando ele
funciona como o cliente deseja, e é capaz de mudar rapidamente, de
acordo com a demanda do mercado.

Scrum

Um framework que define um método simples para gerenciar


projetos complexos. Os métodos convencionais têm o foco voltado
para o desenvolvimento em regras, enquanto o Scrum visa o
desenvolvimento de funcionalidades que são mais importantes para o
negócio, o tempo todo, sendo assim, as funcionalidades mais
importantes são construídas e entregues primeiro, satisfazendo
melhor as necessidades dos clientes.

Características do Scrum:

• Permite o gerenciamento de mudanças de forma muito


eficiente, além de que, estreita a comunicação entre o
cliente e a equipe que está desenvolvendo o projeto,
mantendo sempre as funcionalidades revisadas e corrigindo
possíveis falhas rapidamente.
• O sistema é construído em blocos por iterações, o cliente
sempre vê o resultado final de cada iteração e define se está
certou ou não, apontando os erros e evoluindo
gradativamente o projeto.
• Transfere a responsabilidade do gerente para toda a equipe
do projeto.
• Utilizado por empresas como a IBM, Microsoft, Yahoo,
Google, BBC, Time Warner, Xerox, Oracle etc. para gerenciar
seus projetos com êxito.

Página 2 de 8
Rodrigo Lopes Ferreira – rodrigo.lopes.ferreira@hotmail.com
Versão 1.0 de 21/05/2009.
Introdução ao Desenvolvimento Ágil com Scrum

Definição dos componentes de Scrum

Em Scrum, existem basicamente os seguintes componentes:

o Product Owner
o Product Backlog
o Sprint
o Sprint Backlog
o Sprint Retrospective
o Scrum Master
o Scrum Team

Processo básico de Scrum

O ponto chave de Scrum é definir quais são as


funcionalidades mais importantes, para que elas sejam desenvolvidas
primeiro (princípio 80x20). A responsabilidade por esta lista fica com
o maior interessado no sucesso do projeto: o cliente (Product
Owner).

O “Product Owner” (que pode ser um representante ou um


gerente de projeto, por exemplo), fica responsável por esta lista, que
é chamada de “Product Backlog” (esta lista deve ser atualizada e re-
priorizada constantemente). Esta lista contém os requisitos abstratos
do sistema, definidos em linguagem humana, sem especificar
tecnologias ou metodologias de implementação; nela, os requisitos
são ordenados do mais importante para o menos importante (os
requisitos que agregam maior valor ao negócio ficam no topo da lista,
e os que agregam menos, em baixo).

Página 3 de 8
Rodrigo Lopes Ferreira – rodrigo.lopes.ferreira@hotmail.com
Versão 1.0 de 21/05/2009.
Introdução ao Desenvolvimento Ágil com Scrum

Com esta lista pronta e com as prioridades definidas, a equipe


de desenvolvimento, conhecida como “Scrum Team” já pode entrar
em ação, e junto com o “Product Owner”, definir qual será o item da
“Product Backlist” a ser trabalhado no período (geralmente o primeiro
item da lista); este trabalho é chamado de “Sprint” e toda a equipe
estará focada exclusivamente nele.
Ao iniciar um “Sprint”, é feita uma reunião com o “Scrum
Team” e com o “Product Owner” para que sejam definidos os fatores
burocráticos, como o tempo previsto para a conclusão deste trabalho.
Este prazo deve ser negociado com o cliente, pois em Scrum não é
possível prorrogar prazos e o “Sprint” não deve sofrer modificações
até ser concluído. Depois de acertado o prazo, o “Product Owner” vai
embora e deixa a equipe trabalhar.

Página 4 de 8
Rodrigo Lopes Ferreira – rodrigo.lopes.ferreira@hotmail.com
Versão 1.0 de 21/05/2009.
Introdução ao Desenvolvimento Ágil com Scrum

Na equipe existirá um “Scrum Master”, que será o responsável


por garantir que o projeto esteja indo bem, que o resto da equipe
esteja seguindo corretamente as tarefas do “Sprint” e resolver
impedimentos. Neste ponto é feito uma análise de como o item
escolhido do “Product Backlog” pode ser desenvolvido utilizando a
tecnologia alvo, ou seja, o requisito abstrato é quebrado e
transformado em tarefas de desenvolvimento na tecnologia
computacional (Java, por exemplo) e dividido entre os membros do
“Scrum Team”.

A partir de agora está aberto o “Sprint” e a equipe deve se


auto-regular; cada membro da equipe deve decidir o que fará; as
tarefas nunca são atribuídas. Durante o “Sprint” (que não deve durar
mais que trinta dias), todos os dias, no mesmo horário, o “Scrum
Team” se reúne em uma reunião rápida, para conversar sobre o
andamento das tarefas de cada um; nesta reunião, todos os
membros do “Scrum Team” falam e respondem as seguintes
perguntas:

1. O que fiz ontem?


2. O que farei hoje?
3. Houve alguma coisa que atrapalhou o meu trabalho ontem?
(quem deve solucionar este tipo de problema é o “Scrum Master”)

Página 5 de 8
Rodrigo Lopes Ferreira – rodrigo.lopes.ferreira@hotmail.com
Versão 1.0 de 21/05/2009.
Introdução ao Desenvolvimento Ágil com Scrum

Pessoas que não são do “Scrum Team” podem participar da


reunião, mas só devem ouvir, não devem falar nada. Esta reunião
não deve ultrapassar quinze minutos e geralmente é feita em pé (por
que prende mais a atenção). Ela serve para que todos os membros
do “Scrum Team” estejam em total sintonia sobre o andamento do
“Sprint” e se comprometam com suas tarefas perante o grupo.
Quando se chega ao final do “Sprint”, a equipe faz uma
reunião, a “Sprint Retrospective”, que serve para que eles conversem
sobre o que aprenderam no “Sprint” e que lições devem levar para o
próximo; além disso, o resultado deve ser apresentado para o
“Product Owner”, que deve aprová-lo ou inserir demanda de
alteração no “Product Backlog”.

Após esta etapa, volta-se ao “Product Backlog”, seleciona-se o


requisito do topo, e repete-se todo o ciclo, até terminar todos os itens
do “Product Backlog”.
Seguindo este conceito de repetição, sempre o “Product Owner”
vai estar por dentro do que está sendo desenvolvido e dependerá
dele a palavra do que agrega mais valor ao seu negócio; tais
funcionalidades serão desenvolvidas primeiro (e entregues primeiro).
O software será entregue mais rapidamente e com uma melhor
qualidade, por que as funcionalidades são projetadas, desenvolvidas
e testadas no “Sprint”; qualquer erro será detectado e corrigido
rapidamente em um clico, e não depois de grande parte já ter sido
desenvolvida. É garantido que sejam entregues partes
documentadas, testadas e funcionando do software de duas a quatro
semanas. Isto gera uma grande produtividade e objetividade no
projeto.

Página 6 de 8
Rodrigo Lopes Ferreira – rodrigo.lopes.ferreira@hotmail.com
Versão 1.0 de 21/05/2009.
Introdução ao Desenvolvimento Ágil com Scrum

Desenho do Processo Scrum:

Fonte: (http://upload.wikimedia.org/wikipedia/commons/5/58/Scrum_process.svg)

Glossário:

Product Owner – Quem decide o que agrega maior valor ao


negócio, que precisa ser feito primeiro. Pode ser o próprio cliente, seu
representante ou um gerente de projeto, por exemplo.

Product Backlog – Uma lista mantida somente pelo “Product


Owner” com todos os requisitos abstratos (em linguagem humana) do
sistema, sendo ordenados dos mais importantes no topo, para os
menos, em baixo.

Sprint – Ciclo de desenvolvimento de um requisito atual da “Product


BackLog”. Toda a equipe deve estar focada nele e todos os dias deve
haver reuniões para discussão do que foi feito, o que será feito e
quais problemas foram encontrados, por todos os membros da
equipe.

Sprint Backlog – Relação das funcionalidades em linguagem


computacional (Java, por exemplo) obtidas através de um item da
“Product Backlog”. Organiza as tarefas a serem feitas e a divisão
entre os membros do “Scrum Team”

Sprint Retrospective – Ao final de cada “Sprint”, a equipe se reúne


com o cliente e apresenta o resultado; o cliente deve aprovar o

Página 7 de 8
Rodrigo Lopes Ferreira – rodrigo.lopes.ferreira@hotmail.com
Versão 1.0 de 21/05/2009.
Introdução ao Desenvolvimento Ágil com Scrum

resultado ou lançar uma demanda de alteração no “Product Backlog”


para que futuramente se transforme novamente em um “Sprint”. A
equipe também utiliza esta reunião para conversar sobre que lições
tiraram do “Sprint” e o que pode ser usado no próximo.

Scrum Master – Responsável por garantir que o “Sprint” esteja


sendo executado de maneira correta. Serve também para resolver
possíveis impedimentos que estejam atrapalhando a equipe de
realizar o seu trabalho.

Scrum Team – Equipe de desenvolvedores que serão responsáveis


por desenvolver as tarefas do “Sprint Backlog”. A equipe tem
autonomia para decidir como realizará as tarefas.

Referências:

http://en.wikipedia.org/wiki/Scrum_(development)
http://dojofloripa.wordpress.com/2007/02/07/scrum-em-2-minutos/
http://www.softhouse.se
http://www.mountaingoatsoftware.com/scrum
http://www.scrumalliance.org/

Página 8 de 8
Rodrigo Lopes Ferreira – rodrigo.lopes.ferreira@hotmail.com
Versão 1.0 de 21/05/2009.

Você também pode gostar