Baixe o app para aproveitar ainda mais
Prévia do material em texto
Profa. Fabrícia Damando Santos fabriciadamando@gmail.com 1 Engenharia de SW Metodologia ágil Introdução Métodos ágeis 2 Acelerar o desenvolvimento do SW Melhoria do processo de desenvolvimento de SW Comunicação e interação entre a equipe Organização diária Aumento de produtividade SCRUM 3 É uma abordagem Lean (enxuta) para gerenciar projetos, principalmente de desenvolvimento de software. O Scrum é um framework que segue a linha das chamadas metodologias ágeis. Ele permite usar diversos processos e técnicas. As características de maior valor são implantadas primeiro. Se mudanças são necessárias, a equipe ágil pode facilmente mudar as prioridades Gerência de Projetos – PMBOK do PMI 4 O Scrum é um processo de desenvolvimento iterativo e incremental para gerenciamento de projetos e desenvolvimento ágil de software. É utilizado para trabalhos complexos nos quais é impossível predizer tudo o que irá ocorrer. Visão Geral 5 Como funciona? Projetos são divididos em ciclos (tipicamente mensais) chamados de Sprints. O Sprint representa um tempo em que um conjunto de atividades deve ser executado. Metodologias ágeis de desenvolvimento de software são iterativas, ou seja, o trabalho é dividido em iterações, que no Scrum são chamadas de Sprints e geralmente duram de 2 a 4 semanas. 6 Visão geral Sprint Product Sprint Backlog Kanban (Quadro de Trabalho) Daily Scrum Sprint Review Meeting Burn Down Chart Papéis e Responsabilidades Product Owner Scrum Master Scrum Team 7 Os papéis 8 9 Product Owner • Líder do Projeto • Define os requisitos do produto, decide a data de release e o que deve conter nela. • É responsável pelo retorno financeiro do produto. • Prioriza os requisitos de acordo com o seu valor de mercado. • Pode mudar os requisitos e prioridades a cada Sprint. • Aceita ou rejeita o resultado de cada Sprint. Scrum Team • Garante que o time esteja totalmente funcional e produtivo. • Facilita a colaboração entre as funções e áreas e elimina os impedimentos do time. • Protege o time de interferências externas. • Garante que o processo está sendo seguindo. • Participando das reuniões diárias, revisão da Sprint, e planejamento. • É quem decide como serão feitas cada meta. A equipe deve ser organizar para cumprir a meta do produc owner. Scrum Master • Apoia a equipe • Facilitador • Multifuncional, entre 5-9 membros. • Seleciona, entre os itens priorizados, os que irão ser executados durante a Sprint. • Tem todo o direito de realizar o que quiser dentro da Sprint Product Owner Apresenta uma visão geral do produto. Divide-o em funcionalidades (product backlog). Elenca prioridades entre as funcionalidades ou estórias - uma lista de requisitos priorizados O projeto é planejado em Sprints Antes de cada sprint começar é feita uma reunião de planejamento dos sprints – sprint planning – para a criação do backlog. Define-se quantas funcionalidades ou estórias podem ser feitas no tempo de um sprint. 10 Sprint 11 No Scrum, os projetos são divididos em ciclos (tipicamente mensais) chamados de Sprints. O Sprint representa um tempo definido dentro do qual um conjunto de atividades deve ser executado. Metodologias ágeis de desenvolvimento de software são iterativas, ou seja, o trabalho é dividido em iterações, que no Scrum são chamadas de Sprints e geralmente duram de 2 a 4 semanas. Sprint backlog 12 As funcionalidades a serem implementadas no projeto são mantidas em uma lista que é conhecida como Product Backlog No início de cada Sprint, faz-se um Sprint Planning Meeting (uma reunião de planejamento), O Product Owner (quem representa os envolvidos) prioriza todos os itens do Product Backlog As funcionalidades alocadas em um Sprint são transferidas do Product Backlog para o Sprint Backlog. A equipe seleciona as funcionalidades que ela será capaz de implementar durante o Sprint que se inicia. 13 Exemplo: http://www.ft.unicamp.br/liag/Gerenciamento/monografias/monogafia_metodos_ageis.pdf Lista de tarefas do Sprint Backlog – produto entregável Perguntas básicas por Sprint Em cada reunião diária: O que fiz ontem? O que vou fazer hoje? Existe algum impedimento? 14 Quadro Sprint - Kanban 15 O time também pode possuir um “quadro de trabalho”, também chamado de Kanban, Usado para organizar as atividades dos itens de Backlog da Sprint, separando-as em basicamente em quatro estados (isso pode variar de projeto a projeto): A fazer, Em andamento, Em Testes Concluído. Esse “quadro” é muito produtivo, pois basta olhar para ele para realizar a leitura do progresso da Sprint. Kanban 16 17 18 Dicas Em cada um dos post-it: Responsável: “Sprint – backlog” Tipo de tarefa: (você decide) Cliente > Projeto “Dev Sprints > Sprint X – (dd/mm/aaaa)” Tags: (a funcionalidade) 19 Burndown chart 20 O Burndown é um simples gráfico, com dois eixos X e Y. Baseado nas atividades que não ultrapassem um dia de trabalho. O eixo X indica o número de tarefas existentes no Sprint O eixo Y os dias que representam o tamanho do Sprint. Daily Scrun 21 Diariamente, em uma Sprint, a equipe faz uma breve reunião de no máximo 15 minutos com todos os participantes em pé, chamada Daily Scrum. O objetivo é cada integrante dizer: o que fez no dia anterior, o que pretende fazer no dia que se inicia se existe algum impedimento que está atrapalhando o seu trabalho. Sprint Review Meeting 22 Ao final de um Sprint, a equipe apresenta as funcionalidades implementadas em uma Sprint Review Meeting O time mostra o que foi alcançado neste sprint. Finalmente, faz-se uma Sprint Retrospective para: identificar o que funcionou bem o que pode ser melhorado A equipe inicia o planejamento do próximo Sprint. Product Backlog 23 Product Backlog é uma lista contendo todas as funcionalidades desejadas para um produto O Product Backlog não precisa estar completo no início de um projeto O conteúdo desta lista é definido pelo Product Owner. Pode-se começar com tudo aquilo que é mais óbvio em um primeiro momento. Com o tempo, o Product Backlog cresce e muda à medida que se aprende mais sobre o produto e seus usuários. 24 Sprint Planning Meeting No início de cada Sprint: faz-se um Sprint Planning Meeting: uma reunião de planejamento. O Product Owner prioriza os itens do Product Backlog e a equipe seleciona as atividades que ela será capaz de implementar durante o Sprint que se inicia. As tarefas alocadas em um Sprint são transferidas do Product Backlogpara o Sprint Backlog. 25 Sprint Backlog O Sprint Backlog é uma lista de tarefas que o Scrum Team se compromete a fazer em um Sprint. Os itens do Sprint Backlog são extraídos do Product Backlog, pela equipe, com base nas prioridades definidas pelo Product Owner e a percepção da equipe sobre o tempo que será necessário para completar as várias funcionalidades. Cabe a equipe determinar a quantidade de itens do Product Backlog que serão trazidos para o Sprint Backlog, já que é ela quem irá se comprometer a implementá-los. 26 Durante um Sprint, o Scrum Master mantém o Sprint Backlog atualizando-o para refletir que tarefas são completadas e quanto tempo a equipe acredita que será necessário paracompletar aquelas que ainda não estão prontas. A estimativa do trabalho que ainda resta a ser feito no Sprint é calculada diariamente e colocada em um gráfico, resultando em um Sprint Burndown Chart. 27 o final de um Sprint, a equipe apresenta as funcionalidades implementadas em uma Sprint Review Meeting. Finalmente, faz-se uma Sprint Retrospective e a equipe parte para o planejamento do próximo Sprint. Assim reinicia-se o ciclo 28 Dicas 29 As reuniões diárias são fundamentais Acompanhar, via planilha / Sw o andamento do projeto. Atualizar diariamente essa planilha. Resumindo... 30 Manifesto Ágil – Princípios 31 Nossa maior prioridade é satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado. Mudanças nos requisitos são bem-vindas, mesmo tardiamente no desenvolvimento. Processos ágeis tiram vantagem das mudanças visando vantagem competitiva para o cliente. Entregar frequentemente software funcionando, de poucas semanas a poucos meses, com preferência à menor escala de tempo. 32 Pessoas de negócio e desenvolvedores devem trabalhar diariamente em conjunto por todo o projeto. Construa projetos em torno de indivíduos motivados. Dê a eles o ambiente e o suporte necessário e confie neles para fazer o trabalho. O método mais eficiente e eficaz de transmitir informações para e entre uma equipe de desenvolvimento é através de conversa face a face. Software funcionando é a medida primária de progresso. Os processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente. 33 Contínua atenção à excelência técnica e bom design aumenta a agilidade. Simplicidade--a arte de maximizar a quantidade de trabalho não realizado--é essencial. As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizáveis. Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento de acordo http://www.agilemanifesto.org/iso/ptbr/ Outros métodos ágeis 34 Extreme Programming (XP), Lean Development, Feature-Driven Development (FDD), Kanban, RUP OpenUP. SCRUM - o framework mais utilizado por ser o mais simples e de fácil adoção e adaptação Atividades Ler o artigo: A utilização do Scrum em um sistema web: um estudo de caso 1. Observe o exemplo de Product Backlog apresentado no artigo e dos sprints realizados. 2. Agora elabore uma proposta de SW, apresentando o Product Backlog desenvolvido. 35 Referências 3 6 Pressman – Engenharia de Software Ivar Jacobson, GradBooche James Rumbaugh http://agilemanifesto.org/ http://www.desenvolvimentoagil.com.br/scrum/ https://www.youtube.com/watch?v=XfvQWnRgxG0 http://www.brq.com/metodologias-ageis/ https://www.ibm.com/developerworks/community/blogs /rationalbrasil/entry/mas_o_que_s_c3_a3o_essas_tais_de_ metodologias__c3_a1geis?lang=en http://www.mindmaster.com.br/scrum/
Compartilhar