O documento introduz o framework Scrum para gestão ágil de projetos de software. Scrum surgiu a partir do pensamento enxuto e visa entregar valor ao cliente de forma incremental através de feedback contínuo. O framework define papéis como Product Owner e Scrum Master e processos como Sprints, Daily Meetings e Retrospectivas para melhoria contínua.
1. SCRUM Introdução a Gestão Ágil de Projetos André Marsal – SCRUM MASTER CERTIFIED
2.
3.
4. Influências do Scrum Lean Thinking - “Pensamento enxuto” “ Produção Just in time” “ Não tentar prever o futuro” “ Desperdício é sinal de prejuízo”. Tempo é dinheiro. Takeuchi e Nonaka Revezamento x abordagem holística Artigo "The New Product Development Game" de 1986 “Equipes Multifuncionais trabalhando ao mesmo tempo e energizadas para produzir um resultado de valor ao cliente” Desenvolvimento Interativo e Incremental “ Pequenas partes para construir o todo” Manifesto Ágil Prestígio a criatividade para atingir resultados de alto valor agregado
5. O que é ser ágil em desenvolvimento de software? Indivíduos e interações Software funcional Colaboração com cliente Responder a mudanças Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Processos e ferramentas Seguir um plano Negociação contratual Processos e ferramentas Documentação abrangente Sobre Sobre Sobre Sobre
6. Manifesto Ágil O Manifesto Ágil, criado em 2001, descreve a essência de um conjunto de abordagens para desenvolvimento de software criadas ao longo da última década. Um grupo de profissionais veteranos na área de software decidiram se reunir em uma estação de esqui, nos EUA, para discutir formas de melhorar o desempenho de seus projetos.
7. Modelo tradicional x Modelo Ágil Modelo Ágil Modelo Sequencial PROCESSOS EMPÍRICOS Visão do Usuário Requisitos Projeto Codificação Teste Requisitos Projeto Codificação Teste Projeto Codificação Projeto Teste Codificação Projeto
10. Scrum na prática - Papéis Product Owner Time Scrum Master Executores multifuncionais Auto-organizado Dedicados aos objetivos do produto Reforça os valores e praticas do SCRUM Define funcionalidades; Prioriza funcionalidades de acordo com o valor; Aceita ou rejeita o produto. É a ponte entre o usuário e a equipe. Responsável em garantir e demonstrar o ROI do produto Remove impedimentos Reforça a cooperação Assegura valores e práticas do Scrum Conduz melhoria contínua de processos Aplica o planejamento continuo (PDCA). Garante o andamento do Product Backlog
13. Product Backlog Product Backlog Lista de requisitos ou trabalhos desejados no projeto. Priorizado pelo Product Owner. Deve ser expressado de maneira que cada requisito tenha um “valor” para o usuário ou cliente. Pode ser representado por um conjunto de Requisitos de Software ou por User Estories
14. Tamanho do Product Backlog Em SCRUM estima-se tamanho. O tempo depende de fatores como: Cadência Fatores ambientais Impedimentos Conhecimento PLANNING POKER O item é apresentado brevemente para todos pelo moderador, que normalmente é o Product Owner ou o Scrum Master. A equipe faz perguntas para entender melhor do que se trata o item, mas sem discutir detalhes de implementação. O foco aqui é entender o que deve ser feito, não como. Cada membro da equipe escolhe em silêncio a carta que representa sua estimativa. O moderador ( Scrum Master) pede para todos mostrarem as cartas. Se todas as estimativas forem iguais, o que raramente acontece de primeira, a estimativa está feita e o processo volta ao início, para um novo item. Se houver ao menos uma estimativa diferente, aqueles que apresentaram o(s) maior(es) e o(s) menor(es) valor(es) se justificam. O processo se repete até todas as estimativas convergirem. Aqui vale o bom senso: se, por exemplo, 3 membros da equipe colocaram ‘5′ como estimativa, e um único desenvolvedor insiste em colocar ‘3′, o ideal é que ele abra mão
15. Sprint Backlog Sprint Backlog Lista de tarefas para cada item do Product Backlog. Lista definida e estimada pela equipe Scrum
16. Execução do Sprint Sprint Planning Metting #1 É uma reunião que ocorre entre a equipe, Product Owner,Scrum Master e steakeholders, onde o Product Owner apresenta o Sprint e seus objetivos, bem como a priorização das atividades do Sprint. Sprint Planning Metting #2 Após a Sprint Planning Metting #1, a equipe Scrum se reúne para interpretação do conteúdo da primeira reunião e define o que é possível atender no Sprint. Em alguns casos é necessária a negociação do objetivo junto ao PO.
18. Quadro de Acompanhamento QUADRO KANBAN Nascido na Toyota, o fundamento básico desta técnica, está baseado em manter um fluxo contínuo dos produtos que estão sendo manufaturados. Permite o acompanhamento visual da construção de um Item de Backlog, onde cada fase da construção de uma peça, que faz parte do Item de Backlog pode ser rapidamente identificada pela equipe.
19. Execução do Sprint SCRUM DAILY METTING Reunião para acompanhamento do Sprint onde cada membro da equipe responde 3 perguntas: O que fez ontem? O que fará hoje? Há algum impedimento? Atualização do Sprint BurnDown Chart Com base nas informações coletadas da equipe o Scrum Master atualiza e publica o Burndown Chart
20. Sprint Revisão e Retrospectiva Sprint Review Metting Ao final do Sprint o time demonstra o resultado alcançado. Além da equipe estará presente a esta reunião o Product Owner, Scrum Master e os demais envolvidos e interessados no projeto. Sprint Retrospective Mecanismo de melhoria contínua onde a equipe e o Scrum Master identifica pontos positivos e negativos do Sprint. Na retrospectiva também há espaço para melhorias no processo. Idéias concretas a serem implementadas em outro Sprint.
21. Scrum na Prática – Ciclo de Vida Incremento de Software São as versões do produto de software A cada iteração temos uma versão do produto. Em Scrum cada iteração entrega parte do produto funcional. Ao terminar o estoque do Product BackLog teremos o produto final.
22. Aplicando a agilidade Melhoria simultânea em qualidade, prazo e produtividade O paradigma do triângulo de ferro do custo, esforco, escopo e qualidade parece ditar que é impossível melhorar simultaneamente em todos os aspectos Foco em inovação freqüente e incremental e melhoria continua de processo e de produto Foco em seguir um processo definido, decisões são tomadas um nível hierárquico acima, melhoria só é permitida se for institucionalizada de cima para baixo. Responsabilidades mais amplas pelos desenvolvedores produz maior produtividade Especialização do trabalho e do trabalhador produz maior produtividade Adaptabilidade a mudanças no design, no cronograma e nos objetivos de custos Rigidez, controle e prevenção de mudanças nos requisitos, design, cronograma e custo. Transferência freqüente de informação preliminar entre passos de desenvolvimento Transferência de informação formal em momentos pré-determinados do desenvolvimento Reduzir o inventario de informação entre os passos de desenvolvimento Produção de altas quantidade de inventários de informação (produtos inacabados, artefatos) entre os passos de desenvolvimento Desenvolvimento em incrementos de curtos períodos de tempo Desenvolvimento em longos períodos de tempo Mudanças freqüentes no produto (software releases) Entrega única no final do projeto de um produto Desenvolvimento Ágil Desenvolvimento Tradicional