Frederico Augusto “Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos a valorizar: Indivíduos e interação entre eles mais que processos e Software em funcionamento mais que documentação Colaboração com o cliente mais que negociação de Responder a mudanças mais que seguir um plano ferramentas abrangente contratos Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.” http://agilmanifesto.org Gastar energia em tarefas que não agregam valor nenhum ao cliente realmente é perda de tempo e dinheiro; Prioridades e atividades devem ser claras. A prioridade é satisfazer o cliente, entregando o mais rápido possível e de forma contínua software que tenha valor; Requisitos mutantes são bem vindos, mesmo no final do desenvolvimento. Os processos ágeis podem ser usados a favor de mudanças que tragam vantagem competitiva para o cliente; É importante entregar software funcionando freqüentemente, mensalmente, quinzenalmente ou, se possível, toda semana; Clientes e desenvolvedores devem trabalhar juntos diariamente num projeto; Projetos devem ser feitos por indivíduos motivados. Os indivíduos precisam da confiança de que seu trabalho será realizado. Eles devem ter suas necessidades atendidas e trabalhar num ambiente adequado; Conversa face-a-face é SEMPRE a melhor forma de comunicação; Software funcionando é a primeira medida de progresso; O processo ágil torna o desenvolvimento sustentável. Patrocinadores, desenvolvedores e usuários devem manter a paz indefinidamente; Atenção constante à excelência técnica e bom design aumenta a agilidade; A chave é SIMPLICIDADE: minimizar a quantidade de trabalho desnecessário; As melhores arquiteturas, requisitos e design surgem de equipes auto-organizadas; A equipe reflete como se tornar mais eficiente, ajustando seu comportamento para atingir esse objetivo. Scrum é um processo iterativo e incremental de gerenciamento de projetos ágeis; Entre suas principais características está a entrega de produtos de software totalmente funcionais em períodos curtos e prédeterminados; O termo SCRUM deriva do jogo de Rugby, onde as duas equipes disputam a posse de bola e toda a equipe esta comprometida no evento. A idéia principal do SCRUM é manter o foco na entrega que represente maior valor de negócio, no menor tempo possível; As necessidades de negócio do cliente determinam as prioridades da equipe SCRUM; As equipes se auto-organizam para definir a melhor maneira de entregar as funcionalidades de maior prioridade. Dentre os valores do Scrum podemos citar: ◦ ◦ ◦ ◦ ◦ Transparência; Auto-organização; Comprometimento; Entregas representativas para o cliente; Comunicação... Responsabilidade Compartilhada; Mais comunicação; Aumento da Qualidade; Disseminação do Conhecimento; Satisfação dos stakeholders… Desenvolvimento de Software não Gera as mesmas saídas para as mesmas entradas Bom, e o que Scrum faz então? Visão do Produto Sprint Retrospective Sprint Planning Sprint Review Papéis Cerimônias Artefatos Product Owner Planejamento da Sprint Product Backlog Reunião Diária Scrum Master Sprint Backlog Revisão da Sprint Time Retrospectiva da Sprint Gráfico Burndown Product Owner • Definir a Visão do Produto • Elaborar e manter o Product Backlog; • Definir a prioridade e ROI; • Representar o cliente; • Aceitar ou rejeitar os entregáveis. SCRUM Master • Ser um líder (servidor); • Remover impedimentos; • Proteger a equipe; • Ajudar o PO (com Product Backlog); • Ser o facilitador da equipe; • Garantir as práticas SCRUM. Equipe SCRUM • Fazer estimativa; • Definir as tarefas; • Desenvolver o produto; • Garantir a qualidade do produto; • Apresentar o produto ao cliente; • Equipe: auto-gerenciável e multifuncional. ◦ Participam PO, Scrum Master e Equipe ◦ Parte 1 : Entendimento dos requisitos e Definir a prioridade e itens que farão parte do SPRINT; ◦ Parte 2 : Sem a necessidade do PO a equipe realiza o planejamento tático para o desenvolvimento das tarefas. ◦ ◦ ◦ ◦ Participam Equipe e Scrum Master O que eu fiz ontem ? O que irei fazer hoje ? Algum impedimento ? • • • Participam PO, Equipe, Scrum Master e convidados ; Reunião para demonstração resultado do Sprint; Informar ao PO todos os impedimentos; Participam Equipe e Scrum Master Equipe se reúne para verificar o que deu certo e errado no SPRINT; O time identifica oportunidades de melhoria para a equipe e para empresa; A equipe formaliza as lições aprendidas e realiza os ajustes necessários para a próxima iteração; Não é permitido Power Point… O Backlog do Produto é uma lista de itens priorizados que contém todas as funcionalidades que são desejadas para o produto. Todos os requisitos que precisam ser realizados para a finalização do projeto. Para gerenciar o Product Backlog é necessário que todos os itens estejam identificados, estimados pela equipe e priorizados pelo PO. Fazer Em Andamento Não Planejado Feito Impedimentos O gráfico Burndown representa o trabalho restante sobre o tempo planejado; Atualização diária, qualquer atraso ou antecipação vista imediatamente; Como um Projeto atrasa? Os números menores refletem bem algo realmente possível de realizar; Os número maiores não são relatos muito claros, difíceis de estimar; ◦ Estes devem ser transformados em relatos menores para facilitar a realização; ABU SAMRA,Nelson. Blog do Abu. <http://blogdoabu.blogspot.com/> Blog do Abu : SCRUM ApostilaDeApoio v2.1 Scrum Experience [O Tutorial SCRUM] v16 SCRUM, http://rildosan.blogspot.com/2009/06/scrumexperience-o-tutorial-scrum.html Manifesto Ágil: http://agilemanifesto.org/. Acesso em :04/03/2010 SCRUM. SCRUM in Five Minutes. Disponível em: <http://www.sof4thouse.se/Uploades/Scrum_en g_webb.pdf,>. Acesso em: 11/03/10.