Instituto Federal do Rio Grande do Norte IFRN Graduação Tecnologia em Analise e Desenvolvimento de Sistema Disciplina: Processo de Desenvolvimento de Software Scrum Alexandre Lima Guilherme Melo Joeldson Costa Marcelo Guedes
Para se entender o Scrumprecisamos entender o que são Metodologias ágeis de desenvolvimento.
A primeira ideia de métodos ágeis
PENSOU QUE ERA ISSO? ERRADO!
Metodologias Ágeis Surgiram no início dos anos 2000 procurando uma nova abordagem de desenvolvimento. Reação às metodologias tradicionais com o intuito de criação de novas alternativas. Em 2001, especialistas criaram a aliança Ágil e através do Manifesto Ágil, popularizou-se o termo metodologia Ágil.
Metodologias Ágeis O Manifesto Ágil valoriza 4 princípios. 1º Indivíduos e interações acima de procedimentos e ferramentas 2º Software funcionando acima de documentação 3 º Colaboração dos clientes acima de negociação de contratos 4º Responder à mudanças acima de um plano préestabelecido.
Agora com os princípios básicos de metodologias ágeis na cabeça vamos entender o que é Scrum.
Scrum - Origens O termo Scrum é o nome de um tipo de jogada que acontece no jogo de rugby. O termo foi utilizado pela primeira vez, no contexto de processo de desenvolvimento ou manufatura, por Ikujiro Nonaka e Hirotaka Takeuchi em um artigo chamado The New Product Development Game publicado na Harvard Business Review em 1986. Fundadores: Jeff Suttherland Ken Schwabe Mike Beedle Easel Corporation 1993 Inspiração Desenvolvimento Iterativo e incremental em empresas (DuPont) nos anos 80
Fundamentos de Scrum Desenvolvimento de software depende muito de criatividade e de trabalho (Dinâmico). Modelo de controle com processo empírico. O desenvolvimento nem sempre será repetido e bem definido. Mas existem padrões que podem ser usados.
Scrum - Ênfases Comunicação Trabalho em equipe Flexibilidade Fornecer software Incremental (funcionando)
Scrum - Objetivos Garantir maior flexibilidade e habilidade para tratamento de sistemas complexos e simples. Produzir um sistema sujeito a requisitos iniciais e adicionais durante o projeto: Requisitos dos cliente; Necessidades do negócio; Pressão relativa ao tempo; Competitividade do mercado; Qualidade; Recursos.
Scrum - Características Deliberadamente flexível; Cronograma flexível; Times de desenvolvimento pequenos (por volta de 6); Revisões frequentes; Colaboração;
Entendendo um pouco mais sobre os papéis no Scrum
As pessoas no Scrumestão organizadas em três papéis comprometidas com suas responsabilidades: Product Owner, ScrumMaster e Time.
Scrum Master ÉogurudoScrum. Conhecimento da dinâmica da framework Scrum Deve evitar problemas e práticas não ágeis É um líder-servidor Não é gerente de projetos Nãodefinequemfazoquê Acompanhaodiaadiadaequipe Cuida do planejamento das cerimônias Atenção à dinâmica Garante que as reuniões sejam realizadas Está atento para que os objetivos sejam atingidos Protege o Time Evita que o Time tenha interferências externas Também presta contas à equipe
Time Desenvolve o produto. Estima o tamanho dos itens a serem desenvolvidos Apresenta o produto para o cliente Define as tarefas (auto-organizável)
Product Owner Representante do dono do produto. Visão clara do produto. Deve estar disponível para a equipe. Elabora e mantém a lista de requisitos do sistema (Product Backlog). Prioriza os requisitos do sistema (Product Backlog). Aceita e rejeita as entregas. Responsável por avaliar o ROI (Return Over Investment).
Scrum - Fluxo
ProductBacklog Lista de requisitos Principal artefato do Scrum Item Valor de Negócio Como Candidato gostaria de visualizar os cursos disponíveis 100 pela instituição Como Candidato gostaria de fazer minha inscrição no vestibular Como Candidato gostaria de emitir boleto para pagamento das taxas de inscrição no vestibular 80 70 Fornecer o controle de resultados e aprovações do vestibular 60 Emitir boleto para pagamento da matrícula do curso que o candidato foi aprovado 50
Sprint Planning Product Owner: Apresenta e explica os itens de maior valor de negócio Time: Design da arquitetura do sistema Estimativas de datas e custos Definição do Sprint Backlog
Sprint Processo Empírico Cada time recebe uma parte do backlog para desenvolvimento Obacklognãosofrerá modificações durante osprint Duraçãode1a4semanas Sempre apresentam um executável ao final
Reuniões Diárias (Daily meeting) Cerca de 15 minutos de duração Gerenciada pelo líder de cada equipe Todos respondem às 3 perguntas: O que você realizou desde a ultima reunião? Quais problemas você enfrentou? Em que você trabalhará até a próxima reunião? Benefícios: Maior Interação entre os membros da equipe Rápida solução de problemas Promovendo o compartilhamento de conhecimento Processo medido continuamente Minimização de riscos
Reunião de Revisão (Review meeting) Apresentação do incremento ao Product Owner e aos stakeholders Sugestões de mudanças (feedback) são incorporadas ao backlog Benefícios: Apresenta resultados concretos ao cliente Integra e testar uma boa parte do software Motiva a equipe
Reunião de Retrospectiva (Retrospective meeting) Permite que o time realize uma auto-reflexão da sprint com o objetivo de identificar: O que funcionou bem O que não funcionou bem O que pode ser melhorado Estimula a melhoria contínua do projeto
Visibilidade Scrumpropõe o uso de ferramentas para tornar visível o progresso do projeto e os problemas que precisam ser resolvidos: KanBan(quadro de atividades): estimula os times a puxar itens para a produção e a sinalizar o progresso das tarefas Gráfico Burn-down: mostra quanto valor de negócio, tamanho ou Gráfico Burn-down: mostra quanto valor de negócio, tamanho ou esforço já foram queimados durante a Sprintou o projeto inteiro.
O quadro Kanban
Scrum: Papéis Comprometidos! O sucesso de qualquer equipe de desenvolvimento ágil não está no processo está nas PESSOAS! A recuperação desse valor talvez tenha sido a maior contribuição do manifesto ágil. Entretanto, para que essas pessoas façam à diferença é preciso que elas estejam de fato comprometidas.
Scrum: Papéis Comprometidos Abaixo a diferença entre comprometimento e envolvimento.
Referências Scrum Alliance.org - Organização de âmbito mundial que certifica e fomenta o desenvolvimento do Scrum no mundo Comunidade Scrum no Brasil Comunidade Scrum em Portugal Cursos de Scrum em Portugal Scrum para Designers Adaptive Project Management Using Scrum The New New Product Development Game Scrum Delivers or Scrum and the Toyota Way http://www.youtube.com/watch?v=eygufrzrjn4&feature=bf_next&list =PL780A2478CDC02F4B&index=8 http://quebrandoparadigmas.com/?tag=scrum O diferencial Scrum. Manoel P. Medeiros, Revista Java Magazine 73.