PSP - Aula 02 Vanilson Burégio Roteiro Processo de desenvolvimento a ser adotado na disciplina Estabelecimento das metas semanais Processo de desenvolvimento Processo de desenvolvimento ágil – Foco em resultados produzidos semanalmente – O processo adotado será baseado no SCRUM • Invented by Jeff Sutherland, Ken Schwaber and Mike Beedle Term “scrum” originally derived from strategy in game of rugby; “getting an out-of-play ball back into the game” with teamwork (Schwaber and Beedle 2002) SCRUM - Visão Geral Desenvolvimento Iterativo e Incremental Ênfase em: – Comunicação – Trabalho em equipe – Flexibilidade – Fornecer software funcionando • incrementalmente SCRUM - Principais conceitos Backlog Equipes Sprints Encontros Scrum Revisões Scrum/Demos SCRUM - Principais conceitos Backlog – Lista das demandas a serem implementadas – É gerada incrementalmente – Começa pelo básico, o extra aparece com o tempo – Pode conter • Tarefas diretas, casos de uso e histórias (a la XP) – A lista é priorizada pelo dono do projeto • Cliente, depto de marketing, ... SCRUM - Principais conceitos Backlog Inicial – Deve conter características que agreguem algum valor de negócio ao produto – Novos requisitos aparecem quando o cliente vê o produto – A arquitetura do sistema surge enquanto o projeto surge e é refatorado SCRUM - Principais conceitos Equipe – Sem nível hierárquico nem papéis • Mas com várias especialidades – Estão todos no mesmo barco – Geralmente equipes pequenas – Comunicação é essencial • Encontro Scrum diário SCRUM - Principais conceitos Sprint – Unidades básicas de tempo (até 30 dias) Começa com um encontro Sprint – Tarefas do Backlog são priorizadas – A equipe seleciona tarefas que podem ser completadas durante o próximo Sprint – As mesmas podem ser quebradas para o Backlog do Sprint – Cada tarefa recebe um responsável na equipe – Não há mudança nas tarefas durante o Sprint SCRUM - Principais conceitos Encontro SCRUM – Pequenos encontros diários da equipe – Questões que aparecem devem ser resolvidas durante o dia e não na reunião – Os encontros iniciais são geralmente mais longos SCRUM - Principais conceitos Encontro SCRUM – Questões que devem ser respondidas por cada pessoa: • 1) O quê você fez desde o último encontro? • 2) O quê você vai fazer hoje? • 3) Quais os problemas encontrados? – Ajuda a manter as promessas – Evita: Como um projeto atrasa um ano? • Um dia por vez ... • Qualquer deslize pode ser corrigido de imediato SCRUM - Principais conceitos Revisão do Sprint – No final de cada Sprint (semana) é feita uma reunião com todos os interessados – Geralmente • Na forma de demonstração • Informal (preparação rápida, sem projetor,..) • Deve ser o resultado natural de um Sprint – O projeto é comparado com os objetivos iniciais do Sprint SCRUM - Principais conceitos SCRUM Master – Faz com que a equipe viva os valores e práticas de Scrum – Protege a equipe de: • Riscos e interferências externos • Excesso de otimismo – Resolve os problemas que aparecerem • logísticos • de conhecimento/habilidade SCRUM - Principais conceitos SCRUM Master – Mantém o Backlog do Sprint • Tarefas completadas • Identifica eventuais problemas – Mantém um gráfico de “quanto falta” 100 90 80 70 60 50 40 30 20 10 0 horas SCRUM - Visão Geral do processo Encontro scrum diário 24 horas Tarefas do Backlog distribuídas pela equipe 1) O quê você fez desde o último encontro? 2) O quê você vai fazer hoje? 3) Quais os problemas encontrados? 30 dias Estabelecimento do Sprint Backlog do Produto Priorizado pelo “Dono do produto” Demonstração do que está pronto Instanciando o SCRUM para a nossa realidade... PSP-SCRUM - Conceitos Backlog – Demanda do projeto a ser desenvolvido – Novos requisitos surgirão quando o cliente (professor) vê o produto – Backlog inicial: sorteio de problema a ser tratado Equipes – no máximo 3 pessoas por equipe! PSP-SCRUM - Conceitos Sprints – Duração de 1 semana • Algumas metas terão mais ou menos de 1 semana para serem atingidas – Metas semanais estabelecidas na 1ª aula da semana • Cada equipe deve informar no final da aula 1ª aula da semana os responsáveis por cada atividade, isso deve ficar registrado na página do projeto Encontros Scrum – Cada aula corresponderá a um encontro scrum • 1) O quê você fez desde o último encontro? • 2) O quê você vai fazer hoje? • 3) Quais os problemas encontrados? Revisões Scrum/Demos – Realizads nas datas de acordo com o cronograma PSP-SCRUM - Processo (exemplo) Encontro scrum (sexta-feira) Aula Tarefas distribuídas pela equipe na aula Terça-feira:Estabelecimento das metas da semana (Sprint) 1) O quê você fez desde o último encontro? 2) O quê você vai fazer hoje? 3) Quais os problemas encontrados? 1 semana Backlog do Produto Definido previamente pelo Professor Terça-feira: Demonstração do que está pronto Vamos começar? Encontro SCRUM 01 Backlog Inicial – – – – Formação das equipes Sorteio do problema a ser tratado por cada equipe Os modelos Disponibilizar documento da equipe serão fornecidos Especificar proposta inicial do projeto pelo professor – Data da verificação: 12/08/2008