Agilidade: SCRUM e XP



Documentos relacionados
SCRUM: UM MÉTODO ÁGIL. Cleviton Monteiro

Desenvolvimento Ágil de Software

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM)

Métodos Ágeis para Desenvolvimento de Software Livre

Metodologias Ágeis. Aécio Costa

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática

EXIN Agile Scrum Fundamentos

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.

XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp

Processo de Desenvolvimento de Software Scrum. Prof. Antonio Almeida de Barros Jr.

Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades

Uma introdução ao SCRUM. Evandro João Agnes

ENGENHARIA DE SOFTWARE I

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta Rafael Reimberg Vinicius Quaiato

Com metodologias de desenvolvimento

development Teresa Maciel DEINFO/UFRPE

Objetivos do Módulo 3

Manifesto Ágil - Princípios

SCRUM. Fabrício Sousa

Sistemas de Informação I

Desenvolvimento Ágil de Software em Larga Escala

Scrum Guia Prático. Raphael Rayro Louback Saliba Certified Scrum Master. Os papéis, eventos, artefatos e as regras do Scrum. Solutions.

SCRUM. Otimizando projetos. Adilson Taub Júnior tecproit.com.br

Engenharia de Software I. Aula 15: Metodologias Ágeis. Prof. Márcio D. Puntel

Agilidade parte 3/3 - Scrum. Prof. Dr. Luís Fernando Fortes Garcia luis@garcia.pro.br

Frederico Aranha, Instrutor. Scrum 100 Lero Lero. Um curso objetivo!

Ágil. Rápido. Métodos Ágeis em Engenharia de Software. Introdução. Thiago do Nascimento Ferreira. Introdução. Introdução. Introdução.

Gerenciamento de Equipes com Scrum

Engenharia de Software II

METODOLOGIAS ÁGEIS - SCRUM -

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Desenvolvimento Ágil sob a Perspectiva de um ScrumMaster

Jonas de Souza H2W SYSTEMS

SCRUM Gerência de Projetos Ágil. Prof. Elias Ferreira

Processo de Desenvolvimento de Software. Unidade V Modelagem de PDS. Luiz Leão luizleao@gmail.com

METODOLOGIA ÁGIL. Lílian Simão Oliveira

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE

Especialização em Engenharia de Software e Banco de Dados

Dinâmica em Grupo com o Framework SCRUM

Workshop SCRUM. Versão 5 Out 2010 RFS. rildo.santos@etecnologia.com.br

Géssica Talita. Márcia Verônica. Prof.: Edmilson

Francielle Santos

Gestão de Projetos com Scrum

Fundamentos do Scrum aplicados ao RTC Sergio Martins Fernandes

Programação Orientada a Testes Rodrigo Rebouças de Almeida

Capítulo 1. Extreme Programming: visão geral

Metodologia SCRUM. Moyses Santana Jacob RM Stelvio Mazza RM Tiago Pereira RM Hugo Cisneiros RM 60900

Alexandre Lima Guilherme Melo Joeldson Costa Marcelo Guedes

[Agile] Scrum + XP. Wagner Roberto dos Santos. Agilidade extrema. Arquiteto Java EE / Scrum Master wrsconsulting@gmail.com. Globalcode open4education

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga

UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO

Engenharia de Software II: SCRUM na prática. Ricardo de Sousa Britto

Scrum. Gestão ágil de projetos

ScRUM na prática. Scrum no dia-a-dia. V Semana de Tecnologia da Informação

Wesley Torres Galindo.

SCRUM Discussão e reflexão sobre Agilidade. Fernando Wanderley

Caso Prático: Java como ferramenta de suporte a um ambiente realmente colaborativo no método Scrum de trabalho

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê?

Scrum. Centro de Informática - Universidade Federal de Pernambuco Sistemas de Informação Kiev Gama kiev@cin.ufpe.br

Scrum How it works. Há quatro grupos com papéis bem definidos:

RESUMO PARA O EXAME PSM I

Comparativo entre Processos Ágeis. Daniel Ferreira

Um pouco de história

Desenvolvendo Software Livre com Programação extrema

INTRODUÇÃO A PROJETOS

Ferramenta para gestão ágil

ágeis para projetos desenvolvidos por fábrica de software

Prof. Me. Marcos Echevarria

Guia Projectlab para Métodos Agéis

