Metodologias Ágeis Para o Desenvolvimento de Software ANA PAULA LIMA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Por que ser ágil? • Crescentes pressões do mercado por: Inovação, Produtividade (prazos cada vez mais curtos), Flexibilidade, Melhoria no desempenho/qualidade dos projetos de desenvolvimento de SW • O ágil surgiu dado a necessidade de melhorarmos a forma como estamos desenvolvendo SW e nosso foco principal é satisfazer o cliente. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína O que são métodos ágeis • É uma atitude, não um processo prescritivo. • É um suplemento aos métodos existentes, ele não é uma metodologia completa. • É uma forma efetiva de se trabalhar em conjunto para atingir as necessidades das partes interessadas no projeto. • Funciona na prática, não é teoria acadêmica INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína O que são métodos ágeis • É para o desenvolvedor médio, mas não é um substituto de pessoas competentes. • Não é um ataque à documentação, pelo contrário aconselha a criação de documentos que tem valor. • Não é um ataque às ferramentas CASE • São baseados em princípios e valores INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Disponível em agilemanifesto.org Ser ágil é ... • • • • • Evitar o desperdício Buscar a melhoria contínua Agregar valor ao que está sendo produzido Colaborar Ser pró-ativo INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína PRINCIPAIS METODOLOGIAS Guarda Chuva Ágil INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Scrum INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Scrum • Em Rugby, Scrum é um time de oito integrantes que trabalham em conjunto para levar a bola adiante no campo. • Ou seja: times trabalhando como uma unidade altamente integrada com cada membro desempenhando um papel bem definido e o time inteiro focando num único objetivo. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Scrum • Metodologia para gestão de projetos de desenvolvimento de software. • Ideal para equipes de 5 a 9 profissionais. • Não existem as figuras de programador, testador, arquiteto, etc. Equipe multidisciplinar • Time! INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Scrum • Papéis: Product owner: é um representante do cliente. Responsável pelo levantamento de requisitos (histórias) e manutenção do backlog. Scrum master: é o responsável por garantir que os princípios, valores e regras do Scrum sejam aplicados. Time INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Papéis • Product Owner (PO) • Define as funcionalidades do produto • Define as datas dos releases • Responsável pelo retorno do investimento (ROI) do projeto • Prioriza as funcionalidades de acordo com seu valor de negócio • Ajusta o product backlog a cada sprint, se necessário. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína •Pode ser o representante de um cliente, ou o próprio cliente. Papéis • Scrum Master • Responsável pelo processo, incluindo a realização do Daily Scrum e datas e horários das reuniões • Remove os impedimentos • Garante que o time está sempre funcionando e produtivo • Facilita a cooperação entre todos os membros do time • Protege o time das interrupções externas INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Papéis • Time • Multi-disciplinar, com 7 (+-2) membros • Define o Sprint e define como será feito o trabalho • Tem o direito de fazer o que estiver ao seu alcance para alcançar o Sprint • Auto-gerenciado: o time se organiza e se gerencia • Demonstra o que foi feito para o Product Owner ao fim de cada Sprint INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Scrum • Princípios: Aceitar as incertezas Constante planejamento Trabalhar como um time Equipes auto-gerenciáveis Manter um ritmo de trabalho suportável Entregas freqüentes INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Práticas Ágeis SPRINT • 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. • Geralmente duram de 1 a 4 semanas. • Ao final do qual é apresentada uma nova funcionalidade integrada ao sistema INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Reuniões - Sprint Planning • Sprint Planning • Daily Scrum • Sprint Review • Sprint Retrospective INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína PLANEJAMENTO • Entendimento do Escopo • Estimativas de complexidade • Definição do Sprint Sprint Planning O Sprint Planning Meeting é uma reunião na qual estão presentes o Product Owner, o Scrum Master e todo o Time, bem como qualquer pessoa interessada que esteja representando a gerência ou o cliente. Durante o Sprint Planning Meeting, o Product Owner descreve as funcionalidades de maior prioridade para a equipe. A equipe faz perguntas durante a reunião de modo que seja capaz de quebrar as funcionalidades em tarefas técnicas, após a reunião. Essas tarefas irão dar origem ao Sprint Backlog. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Reuniões – Daily Scrum • Sprint Planning 3 PERGUNTAS • Daily Scrum • Sprint Review • Sprint Retrospective INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína 1. O que foi feito desde o último DS? 2. O que será feito hoje? 3. O que esta impedindo? • Peer-pressure (em pé) • Máximo de 15 minutos • Comprometimento Reuniões – Sprint Review • Sprint Planning DEMONSTRAÇÃO • Daily Scrum • Sprint Review • Sprint Retrospective INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína • Apresentação das funcionalidades • Aceitação do Product Owner Reuniões – Sprint Retrospective • Sprint Planning • Daily Scrum • Sprint Review • Sprint Retrospective REVISÃO • O que foi bom? • O que pode ser Melhorado? INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Práticas Ágeis • Backlog é uma lista das atividades a serem realizadas pela equipe. Os itens que compõe a lista são chamados de histórias Todos podem incluir histórias Somente o Product Owner pode priorizá-las Product Owner pode priorizar novamente no início de cada Sprint INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína KANBAN SPRINT1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Ferramenta - Kanban http://youtu.be/LJOiFRsp0Z8 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Ferramenta INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Metodologias Ágeis XP (eXtreme Programming) INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Pós-Graduação emAraguaína Engenharia de Software INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína O que é o XP? Metodologia de desenvolvimento de software, nascida nos Estados Unidos ao final da década de 90. Criar sistemas de melhor qualidade. Produzidos em menos tempo e de forma mais econômica que o habitual. Identificou o que tornava simples e o que dificultava o desenvolvimento de software. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Como fazer? Pequeno conjunto de valores e práticas •A Programação Extrema é uma das metodologias ágeis mais conhecidas e utilizadas na atualidade. •Desenvolvidas para: • Equipes médias e pequenas (2 a 12 pessoas); Baseada em cinco valores, alguns princípios e várias práticas que ocorrem no decorrer das atividades; INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Comunicação Coragem Feedback Respeito Simplicidade INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Comunicação Para que um projeto seja um sucesso é necessário muita interação entre as equipes: programadores, clientes e treinador; VS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Coragem “A única constante em um projeto de software é a mudança” Alterar um código em produção sem causar bugs, com agilidade, exige muita coragem e responsabilidade; INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Feedback mais cedo descobrimos um problema, menos prejuízos ele pode causar Quanto As respostas às decisões tomadas devem ser rápidas e visíveis. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Respeito Dá sustentação a todos os demais valores Todos têm a sua importância dentro da equipe e devem ser respeitados e valorizados. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Simplicidade Apenas aquilo que é claramente necessário É um dos valores mais importantes. Normalmente o que o cliente quer é mais simples. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Papéis INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Papéis... Programadores Treinador (ou coach) Acompanhador (ou tracker) Cliente INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Programadores Foco central da metodologia, mas sem hierarquia. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Treinador (coach) Pessoa com experiência no time, é responsável por lembrar aos outros das práticas e valores do XP. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Acompanhador (tracker) Responsável por trazer informações que mostrem o andamento do projeto que ajudem a tomar decisões de implementação. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Cliente O Cliente faz parte da equipe!! INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Práticas INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Práticas... Testes Refatoração Programação Pareada (em pares) Propriedade Coletiva Integração Contínua Semana de 40 horas Cliente junto aos desenvolvedores Padronização do código INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Testes Desenvolvimento orientado a Testes Os testes garantem uma segurança para aplicação, eles informam se o código continua produzindo os mesmos resultados. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Refatoração Conjunto de técnicas para simplificar, melhorar o código! INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Programação em Pares Enquanto um programador digita, o outro observa, pensa em melhorias, alternativa. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Propriedade Coletiva O código é de todos e ninguém precisa de permissão para modificá-lo Não pertence a um único programador. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Integração Contínua Depois de testada, cada nova funcionalidade deve ser imediatamente sincronizada entre todos os desenvolvedores. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Semana de 40 horas Programação não rende se o programador não estiver descansado e disposto. Trabalhar com qualidade INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Cliente junto O cliente não é alguém de fora e sim um membro da equipe. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Padronizações Se o time seguir padrões pré-definidos de codificação, mais fácil será manter e entender o que já está feito, reforçando a comunicação. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína