Scrum - diatinf

Propaganda
METODOLOGIA ÁGEIS
SCRUM
Prof. Fabiano Papaiz
IFRN
SCRUM

O Scrum foi concebido como um estilo de gerenciamento de projetos,
sendo inicialmente utilizado por uma empresa automotiva japonesa por
Takeuchi e Nonaka em 1986

Eles notaram que os projetos executados com equipes pequenas e
multidisciplinares produziam excelentes resultados

Associaram estas equipes altamente eficazes à formação Scrum do
esporte Rugby
SCRUM

Em 1995, Ken Schwaber formalizou a
definição do Scrum e ajudou a implantá-lo na
área de desenvolvimento de software

A filosofia por trás do Scrum é que uma equipe deve
trabalhar sempre em conjunto, de forma integrada e autoorganizada para desenvolver o software

Além de ser utilizado para o gerenciamento de projetos de
de software, o Scrum também pode ser aplicado em
qualquer outro tipo de projeto no qual um grupo de
pessoas necessitem trabalhar juntas para atingir um
objetivo comum
SCRUM

Assim como o RUP, o Scrum não é uma metodologia já
pronta e definida, ele é um modelo no qual podemos nos
basear para definirmos a nossa própria metodologia de
desenvolvimento

O Scrum fornece uma estrutura básica de processo (um
framework) onde podem ser adicionados papeis, artefatos,
atividades etc, de acordo com a necessidade da equipe e
do projeto

Mas é muito comum encontrarmos definições do Scrum
como sendo uma metodologia (ou processo) de
desenvolvimento de software

O mesmo acontecendo com o RUP
SCRUM

Características

A equipe deve ser multi-funcional e auto-organizada


A equipe escolhe a melhor forma de realizar o seu trabalho para
desenvolver o software, sendo que todas as habilidades
necessárias estão presentes nos membros da equipe

Não há necessidade de constantes supervisões externas para
controlar o trabalho da equipe (“somos maduros o suficiente!”)
O produto evolui em uma série de iterações (Sprints)

Usa a abordagem iterativa e incremental

Entregas frequentes de funcionalidades 100% desenvolvidas

Geralmente os Sprints duram de 2 a 4 semanas
SCRUM

Características (continuação)

As funcionalidades a serem implementadas devem estar
listadas num artefato denominado Product Backlog


Lista que contém todas as funcionalidades que o software
deverá possuir, ordenada por uma prioridade definida pelo
cliente

Orienta a equipe sobre: O que devemos fazer? Por onde
começamos? O que é mais importante para o cliente?
Não há uma prática de engenharia prescrita

O Scrum irá de se adequar a todas elas
SCRUM
CONCEITOS DO SCRUM
SCRUM

Visão Geral
O que fiz desde ontem?
O que estou planejando fazer até amanhã?
Existe algo me impedindo de atingir minha meta?
SCRUM

Artefatos

Product Backlog

É uma lista ordenada que contém todas as funcionalidades
necessárias para a construção do software

Podem ser utilizadas Histórias de Usuários, Casos de Uso ou aquilo que
a equipe achar necessário para definir as funcionalidades

Cada item deve possuir uma prioridade (um peso) de acordo
com a vontade do cliente

Ao final de cada Sprint, a lista deverá ser revisada e repriorizada (Sprint Review)

Incluindo tudo que tenha ficado pendente na Sprint anterior, como
também as novas funcionalidades que vierem a ser solicitadas pelo
cliente
SCRUM

Artefatos

Product Backlog (continuação)

Exemplo:
Como um
Eu gostaria de
Para
Valor de Negócio
(10 a 100)
Estimativa
(horas)
Gerente de RH
Publicar novas
vagas de emprego
Encontrar candidatos
80
20
Interessado na
vaga de emprego
Me candidatar a
uma vaga
Encontrar um
emprego
70
40
Gerente de RH
Fazer a triagem
dos candidatos
Eliminar candidatos
que não interessam
à empresa
50
8
SCRUM

Artefatos

Sprint Backlog

É uma lista de tarefas que a equipe se compromete a completar
dentro de uma Sprint


As tarefas serão geradas a partir dos itens do Product Backlog


Projetar as classes de domínio, criar o banco de dados, refatorar um
código etc
Geralmente 1 funcionalidade irá gerar n tarefas (1:n)
Deverão ser considerados:

A prioridade que o cliente definiu no Product Backlog

O esforço estimado pela equipe para completar a funcionalidade
SCRUM

Papeis
SCRUM

Papeis

Product Owner

Como o nome já diz, é o Dono do Produto, ou seja, quem
definirá as funcionalidades que o software irá possuir

