Perdendo no revezamento...
O estilo de “corrida de revezamento” aplicado ao desenvolvimento de produtos pode conflitar com os objetivos de velocidade e flexibilidade máximas. Ao invés disto, um estilo holístico, onde a equipe busca, como em um jogo de futebol, de forma integrada, chegar ao gol, com passes de bola, pode servir melhor às atuais necessidades competitivas.
Adequado de “The New New Product Development Game”,
Hirotaka Takeuchi e Ikujiro Nonaka, Harvard Business Review,
January 1986.
Scrum em 100 palavras
● Scrum é um processo ágil que permite manter o foco na entrega do maior valor de negócio, no menor tempo possível.
● Isto permite a rápida e contínua inspeção do software em produção (em intervalos de duas a quatro semanas).
● As necessidades do negócio é que determinam as prioridades do desenvolvimento de um sistema. As equipes se auto-organizam para definir a melhor maneira de entregar as funcionalidades de maior prioridade.
● Entre cada duas a quatro semanas todos podem ver o real software em produção, decidindo se o mesmo deve ser liberado ou continuar a ser aprimorado por mais um “Sprint”.
Origens do Scrum
● Jeff Sutherland
● Uso inicial do scrum na Easel em 1993
● IDX e mais de 500 pessoas usando scrum
● Ken Schwaber
● ADM
● Apresentação na OOPSLA 96 com Sutherland
● Três livros sobre Scrum
● Mike Beedle
● Padrões para o Scrum na PLOPD4
● Ken Schwaber and Mike Cohn
● Fundaram a Scrum Alliance em 2002, inicialmente junto com a Agile Alliance
● The Mythical Man Month by Frederick Brooks, 1975.
– Quando um projeto está atrasado, adicionar pessoas ao projeto servirá apenas para atrasá-lo ainda mais.
– Devemos considerar o tempo que perdemos em gestão e comunicação quando temos pessoas demais trabalhando em um projeto.
– Ao calcular o tempo de desenvolvimento de qualquer coisa, temos que dobrá-lo. O programador precisa de "tempo para pensar" além do "tempo para programar"
– (tradução livre)
Quem usa o Scrum?
● Microsoft
● Intuit
● Yahoo
● Nielsen Media
● First American Real Estate
● Electronic Arts
● BMC Software
● High Moon Studios
● Ipswitch
● Lockheed Martin
● John Deere
● Philips
● Lexis Nexis
● Siemens
● Sabre
● Nokia
● Salesforce.com
● Capital One
● Time Warner
● BBC
● Turner Broadcasting
● Intuit
● Oce
Scrum tem sido usado para:
● Software comercial
● Video games
● Desenvolvimento interno
● Sistemas para suporte à vida
● Desenvolvimento contratado
● Sistemas para controle de (terceirização) satélites
● Projetos de preço fixo
● Websites
● Aplicações Financeiras
● Software para handhelds
● Aplicações certificadas pela
● Telefones celulares
● Aplicações para redes
● Sistemas embarcados
● Aplicações de ISV
● Sistemas disponíveis 24x7 (Independent Software
● Desenvolvimento por hackers Vendors) solitários
● Algumas das maiores aplicações em produção
Características
● Equipes que se auto-organizam
● O produto evolui em uma série de “Sprints” mensais
● Os requerimentos são listados em um “Product Backlog”
● Não há prática de engenharia prescrita (o Scrum adequa-se a todas)
● Usa regras generativas na criação de um ambiente ágil para a entrega de projetos
● É uma das “metodologias ágeis”
Scrum 24 horas
Sprint
2-4 semanas
Objetivo do Sprint
Retorno
Sprint Produto a ser entregue
GCifutp wornasp (ou seu incremento)
EmCabnrcuelhlo Cupons
Product
backlog
Em resumo...
Imagem disponível em:
www.mountangoatsoftware.com/scrum
Sprints
● Projetos Scrum progridem em uma série de “sprints”
● Similar às iterações do XP
● Ocorre em um período de duas a quatro semanas
● Um período constante leva a um melhor “ritmo”
● O produto é projetado, codificado e testado durante o sprint
Desenvolvimento seqüencial versus paralelo
Requerimentos Projeto
Código Teste
Ao invés de completar uma coisa por vez...... equipes Scrum fazem um pouco de cada coisa, todo o tempo.Nenhuma mudança durante o Sprint.
Change
Planeje a duração dos sprints de acordo com o máximo tempo com o qual você pode se comprometer
a deixar as mudanças fora deles (um mês ou menos).
Scrum framework
Papéis
•Dono do produto
•ScrumMaster
•Equipe Cerimônia
•Planejamento
•Revisão
•Retrospectiva
•Reunião diária
Artefatos
•Product backlog
•Sprint backlog
•Burndown charts
Dono do produto
● Define as funcionalidades do produto
● Decide datas de lançamento e conteúdo
● Responsável pela rentabilidade (ROI)
● Prioriza funcionalidades de acordo com o valor de mercado
● Ajusta funcionalidades e prioridades
● Aceita ou rejeita o resultado dos trabalhos
ScrumMaster
● Representa a gerência para o projeto
● Responsável pela aplicação dos valores e práticas do Scrum
● Remove obstáculos
● Garante a plena funcionalidade e produtividade da equipe
● Garante a colaboração entre os diversos papéis e funções
● Escudo para interferências externas
Equipe
● Entre 5 e 9 pessoas
● Multi-funcional
● Programadores, testadores, desenvolvedores de interfaces, etc.
● Tempo integral
● Raras exceções (Ex.: Administrador de Base de Dados)
● Auto-organizável
● Idealmente, sem títulos, ainda que possível
● Trocas só na mudança de Sprints
Scrum framework
Papéis
•Dono do produto
•ScrumMaster
•Equipe Cerimônia
•Planejamento
•Revisão
•Retrospectiva
•Reunião diária
Artefatos
•Product backlog
•Sprint backlog
•Burndown charts
Planejamento do Sprint
Capacidades Planejamento da equipe
•Análise e avaliação do backlog product backlog
Objetivo
•Objetivo do sprint
•Decidir como chegar ao objetivo (projeto)
Sprint
•Cria tarefas do sprint backlog a partir dos itens backlogdo product backlog (user stories / uncionalidades)
•Horas no sprint backlog
● A equipe seleciona itens do Product Backlog com os quais compromete-se a concluir
● O Sprint Backlog é criado
● Tarefas identificadas e estimadas (1 a 16 horas)
● De forma colaborativa, não apenas feito pelo ScrumMaster
● Planejamento de alto nível é considerado
Quero que os usuários do Modelagem (8 horas)
portal possam Codificar interface, planejar suas férias,
Atualizar testes de escolhendo performance itinerários online.
Scrum diário
● Parâmetros
● Diário
● 15 minutos
● Todos em pé!
● Não é para a solução de problemas
● Todo mundo é convidado
● Apenas os membros da equipe, ScrumMaster, dono do produto podem falar
● Ajuda a evitar reuniões adicionais desnecessárias
Três questões, para todos
1 O que fizeste ontem?
2 O que vais fazer hoje?
3 Há algum obstáculo?
● As respostas não são um “relatório” para o ScrumMaster
● Elas são COMPROMISSOS perante os pares
Revisão do Sprint
● Equipe apresenta os resultados obtidos durante o Sprint
● Tipicamente, demonstração de novas funcionalidades ou sua arquitetura
● Informal
● 2 horas de preparação
● Sem slides
● Todo o time participa
● O mundo é convidado
Retrospectiva do Sprint
● Periodicamente, observe o que funciona e o que não funciona
● Tipicamente de 15 a 30 minutos
● Feita após cada Sprint
● Toda a equipe participa
● ScrumMaster
● Dono do produto
● Membros da equipe
● Clientes e outros
Inicia, Pára, Continua
● A equipe discute o que gostaria de:
Iniciar a fazer.
Parar de fazer.
Continuar a fazer.
Scrum framework
Papéis
•Dono do produto
•ScrumMaster
•Equipe Cerimônia
•Planejamento
•Revisão
•Retrospectiva
•Reunião diária
Artefatos
•Product backlog
•Sprint backlog
•Burndown charts
Product Backlog
● Os requerimentos
● Uma lista de todo o trabalho desejado no projeto
● Idealmente, na forma em que cada item tenha seu peso de acordo com a vontade do cliente ou usuários
● Priorizado pelo dono do produto● Repriorizado no início de cada Sprint
Gerenciando o Sprint Backlog
● Cada indivíduo escolhe o trabalho que fará
● Trabalhos nunca são atribuídos
● Atualização diária da estimativa do trabalho restante
● Qualquer membro da equipe pode adicionar, apagar ou mudar tarefas
● O trabalho aparece a partir do Sprint
● Se uma tarefa não é clara, defina-a como um item com uma quantidade maior de tempo e subdivida-a depois
● Atualize as coisas a serem feitas na medida em que se tornam mais conhecidasEscalabilidade
● Equipe de 7 ± 2 pessoas
● Escalabilidade através de equipes de equipes
● Fatores de escala
● Tipo de aplicação
● Tamanho da equipe
● Dispersão da equipe
● Duração do projeto
● Scrum é usado em projetps envolvendo mais de 500 pessoas
● www.mountaingoatsoftware.com/scrum
● www.scrumalliance.org
● www.controlchaos.com
● scrumdevelopment@yahoogroups.com
● Agile Software Development with Scrum by Ken Schwaber and Mike Beedle
● Agile Project Management with Scrum by Ken Schwaber
● Scrum and the Enterprise by Ken Schwaber
● Artigos de Cesar Brod, sobre Scrum, no Dicas-L
● www.dicas-l.com.br/brod
● www.brod.com.br
● Procure por Scrum
● Links para exemplos online de Sprint e Product Backlog
Dicas de Leitura
● Agile and Iterative Development: A Manager’s Guide by Craig Larman
● Agile Estimating and Planning by Mike Cohn
● Agile Project Management with Scrum by Ken Schwaber
● Agile Retrospectives by Esther Derby and Diana Larsen
● Agile Software Development Ecosystems by Jim Highsmith
● Agile Software Development with Scrum by Ken Schwaber and
● Mike Beedle
● Scrum and The Enterprise by Ken Schwaber
● User Stories Applied for Agile Software Development by Mike Cohn
● Artigos semanais em www.scrumalliance.org
Nenhum comentário:
Postar um comentário