ANEXO 07 CICLO DE DESENVOLVIMENTO ÁGIL PROCERGS

Wesley Torres Galindo

INTRODUÇÃO AOS MÉTODOS ÁGEIS

MANIFESTO ÁGIL. Esses conceitos aproximam-se melhor com a forma que pequenas e médias organizações trabalham e respondem à mudanças.

Engenharia de Software

ENG1000 Introdução à Engenharia

Daniel Wildt

Gerenciamento Ágil de Projetos HEITOR RORIZ FILHO, MSc, PMI-ACP, CST Massimus C&T

Scrum no Desenvolvimento de Jogos Eletrônicos

O Guia Passo-a-Passo para IMPLANTAR. Em seu próprio Projeto

Metodologia Scrum e TDD Com Java + Flex + Svn Ambiente Eclipse

SCRUM. É um processo iterativo e incremental para o desenvolvimento de qualquer produto e gerenciamento de qualquer projeto.

Módulo de projetos ágeis Scrum Módulo de Projetos Ágeis Scrum

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Engenharia de Software

PROJETO CEMEA. Um trabalho educacional

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Expresso Livre Módulo de Projetos Ágeis

APM Agile Project Manager (PMBOK + Scrum) / TI. Nelson Abu e Neilza Andrea

Os Desafios da Segurança no Desenvolvimento com Métodos Ágeis. OWASP Education Project. The OWASP Foundation

Engenharia de Software I

Aluna: Vanessa de Mello Orientador: Everaldo Artur Grahl

Uma introdução ao SCRUM

Transcrição:

Agilidade: SCRUM e XP

Facilitador Fernando Costa formado em Redes de Computadores Sócio da 3LJ Tecnologia www.3lj.com.br Agenda SCRUM: Contexto de projetos Valores ágeis Princípios ágeis Scrum

Paradoxo de Cobb We know why projects fail, we know how to prevent their failure so why do they still fail? Martin Cobb Treasury Board of Canada Secretariat Nós sabemos porque os projetos falham, sabemos como previnir Porque eles continuam falhando?

Reflexão do Caranguejo Todos os caranguejos ficam amarrados a um barbante que fica solto. Não é preciso amarrar pois todos querem fugir mas cada um que ir para um lado diferente. Ficam no mesmo lugar

Valores do Manifesto Ágil Indivíduos e interações Processos e ferramentas Software que funciona Documentação abrangente ao invés de Colaboração do cliente Negociação de contrato Resposta à mudanças Seguir um plano www.agilemanifesto.org - 2001

Princípios do Manifesto Ágil 1 - O principal compromisso é com a satisfação do cliente, por meio da entrega mais rápida e contínua de produto com valor 2 - Receba bem as mudanças de requisitos(mesmo em estágios tardios do projeto). Processos ágeis devem admitir mudanças que trazem vantagens competitivas ao cliente 3 - Libere produto frequentemente (de 2 a 4 semanas), dando preferência para uma escala de tempo curta

Princípios do Manifesto Ágil 4 - Mantenha pessoas ligadas ao negócio (cliente) e desenvolvedores trabalhandos juntos a maior parte do tempo do projeto 5 - Construa projetos com indivíduos motivados, dê a eles o ambiente e suporte que precisam e confie neles para ter o trabalho realizado 6 - O método mais eficiente e efetivo para repassar a informação entre a equipe é pela comunicação face a face

Princípios do Manifesto Ágil 7 - Produto funcionando é a principal medida de progresso de um projeto 8 - Processos ágeis promovem o desenvolvimento sustentado. Patrocinadores, desenvolvedores e usuários devem ser capazes de manter conversação pacífica indefinidamente 9 - Atenção contínua para excelência técnica e bom projeto (planejamento) aprimoram a agilidade

Princípios do Manifesto Ágil 10 - Simplicidade é essencial e deve ser assumida em todos os aspectos do projeto 11 - As melhores arquiteturas, requisitos e projetos emergem de equipes autoorganizadas 12 - Em intervalos regulares, as equipes devem refletir sobre como se tornarem mais efetivas, e então refinarem e ajustarem seu comportamento

SCRUM

Em resumo... Imagem disponível em: www.mountangoatsoftware.com/scrum

Cliente (ou Product Owner) Quem é o nosso cliente? Funcionalidades do produto Decide as datas e conteúdo Rentabilidade (ROI) Ajusta e prioriza funcionalidades e prioridades Aceita o rejeita resultados

