Prévia do material em texto
SCRUM Professores: Daniel M. Muñoz Arboleda Edgard Costa Oliveira Fabiana Freitas Mendes Juliana Petrocchi Rodrigues Manuel Nascimento D. Barcelos 25 de agosto de 2015 1 of 36 A Visão Distorcida dos Métodos Ágeis 2 of 36 Valores do Manifesto para Desenvolvimento Ágil 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: Indivíduos e interação entre eles mais que processos e ferramentas Software em funcionamento mais que documentação abrangente Colaboração com o cliente mais que negociação de contratos Responder a mudanças mais que seguir um plano Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda. 3 of 36 Signatários do Manifesto Ágil Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas 4 of 36 Doze Princípios Ágeis (1) 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 of 36 Doze Princípios Ágeis (2) 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. 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. 6 of 36 Doze Princípios Ágeis (3) 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 of 36 O que é o SCRUM? (1) 8 of 36 O que é o SCRUM? (2) Palavra usada no Rugby para descrever uma formação. "O scrum é o meio de reiniciar o jogo após uma interrupção que tenha sido causada por uma infração leve às Leis (um passe para frente ou uma bola derrubada) ou por que a bola não pode continuar a ser jogada em um ruck ou maul. O scrum serve para concentrar todos os forwards e os médios scrum em um local do campo, proporcionando a oportunidade para os três-quartos prepararem um ataque usando o espaço criado em outro lugar" Fonte: Guia de Principiantes do Rugby Union. Disponível em http: // www. sharklion. com/ proyectos/ cbru/ main/ Download/ IRB_ PTBR. pdf . 9 of 36 O que é o SCRUM? (3) O Scrum é também uma metodologia ágil de gerência de projetos de desenvolvimento de software criada por Ken Schwaber e Jeff Sutherland (signatários do Manifesto Ágil). 10 of 36 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, no qual 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. Fonte: Adaptado de "The New New Product Development Game", Hirotaka Takeuchi e Ikujiro Nonaka, Harvard Business Review, January 1986 . 11 of 36 Filosofia do SCRUM Processo Empírico • Se um processo é totalmente definido, pode ser repetido e os resultados serem previsíveis, então é conhecido como processo definido e pode ser automatizado • Mas, se é caótico e não repetitivo, requer constante controle e medidas, é um processo empírico 12 of 36 Características do SCRUM (1) • Equipes que se auto-organizam • O produto evolui em uma série de "Sprints"mensais • Os requerimentos são listados em um "Product Backlog"? • É uma das "metodologias ágeis" 13 of 36 Ciclo de Vida do SCRUM 14 of 36 Características do SCRUM (1) • Projetos Scrum progridem em uma série de "sprints" • 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 15 of 36 Características do SCRUM (2) Desenvolvimento Sequencial X Paralelo "Ao invés de completar uma coisa por vez, equipes Scrum fazem um pouco de cada coisa, todo o tempo." Fonte: "The New New Product Development Game"by Takeuchi and Nonaka. Harvard Business Review, January 1986. 16 of 36 Características do SCRUM (3) Mudanças no SCRUM • Scrum encara a mudança como parte natural do processo de desenvolvimento • Mudanças solicitadas são introduzidas na sprint seguinte • Mudanças trazem vantagens competitivas 17 of 36 Elementos do SCRUM 18 of 36 Papéis do SCRUM (1) 19 of 36 Papéis do SCRUM (2) Dono do Produto 20 of 36 Papéis do SCRUM (3) SCRUM Master 21 of 36 Papéis do SCRUM (4) Equipe 22 of 36 Eventos do SCRUM (1) Planejamento da Sprint (1) 23 of 36 Eventos do SCRUM (2) Planejamento da Sprint (2) • A equipe seleciona itens do Product Backlog com quais compromete-se • O Sprint Backlog é criado • Tarefas identificadas e estimadas? • Todo trabalho de planejamento é feito de forma colaborativa • É feito um planejamento de alto nível 24 of 36 Eventos do SCRUM (3) Scrum Diário (1) • Diária • Todos de pé • Duração máxima de 15min • Não se procura solução de problemas durante a reunião 25 of 36 Eventos do SCRUM (4) Scrum Diário (2) São três as perguntas que devem ser respondidas por todos: 1. O que você fez desde a última reunião? 2. Você encontrou algum obstáculo para realizar suas atividades? 3. O que você vai fazer até a próxima reunião? As respostas não são um relatório para o ScrumMaster e são encaradas como compromissos com toda equipe! 26 of 36 Eventos do SCRUM (5) Revisão da Sprint • Equipe apresenta os resultados obtidos durante o Sprint • Tipicamente, demonstração de novas funcionalidades ou sua arquitetura • Informal • Máximo de 2 horas de preparação • Slides devem ser evitados • Todos são convidados 27 of 36 Eventos do SCRUM (6) 28 of 36 Eventos do SCRUM (7) Retrospectiva da Sprint • Feita após cada Sprint • O objetivo é observar o que funciona e o que não funciona • Tipicamente de 15 a 30 minutos • Toda a equipe participa Na reunião a equipe discute o que gostaria de iniciar a fazer, parar de fazer e continuar fazendo 29 of 36 Artefatos do SCRUM (1) Product Backlog • São todas as características que o produto deve possuir • Priorizado pelo dono do produto • Repriorizado no início de cada Sprint 30 of 36 Artefatos do SCRUM (2) Sprint Backlog (1) • Cada sprint deve ter um objetivo que defina o foco do trabalho • Definido a partir do Product Backlog • Cada indivíduo escolhe o trabalho que fará. Trabalhos nunca são atribuídos! • Atualização diária da estimativa do trabalho restante 31 of 36 Artefatos do SCRUM (3) Sprint Backlog (2) • Qualquer membro da equipe pode adicionar, apagar ou mudartarefas • O trabalho aparece e é controlado tendo como base a srint • Se uma tarefa não é clara, defina-a como um item com uma quantidade maior de tempo e subdivida-a depois • Atualize os itens do backlog a serem feitas na medida em que se tornam mais conhecidas 32 of 36 Artefatos do SCRUM (4) Burndown Chart 33 of 36 Ferramentas Existem diversas ferramentas para serem utilizadas no contexto de um gerenciamento Scrum: • Trello - https://trello.com • Scrum Half - http://myscrumhalf.com • ScrumMe - http://www.scrumme.com.br 34 of 36 Atividades 1. Dado o escopo do projeto atribuído a seu grupo, desenvolva uma EAP que o represente 2. Escolha a metodologia de gerenciamento a ser adoptada no projeto integrador. 3. Defina as ferramentas computacionais que serão usadas para o gerenciamento do projeto. 35 of 36 Dúvidas? Críticas? Sugestões? Obrigada =) fabianamendes@unb.br 36 of 36