Scrum: Guia Completo do Framework Ágil para Projetos
Classificado em Computação
Escrito em em português com um tamanho de 14,9 KB
O que é Scrum?
Scrum surge da necessidade de aumentar o índice ou taxa de sucesso em projetos.
Scrum vs. Métodos Tradicionais
Enquanto métodos tradicionais focam no triângulo de escopo, custo e prazo, Scrum se destaca ao integrar a qualidade, visando gerar projetos ágeis e de alta qualidade.
A concentração exclusiva em escopo e requisitos pré-estabelecidos nem sempre resulta em valor.
Agilidade significa entregar resultados e valor de forma contínua.
Características da Agilidade
- Método ágil para gerenciamento de projetos
- Pequenos times auto-organizados
- Flexibilidade - um "Framework"
- Visibilidade e Adaptação
Manifesto Ágil
Criado em 2001, o Manifesto Ágil visa melhorar o desenvolvimento de software, priorizando:
- Indivíduos e interações mais do que processos e ferramentas
- Software funcionando mais do que documentação abrangente
- Colaboração com o cliente mais do que negociação de contratos
- Responder a mudanças mais do que seguir um plano
Resultados do Desenvolvimento Ágil
O desenvolvimento ágil foca em entregar resultados significativos e mensuráveis.
Melhorias Reportadas (Acima de 10%)
- Aumento de produtividade: 89% dos participantes
- Redução de defeitos: 84% dos participantes
- Menor Time-to-market: 82% dos participantes
- Custo reduzido: 66% dos participantes
Scrum: Um Caminho Ágil
Scrum é um caminho ágil, inserido no conjunto de métodos ágeis para gestão de projetos.
É considerado um framework, e não um método, devido à sua flexibilidade.
Princípios do Scrum
- Scrum enxerga o desenvolvimento como uma caixa preta controlada.
- É um processo iterativo e incremental para desenvolvimento ou manutenção.
- Planeja releases considerando:
- Requisitos do cliente
- Urgência
- Competição
- Visão do Sistema
- Recursos Disponíveis
Fases do Scrum (Metáfora)
- Pré-jogo: Planejamento, arquitetura e estabelecimento das definições do trabalho por projeto.
- Jogo: Desenvolvimento do produto.
- Pós-jogo: Fechamento do projeto.
História do Scrum
- Inspiração: Takeuchi e Nonaka.
- Começou em 1990.
- Primeira implementação: 1993 - Sutherland, Scumniotales e McKenna.
- Apresentado na OOPSLA '95 por Jeff Sutherland e Ken Schwaber, com o artigo "The Scrum Development Process".
Aplicações do Scrum
Embora tenha nascido na TI, Scrum é hoje utilizado em diversas outras áreas:
- Gestão de mudanças: IBM
- Call Center: Total Attorneys
- Gestão de Conferências: Trifork
- Consultoria e Finanças: OpenView Venture
- Marketing: GPE
Quando o Scrum é Recomendado?
Scrum pode e é usado em projetos que não são de desenvolvimento de software, sendo particularmente recomendado quando:
- Mudanças são constantes.
- A equipe aprende ao longo do projeto.
- Complexidade e incerteza reduzem a visibilidade.
- A colaboração é importante.
Papéis no Scrum
Existem 3 papéis principais no Scrum:
Product Owner (PO)
O Product Owner (PO), ou Proprietário do Produto, é o representante do cliente, responsável pela preparação e visão do produto.
- Garante o ROI (Retorno sobre o Investimento).
- Conhece os requisitos e necessidades.
- Responsável pela macro-gerência (resultados de Sprints, releases, andamento do produto, etc.).
- Age como mediador quando o produto deve atender a vários clientes.
- Pode dispor de uma equipe de apoio.
Scrum Master (SM)
O Scrum Master (SM) é o facilitador do trabalho, garantindo que as coisas aconteçam e que o Scrum seja seguido.
- Evita interferências externas no trabalho do time.
- Remove os obstáculos para permitir o trabalho eficaz e eficiente do time.
- Ajuda o PO com o Product Backlog.
- Garante a adesão ao Scrum.
Responsabilidades do Scrum Master
- Remover a barreira entre desenvolvimento e cliente.
- Ensinar o cliente a maximizar o ROI e atingir seus objetivos usando o Scrum.
- Melhorar o dia a dia do time, facilitando a criatividade e o fortalecimento.
- Combater a ilusão de comando e controle.
- Perceber os impedimentos e combatê-los.
- Facilitar reuniões.
- Auxiliar o PO com o Product Backlog.
- Determinar onde o Scrum está, comparado a onde poderia estar.
Membro da Equipe Scrum
- Responsável por desenvolver o produto.
- Equipes auto-organizadas e multidisciplinares.
- Promove a colaboração como a principal ferramenta de trabalho.
Product Backlog
O Product Backlog é a lista das necessidades do cliente, contendo as histórias que uma equipe Scrum precisa desenvolver, ordenada por prioridade de implementação.
- Necessidades do cliente.
- Conjunto das histórias que darão origem ao produto.
- Ordenado por prioridade de implementação.
- Responsabilidade do PO.
- Evolui com o produto e a dinâmica do ambiente.
Características de um Item do Product Backlog (INVEST)
- Independente
- Negociável (Flexível)
- Valioso (Agrega valor para o usuário)
- Estimável
- Suficientemente pequeno (Realizável em uma Sprint)
- Testável
Metáfora do Iceberg do Backlog
- Histórias mais detalhadas e prontas no topo.
- Épicos (histórias maiores e menos detalhadas) na base.
- Muitas histórias "submersas" (menos detalhadas).
História de Usuário (User Story)
Uma História de Usuário é a descrição do que é necessário desenvolver, gerando valor para o cliente (um requisito), similar a um caso de uso.
- Descreve funcionalidades que devem gerar valor para o cliente.
- Representa necessidades do cliente.
- Funciona como um requisito.
- O PO indica o valor agregado.
- Épicos são histórias ainda brutas, de alto nível.
Estrutura de uma História de Usuário
Uma história possui 3 componentes principais:
- Ator
- Objetivo
- Justificativa
1. Ator
A visão é sempre a do ator:
- Quem precisa dessa história?
- Qual papel ele desempenha?
- É uma pessoa ou um sistema?
- Exemplo: "Como gerente do hotel, eu quero..."
2. Objetivo
- O que o usuário quer fazer?
- Qual o problema a ser resolvido?
- Como deve ser o comportamento do sistema nessa história?
- Qual o resultado final da história?
- Exemplo: "...saber quais clientes estão hospedados há mais de 30 dias para, caso deseje, cobrar as estadias vencidas..."
3. Justificativa
- Por que a história é necessária?
- Provê uma visão abrangente do problema.
- Facilita o entendimento.
- Explicita elementos que podem ser usados na solução.
- Fornece mais informação sobre a história.
- Opcional, mas desejável.
- Exemplo: "...reduzindo o risco de inadimplência."
Características de uma Boa História de Usuário (INVEST)
- Independente
- Negociável (Flexível)
- Valioso (Agrega valor para o usuário)
- Estimável
- Suficientemente pequeno (Realizável em uma Sprint)
- Testável
Construção do Product Backlog
Com todos esses processos, o Product Backlog é gerado e possui as seguintes características:
- Conjunto das histórias que darão origem ao produto.
- Ordenado por prioridade de implementação.
- Responsabilidade do PO.
- Histórias precisam ser mais detalhadas/completas quando no topo.
- Épicos (histórias maiores) ficam na parte inferior.
- Evolui com o produto e a dinâmica do ambiente.
- Temas agrupam histórias relacionadas.
- Muitas histórias são "submersas" (exemplo do iceberg).
Planning Poker
O Planning Poker é uma técnica utilizada para estimar histórias de usuário.
- A equipe trabalha na estimação com a ajuda do SM.
- Utilizam-se cartas com pontuação baseada na série de Fibonacci.
- Para cada história, a equipe, após discutir o problema, joga a carta que acredita representar o esforço necessário para desenvolvê-la.
- Caso não haja concordância, discute-se mais e joga-se novamente.
- A estimativa deve ser encontrada por unanimidade (todos os membros devem concordar).
Velocidade (Velocity)
A velocidade indica o quanto o time consegue fazer em uma Sprint.
- Normalmente medida em pontos.
- Na primeira Sprint é uma estimativa inicial; ao longo do desenvolvimento, estabiliza.
- Usada para o planejamento de Sprints.
- Pode ser usada para o planejamento de Releases (entregas).
Releases (Entregas)
Um Release é uma versão do produto pronta para ser utilizada.
- Normalmente compreende várias Sprints.
- Demanda um planejamento específico.
- O planejamento deve também ser baseado na velocidade.
Eventos (Rotinas e Reuniões) do Scrum
Os principais eventos do Scrum incluem:
- Reunião de Planejamento da Sprint (Parte 1)
- Reunião de Planejamento da Sprint (Parte 2)
- Reunião Diária (Daily Scrum)
- Reunião de Revisão da Sprint (Sprint Review)
- Reunião de Retrospectiva da Sprint (Sprint Retrospective)
Reunião de Planejamento da Sprint (Parte 1)
Foco: O que será feito na próxima iteração de desenvolvimento?
- Proposição de uma Meta da Sprint pelo PO.
- A Meta da Sprint é a descrição do que se deseja ao final da Sprint em termos de valor (ex: funcionalidades do produto).
- Explicação das histórias prioritárias do Product Backlog para a equipe, pelo PO.
- Utilização do Planning Poker para estimativa.
- Para uma Sprint de 30 dias, a reunião dura aproximadamente 4 horas.
- A equipe decide o quanto acredita que conseguirá fazer na Sprint.
- Definição final da Meta da Sprint.
Participantes da Reunião de Planejamento I
- PO, Scrum Master, Equipe de Desenvolvimento, gerência (se necessário) e especialistas da área de negócio (se necessário).
Reunião de Planejamento da Sprint (Parte 2)
Foco: Como realizar as histórias selecionadas?
- A equipe planeja o trabalho.
- As histórias selecionadas no Product Backlog são detalhadas em tarefas.
- As tarefas identificadas constituem o Sprint Backlog.
- Tarefas podem receber estimativa de horas.
- O PO pode participar para tirar dúvidas.
- Outros convidados podem estar presentes para esclarecer o domínio ou ajudar na parte técnica.
- Ao final, as tarefas devem estar bem definidas e entendidas.
Sprints
A Sprint é a iteração executada para o desenvolvimento do produto, objeto do projeto.
- Iterações para a implementação das histórias/tarefas.
- Normalmente duram de 15 a 30 dias.
- Em casos de maior risco, a Sprint pode ser menor.
- Membros da equipe pegam tarefas e as realizam.
- O Scrum Master facilita o trabalho da Equipe.
- Pode ser necessário tirar dúvidas com o PO ou com outros especialistas.
- Evitar MUDANÇAS durante a Sprint é crucial.
Sprint Backlog
O Sprint Backlog é o conjunto das histórias do Product Backlog selecionadas para serem contempladas em uma Sprint.
- A seleção é feita pela ordenação do Product Backlog e de acordo com a velocidade do time.
- As histórias devem ser trabalhadas por prioridade.
- Não deve, mas pode receber novas histórias ao longo da Sprint (com cautela).
Tarefas
- Atividades a serem realizadas para a implementação de uma história.
- Boa prática: Uma tarefa deve ser executável em um dia.
Impedimento
- Um impedimento é algum fator externo que está bloqueando a continuação de uma tarefa.
- O SM é responsável por remover os impedimentos.
Sprint Burndown
O Sprint Burndown é um gráfico para acompanhamento do trabalho da equipe.
- Eixo horizontal: dias da Sprint.
- Eixo vertical: horas (tarefas) ou pontos (histórias).
- Novas tarefas ajustam o gráfico.
Reunião Diária (Daily Scrum)
É onde a equipe colabora para fazer as tarefas diariamente.
- Cada membro responde a três perguntas: O que fiz ontem? O que farei hoje? Há algum impedimento?
- Não é uma reunião para discussões técnicas detalhadas.
- Serve para que todos saibam o que está acontecendo e se coordenem.
- O PO participa apenas como ouvinte.
Reunião de Retrospectiva da Sprint
É a última reunião da Sprint, um debriefing para melhoria contínua.
- O PO e outros são convidados apenas se necessário.
- A equipe se reúne para discutir o que ocorreu na Sprint.
- Pontos positivos e negativos devem ser levantados e registrados.
- Os diversos pontos devem ser discutidos e soluções propostas.
- Revisão sobre os conceitos de "Pronto" (Definition of Done), "Preparado" (Definition of Ready), ferramentas, comunicação, testes, etc.
- Promover a melhoria contínua do trabalho.
Reunião de Revisão da Sprint (Sprint Review)
- O Time de Desenvolvimento apresenta o resultado da Sprint para o PO, para sua aprovação.
- O PO aprova as histórias que considera satisfeitas.
- A definição de "Pronto" (Definition of Done) é muito importante.
- O PO informa se a Meta da Sprint foi ou não atingida.
- É um momento de prestação de contas e transparência.
- Gera subsídios para a próxima reunião de planejamento.
- Para uma Sprint de 30 dias, a reunião dura aproximadamente 4 horas.