Este documento fornece uma introdução ao Scrum, uma metodologia ágil para gestão de projetos de software. O Scrum divide os projetos em sprints curtos com reuniões diárias e eventos como planning meetings e reviews. O documento explica os papéis como Scrum Master, Product Owner e time de Scrum, e os artefatos como Product Backlog e Sprint Backlog. Finalmente, discute vantagens e desvantagens do Scrum.
Introdução a Simulação de redes Sensores sem fio com Castalia
Gerenciamento ágil de processos - SCRUM
1. Gerenciamento Ágil de Projetos
Universidade Estadual de Feira de Santana - UEFS
Engenharia de Computação
EXA809 - Engenharia de Software
Professor David Moisés
3. Roteiro
➔ O que são modelágens ágeis
➔ O que é SCRUM?
➔ Como funciona?
➔ Sprint: a Base do Scrum.
➔ Papeis relacionados ao Scrum
◆ Scrum Master
◆ Product Owner
◆ Scrum Team
◆ Cliente
➔ Passo a passo da modelagem Scrum
◆ Product Backlog
◆ Sprint Planning Meeting
◆ Sprint Backlog
◆ Daily Scrum.
◆ Sprint Review Meeting
◆ Sprint Retrospective
➔ Vantagens vs. Desvantagens da modelagem
➔ Conclusão
4. Modelagem Ágil
Manifesto para o desenvolvimento ágil de software
Estamos descobrindo maneiras melhores de desenvolver software fazendo-o
nós mesmos e ajudando outros a fazê-lo. Através deste trabalho, passamos a
valorizar:
1. Indivíduos e interação entre eles mais que processos e ferramentas
2. Software em funcionamento mais que documentação abrangente
3. Colaboração com o cliente mais que negociação de contratos
4. Responder a mudanças mais que seguir um plano
Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à
esquerda.
5. Modelagem Ágil
1. Nossa maior prioridade é satisfazer o cliente, através da entrega
adiantada e contínua de software de valor.
2. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento.
Processos ágeis se adequam a mudanças, para que o cliente possa tirar
vantagens competitivas.
3. Entregar software funcionando com frequência, na escala de semanas
até meses, com preferência aos períodos mais curtos.
4. Pessoas relacionadas à negócios e desenvolvedores devem trabalhar
em conjunto e diariamente, durante todo o curso do projeto.
5. Construir projetos ao redor de indivíduos motivados. Dando a eles o
ambiente e suporte necessário, e confiar que farão seu trabalho.
6. O Método mais eficiente e eficaz de transmitir informações para, e
por dentro de um time de desenvolvimento, é através de uma
conversa cara a cara.
6. Modelagem Ágil
7. Software funcional é a medida primária de progresso.
8. Processos ágeis promovem um ambiente sustentável. Os
patrocinadores, desenvolvedores e usuários, devem ser capazes de manter
indefinidamente, passos constantes.
9. Contínua atenção à excelência técnica e bom design, aumenta a
agilidade.
10. Simplicidade: a arte de maximizar a quantidade de trabalho que não
precisou ser feito.
11. As melhores arquiteturas, requisitos e designs emergem de times
auto-organizáveis.
12. Em intervalos regulares, o time reflete em como ficar mais efetivo,
então, se ajustam e otimizam seu comportamento de acordo.
7. O que é Scrum?
“O Scrum engloba um conjunto de padrões de
processos enfatizando prioridades de projeto,
unidades de trabalho compartimentalizadas,
comunicação e feedback frequente por parte
dos clientes” (PRESSMAN, 2011)
9. O que é Scrum?
➔ De maneira generalizada, o Scrum é uma
metodologia ágil para gestão e
planejamento de projetos de software.
➔ No Scrum, os projetos são dividos em ciclos
(tipicamente mensais) chamados de
Sprints.
10. Como funciona?
➔ No Scrum existem três fases:
1. Planejamento Geral
○ Objetivos, arquitetura;
2. Ciclos de Sprint
○ Incrementos do sistema;
3. Encerramento
○ Documentação, help, manuais do usuário,
lições.
11. Sprint: a Base do Scrum
➔ No Scrum, os projetos são dividos em ciclos
(tipicamente mensais) chamados de
Sprints. O Sprint representa um Time Box
dentro do qual um conjunto de atividades
deve ser executado. Metodologias ágeis de
desenvolvimento de software são iterativas,
ou seja, o trabalho é dividido em iterações,
que são chamadas de Sprints no caso do
Scrum.
12. Pessoas relacionadas ao Scrum
➔ Em toda a modelagem Scrum existem
essencialmente 4 grupos de pessoas que
servem de extrema importância para a
correta aplicação do scrum.
◆ Scrum Master;
◆ Product Owner;
◆ Scrum Team;
◆ Cliente.
13. Scrum Master
➔ O Scrum Master procura assegurar que a
equipe respeite e siga os valores e as
práticas do Scrum.
➔ Ele também protege a equipe assegurando
que ela não se comprometa excessivamente
com relação àquilo que é capaz de realizar
durante um Sprint.
14. Product Owner
➔ O Product Owner é a pessoa que define os itens que
compõem o Product Backlog e os prioriza nas Sprint
Planning Meetings, Tais itens serão explicados mais
detalhadamente a frente
➔ A equipe se compromete a executar um conjunto de
atividades no Sprint e o Product Owner se compromete
a não trazer novos requisitos para a equipe durante o
Sprint para manter o foco no objetivo traçado para o
Sprint.
15. Scrum Team
➔ O Scrum Team é a equipe de desenvolvimento. Nela,
não existe necessariamente uma divisão funcional
através de papéis tradicionais, tais como programador,
designer, analista de testes ou arquiteto. Todos no
projeto trabalham juntos para completar o conjunto
de trabalho com o qual se comprometeram
conjuntamente para um Sprint.
16. Cliente
➔ O Cliente é a parte principal, é quem
fornece as propostas e os requisitos
requeridos para a total funcionalidade do
projeto pedido, sem o cliente o modelo
Scrum não funciona.
17. Passo a Passo da Modelagem Scrum
“As funcionalidades a serem implementadas em um
projeto são mantidas em uma lista que é conhecida como
Product Backlog. No início de cada Sprint, faz-se um
Sprint Planning Meeting, ou seja, uma reunião de
planejamento na qual o Product Owner prioriza os itens
do Product Backlog e a equipe seleciona as atividades
que ela será capaz de implementar durante o Sprint que
se inicia. As tarefas alocadas em um Sprint são
transferidas do Product Backlog para o Sprint Backlog.”
18. Product Backlog
➔ O que é?
◆ Lista ordenada do que é necessário (Comum users stories)
◆ A cada item é dada a responsabilidade de um membro da equipe
◆ Breve descrições sobre cada item
◆ Única fonte de requisitos para alterações futuras
◆ Revisão de bugs
➔ Com o tempo pode conter
◆ Chores: Trabalhos que devem ser feitos, mas que não fornecem
valores ao negócio
◆ “Epics”: Grandes users stories. De inicio colocadas como grandes
demais para a interação
19. Product Backlog
Essa funcionaliades são definidas pelo Scrum
Owner, sendo que a medida que necessário,
podem ser adiconados mais itens ao Product
Backlog.
20. Product Backlog
● Refinamento progressivo
○ É normal você ter mais ideias capturadas no backlog do
que recursos que sua empresa tem para cumprir
○ Encontrar prioridades, como?
■ Encontrando itens relacionados
■ Entender o que foi realizado
■ Utilizar técnicas de classificação de prioridade. Ex.
● Vertical Slices
● Story Maps
21. Sprint Planning Meeting
➔ O Sprint Planning Meeting é uma reunião na qual estão
presentes o Product Owner, o Scrum Master e todo o
Scrum Team, bem como qualquer pessoa interessada
que esteja representando a gerência ou o cliente.
➔ Nele são destacadas quais funcionalidades tem maior
prioridade, assim incluindo-as em determinados sprints
e deixando as funcionalidades de menor prioridade
para outras reuniões.
22. Sprint Planning Meeting
➔ Há dois artefatos definidos que resultam de uma
reunião de planejamento do sprint:
◆ Um objetivo para o sprint
◆ Um Sprint Backlog
23. Sprint Backlog
“O Sprint Backlog é uma lista de tarefas que o Scrum
Team se compromete a fazer em um Sprint. Os itens
do Sprint Backlog são extraídos do Product Backlog,
pela equipe, com base nas prioridades definidas pelo
Product Owner e a percepção da equipe sobre o tempo
que será necessário para completar as várias
funcionalidades.”[DesenvolvimentoÁgil, 2013]
24. Sprint Backlog
➔ São essencialmente marcos curtos de direção para o
projeto.
➔ Ao longo de uma sprint, seu progesso é monitorado e
apresentando em uma tabela (Sprint Burndown Chart).
25. ➔ O que você realizou desde a
última reunião de equipe?
➔ Quais obstáculos está
encontrando?
➔ O que planeja realizar até a
próxima reunião de equipe?
O Scrum Master conduz a
reunião e avalia as respostas.
Daily Scrum
São reuniões curtas (tipicamente de 15 minutos),
realizadas diariamente pela equipe SCRUM. São feitas 3
perguntas-chave e respondidas por todos os membros da
equipe:
26. Daily Scrum
➔ Ajuda a equipe a revelar
problemas potênciais o mais
cedo possível.
➔ “Socialização do conhecimento”
➔ Gera uma estrutura de equipe
auto-organizada.
27. Sprint Review Meeting
➔ Ao final de cada sprint é realizada uma reunião.
➔ O que deu certo? Mostre o resultado!
➔ Os participantes do Sprint Review tipicamente incluem
o Product Owner, o Scrum Team, o Scrum Master,
gerência, clientes e engenheiros de outros projetos.
40. Referências
➔ SOMMERVILLE, Ian. Engenharia de
software. 9. ed. São Paulo, SP: Addison
Wesley, 2011. 529 p. ISBN
9788579361081(broch.)
➔ PRESSMAN, Roger S. Engenharia de
software: uma abrdagem profissional. 7.
ed. São Paulo, SP: Mc Graw - Hill, 2011. 780
p. ISBN 9788563308337 (broch.)