Scrum Master Remove obstáculos Não tem autoridade Produtividade da equipe Conduz eventos Escudo da equipe

Equipe 5 a 9 pessoas Multi-funcional Auto-organizável Sugere funcionalidades do produto

Product Backlog Lista de funcionalidades desejadas no projeto Os itens que compõe a lista são chamados de histórias ou itens de backlog Todos podem incluir histórias Somente o Product Owner pode priorizá-las Product Owner pode priorizar novamente no início de cada Sprint

Nosso Product Backlog ID Nome 1 Catálogo de produtos 2 Cesta de compras 3 Cadastro do cliente 4 Boleto bancário 5 Cartão de crédito Importância Estimativa Observação

Planning Poker Vamos estimar os itens de Backlog?

Nosso Product Backlog ID Nome Importância Estimativa Observação 1 Catálogo de produtos 3 2 Cesta de compras 5 3 Cadastro do cliente 2 4 Boleto bancário 4 5 Cartão de crédito 3

Qual a importância dos itens de backlog para o Product Owner?

Must Should Could Want (tem que ter) (deveria ter) (poderia ter) (interessante) Catálogo de produtos Boleto bancário Controle de estoque Videos dos produtos Cadastro de clientes Cartão de crédito Regras de promoção Cesta de compras Fotos dos produtos Registro do Pedido e entrega

Nosso Product Backlog ID Nome 1 2 3 4 5 Importância Estimativa Observação Catálogo de produtos Cesta de compras Cadastro do cliente Boleto bancário 1 3 1 5 1 2 2 4 Cartão de crédito 3 3 BB e CEF Visa e Mastercard

Sprint Deve ter um objetivo Período de 2 a 4 semanas Nenhuma mudança no sprint Processo baseado em uma série de iterações Produto é desenvolvido no sprint

Product Burnup Chart

Planejamento do Sprint Cliente, ScrumMaster e Equipe Cliente seleciona itens do Product backlog O Sprint backlog Tarefas identificadas e estimadas (1 a 16 horas) De forma colaborativa (por todos) Equipe compromete-se a concluir as tarefas

Planejamento do Sprint ID 1.1 ID - 1 Catálogo de produtos Administrador dos Produtos 10 horas ID 1.2 ID 1.3 Front-end da Loja 15 horas Busca fonética de produtos 2 horas

Scrum diário Tempo de 15 minutos Todos em pé Não é para a solução de problemas Todos são convidados Apenas a Equipe, ScrumMaster e Product Owner podem falar Sincronização do conhecimento Atualização do burnup chart 1. O que fiz desde a última reunião? 2. O que farei até a próxima reunião? 3. Existe algum obstáculo?

Gerenciando o Sprint backlog Cada membro da equipe escolhe a tarefa que fará Trabalhos nunca são atribuídos Atualização diária da estimativa do trabalho restante Equipe pode adicionar, apagar ou mudar tarefas (não itens de backlog)

Scrum board

Revisão do Sprint Informal Todos participam Hora do feedback Resultados do Sprint Comunicação eficaz: (bala / bombom)

Retrospectiva do Sprint Feita após cada Sprint Periodicamente observe pontos positivos e negativos Tipicamente de 15 a 30 minutos Todos participam

Inicia, Pára, Continua A equipe discute o que gostaria de: Iniciar a fazer Parar de fazer Esta é uma das várias maneiras de se conduzir uma retrospectiva do Sprint Continuar fazendo

Agora vocês explicam!!!

Resumo: Gerenciamento ágil Tópico Características Objetivo principal Orientado ao produto e centrado nas pessoas Tipo do projeto Projetos com mudanças constantes e que necessitam de respostas rápidas Tamanho Mais efetivo em projeto pequenos(5 a 9 pessoas) Gerente do projeto Papel de facilitador ou coordenador Equipe do projeto Atuação colaborativa em todas as atividades do projeto Cliente Essencial. Deve ser parte integrante da equipe do projeto Planejamento Curto e com a participação de todos os envolvidos na elaboração do planejamento Arquitetura Aplicação de design simples. Evolui junto com o projeto e baseia-se na refatoração Modelo de desenvolvimento Iterativo e Incremental Comunicação Informal Tópico Características