Pode ser o próprio cliente ou um representante da empresa

Deve ser uma pessoa apenas e não um grupo de pessoas

Irá priorizar as funcionalidades de acordo com o valor agregado
para o cliente

Aceitará ou rejeitará os resultados dos trabalhos

Decidirá as datas de lançamento dos releases do software
SCRUM

Papeis

Team (Time de Desenvolvimento)

Equipe formada geralmente por 5 a 9 pessoas

Deverá ser multi-funcional, ou seja, todas as habilidades necessárias
para desenvolver o software deverão estar presentes na equipe
(Analistas, Programadores, DBAs, Web Designers, Testadores etc)

Auto-organizável, pois a equipe decidirá como dividir o trabalho em
tarefas, tendo autonomia para tomar decisões sobre como executar o
seu trabalho da melhor forma possível, não havendo interferência ou
dependência de pessoas externas à equipe

Os integrantes deverão ter dedicação integral no projeto, evitando a
participação em vários projetos ao mesmo tempo

A troca de integrantes somente deverá ocorrer antes da Sprint iniciar
SCRUM

Papeis

Scrum Master

Aquele que procura assegurar que a equipe respeite e siga os
valores e as práticas do Scrum

Protege a equipe assegurando que ela não se comprometa
excessivamente com relação àquilo que é capaz de realizar
durante uma Sprint (Ritmo Sustentável)

Atua como um “escudo” para evitar interferências externas

Atua como ouvinte das Reuniões Diárias (Daily Scrum), sendo o
responsável por remover quaisquer obstáculos que sejam
levantados pela equipe durante essas reuniões
SCRUM

Papeis

Foco principal de cada Papel:

Product Owner  definição das funcionalidades

Team  desenvolvimento das funcionalidades

Scrum Master  garantir a aplicação do Scrum
SCRUM

Reuniões (Cerimônias)
SCRUM

Reuniões (Cerimônias)

Sprint Planning (Planejamento da Sprint)

É o planejamento do trabalho que será realizado durante uma
determinada Sprint

Funcionalidades do Product Backlog serão selecionadas e as
tarefas necessárias serão identificadas e estimadas

Participam todos os papeis envolvidos: Product Owner, Team e
Scrum Master

Geralmente dividida em 2 partes com duração de até 4h cada

1ª Parte: Quais funcionalidades serão desenvolvidas?

2ª Parte: Como as funcionalidades serão desenvolvidas?
SCRUM

Reuniões (Cerimônias)

Daily Scrum (Reuniões Diárias)

Reuniões diárias, de preferência sempre no mesmo horário, em
pé, com duração de no máximo 15 minutos

Perguntas a serem respondidas por cada integrante:


O que fiz desde ontem?

O que estou planejando fazer até amanhã?

Existe algo me impedindo de atingir minha meta?
Participantes: Team e o Scrum Master (ouvinte)
SCRUM

Reuniões (Cerimônias)

Sprint Review (Revisão da Sprint)

Apresentação do resultado gerado pela Sprint, o qual deve ser
um incremento do software, totalmente funcional e
potencialmente utilizável pelo cliente

Apresentação sem utilização de slides, devendo ser demonstrada a
utilização da versão do software que foi gerada

As funcionalidades que não forem totalmente implementadas
deverão voltar para o Product Backlog para serem inseridas nas
Sprints seguintes

Todos deverão participar
SCRUM

Reuniões (Cerimônias)

Sprint Retrospective (Retrospectiva da Sprint)

Reunião que ocorre após a Sprint Review e antes da próxima
Sprint Planning.

Seu objetivo é avaliar a Sprint realizada em busca de melhoria
nos processos e ferramentas utilizadas, na comunicação e
relacionamento da equipe e na qualidade do produto

Enquanto a Sprint Review analisa o produto que foi gerado, a
Sprint Retrospective analisa o processo que foi adotado,
visando sua melhoria contínua

Participantes: Team e o Scrum Master
SCRUM

Trabalho:
1.
O que é o Scrum?
2.
O que é uma Sprint?
3.
Qual a diferença entre o Product Backlog e o Sprint Backlog?
4.
Quais os papéis definidos pelo Scrum e quais as responsabilidades de
cada um deles?
5.
Quais são as reuniões (cerimônias) definidas pelo Scrum? E quais os
objetivos de cada uma delas?
6.
Qual o número de pessoas recomendado pelo Scrum para formar um
Team (equipe de desenvolvimento)?

Em grupo com até 3 pessoas

Enviar o documento em formato PDF para o e-mail do professor
([email protected]), contendo os integrantes do grupo e com
o assunto = “Trabalho sobre Scrum”
FIM
Download