Dúvidas? Fernando Costa fernando@3lj.com.br www.fernandocosta.com.br Patrocínio: www.3lj.com.br Agradecimento: www.innovit.com.br

Agenda do XP Desenvolvimento tradicional Valores Princípios Práticas

Fazer software é dureza

Boa notícia Cases de sucesso: Google Microsoft Philips FAB (BR) Oi Paggo Má notícia Seus colegas não vão acreditar O seu chefe não vai aceitar O chefe do seu chefe não pode nem pensar

Não é assim que se faz software Principais falhas: a) Não entregam o acordado b) Orçamento c) Prazo d) Todas alternativas

Utilização de funcionalidades Pesquisado em 280 mil projetos de software nos EUA pela empresa Standish Group

64% de desperdício Podem gerar algumas horas extras para a equipe Cliente paga por lixo

Utilização de funcionalidades Pesquisado em 280 mil projetos de software nos EUA pela empresa Standish Group

20% muito útil Geram pelo menos 80% do valor do produto 20%? desconhecido no início do projeto XP é a arte de maximizar a quantidade de software que você não vai fazer Vinícius Manhães Teles

Análise Pai(cliente): 1 dia de projeto Mãe(desenv.): 9 meses de projeto

Análise Cliente: Não era nada disso que eu queria...

Mentalidade

Cascata

Custo da Mudança por Barry Bohem

Problemas e mudanças Patente do VELCRO: em 1941 por Georges de Mestral

Meio digital Fluidez Maleabilidade Invisibilidade Complexibilidade (elementos distintos) Baixo custo de manufatura Rapidez evolução

Nova mentalidade Chef Escritor

extreme Programming

Valores do XP o ã ç a c i un m o C m e g a r o C Respeito e d a d i il c p m Si k c a b d e Fe

Uma pergunta Como você programaria se tivesse tempo suficiente? Kent Beck

Possíveis respostas Mais testes? Mais projeto e arquitetura? Menos pessoas? Mais qualidade?

Programando ao Extremo Testar toda hora!! Se projetar é bom, vamos fazer disso parte do trabalho diário de cada pessoa! Integrar a maior quantidade de vezes possível! Iterações realmente curtas!

Práticas Cliente Presente Código Coletivo Testes de Aceitação Test-Driven Development Programação em pares Integração Contínua Coding Standard Refactoring Design Simples Planning Game Ritmo Sustentável Metáfora Releases Curtas Adaptado de xprogramming.com

Jogo do Planejamento Reunião semanal onde todos participam Escopo reavaliado Cliente prioriza e seleciona as histórias que serão desenvolvidas Ao fim da semana o cliente recebe produto funcionando

Reunião em pé 10/15 minutos Todos em pé Não é para a solução de problemas Todo mundo é convidado Apenas a Equipe pode falar Sincronização do conhecimento 1. O que fiz desde a última reunião? 2. O que farei até a próxima reunião? 3. Existe algum obstáculo?

Cliente presente e envolvido Responsabilidade do projeto: Equipe Cliente Comprometimento

Ritmo sustentável Semana de 40 horas (8hr/dia) Sem hora extra: Baixa produtividade Código de má qualidade Aumento de BUGs

Programação em par Forneça suporte e ferramentas Experimente, você vai se surpreender Alterne os pares para não ficar cansativo e nivelar o time Respeite a individualidade das pessoas

Código Padronizado

Código Coletivo Inibe ilhas de conhecimento Padrão de codificação Membro da equipe pode ter férias Direito de ficar doente

Integração Contínua Divergências aparecem antes de virar um problema Isso funcionava na minha máquina

Projeto Simples Faça o essencial Tudo pode mudar

Refatoração Time que está ganhando não se mexe FALSO Ex.: Empresas estáveis quebram se não mudarem Melhoria contínua

Desenvolvimento Orientado a Testes (TDD) Início é um pouco demorado Primeiro o teste, depois a funcionalidade para passar no teste Testes automatizados: Unitários, Interface e Aceitação RETORNO: Salvação no FIM do projeto

Releases curtos

Papéis Coach Goal Donnor Tracker Manager Gold Owner Programador Analista de Testes

Equipe nivelada

Dúvidas? Fernando Costa fernando@3lj.com.br www.fernandocosta.com.br 3LJ Tecnologia www.3lj.com.br Agradecimento: Vinícius Manhães Teles Improve It