metodologias Ágeis
DESCRIPTION
Metodologias Ágeis . Desenvolvimento Ágil aplicado aos Projetos de Software Ana paula alves de lima. Por que ser ágil?. Crescentes pressões do mercado por: I novação , P rodutividade (prazos cada vez mais curtos), Flexibilidade, - PowerPoint PPT PresentationTRANSCRIPT
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Metodologias Ágeis
DESENVOLVIMENTO ÁGIL APLICADO AOS PROJETOS DE SOFTWARE
ANA PAULA ALVES DE LIMA
2Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus 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.
3Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Quem usa isso?
4Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
História• 75 anos atrás
• IIDD – Desenho e desenvolvimento interativo e incremental• Aumentar satisfação do cliente• Evitar o desencorajamento da Gestão
• Década de 80• Aprimoramento da Engenharia de Software• Diversificação das linguagens de programação
• Década de 90• Maturação dos processos de desenvolvimento de Software• Semente dos modernos processos de Desenvolvimento Ágil
• 2001 - 17 especialistas se reúnem nos EUA para discutir modernas formas de se desenvolver Software• Estabelecida a Aliança Ágil• Manifesto Ágil
• Princípios comuns compartilhados por todos os métodos de sucesso aplicados pelos especialistas durante suas carreiras
5Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Disponível em agilemanifesto.org
6Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Guarda Chuva Ágil
7Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
8Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Por que usar?
9Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Por que usar?• Dos 63% restantes:
• 2/3 possuem problemas• Estouro de Prazo• Não atendem as necessidades• Estão cheio de defeitos
• 1/3 é um total fracasso• Cancelado/engavetado• Nunca colocado em produção ou utilizado pelo cliente
• Dos casos de sucesso, em geral apenas 20% das funcionalidades são realmente úteis.
10Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Por que usar?• Suposições de início de projeto
• Os requisitos são 100% conhecidos e foram minuciosamente detalhados
• O Desenvolvedor sabe construir• Nada irá mudar ao longo do caminho
• Realidade que deve ser observada :• “Um processo rígido ou resistente a mudanças produz produtos
medíocres. Os clientes podem até receber o que eles solicitaram primeiramente, mas é esse o produto que eles realmente querem logo quando eles o recebem? Coletando todos os requisitos no início e escrevendo-os sobre pedra, o produto é condenado a ser tão bom quanto a idéia inicial, ao invés de ser o melhor uma vez que as pessoas aprendem ou descobrem como fazer melhor.” [Jeff Sutherland]
• Idéias, novas tecnologias e opções surgem no decorrer do projeto. Desta forma uma nova idéia não deveria ser mau vista pela equipe/gestor.
• Sim, as coisas mudam durante o caminho
11Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
12Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
SCRUM
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Por que Scrum?“O Scrum não é um processo previsível, ele não define o quefazer em todas as circunstâncias” KEN SCHWABER (2004)
É um framework ágil leve que gerencia e controla o desenvolvimento do software aumentando a produtividade e reduzindo o tempo para obter excelentes resultados;
• Bastante objetivo • Papéis e Responsabilidades bem definidas• Fácil adaptação• Curva de aprendizado baixa• Não é um processo previsível• É um framework, um conjunto de práticas
O Scrum não vai dizer exatamente o que fazer, não irá resolvertodos os seus problemas, mas com certeza os problemas serão mais facilmente identificados.
14Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Elementos do Scrum – EQUIPE DE ATÉ 6 PESSOAS
PAPÉIS• Product Owner• Scrum Master• Time
REUNIÕES ou CERIMÔNIAS• Sprint Planning • Daily Scrums• Sprint Review• Sprint Retrospective
ARTEFATOS• Product Backlog• Sprint Backlog• Burndown Chart
15Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
O que é 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.
• O trabalho é dividido em iterações, que no Scrum são chamadas de Sprints e geralmente duram de 2 a 4 semanas.
16Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
17Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus 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.
•Pode ser o representante de um cliente, ou o próprio cliente.
18Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus 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
19Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
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
20Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Reuniões - Sprint Planning• Sprint Planning
• Daily Scrum
• Sprint Review
• Sprint Retrospective
PLANEJAMENTO
• Entendimento do Escopo• Estimativas de complexidade• Definição do Sprint
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Sprint Planning
O Sprint Planning Meeting é uma reunião na qual estãopresentes o Product Owner, o Scrum Master e todo o Time,bem como qualquer pessoa interessada que estejarepresentando a gerência ou o cliente.
Durante o Sprint Planning Meeting, o Product Ownerdescreve as funcionalidades de maior prioridade para aequipe. A equipe faz perguntas durante a reunião de modoque seja capaz de quebrar as funcionalidades em tarefastécnicas, após a reunião. Essas tarefas irão dar origem aoSprint Backlog.
Coletivamente, o Time e o Product Owner definem umobjetivo para o Sprint, que é uma breve descrição daquiloque se tentará alcançar no Sprint. O sucesso do Sprint seráavaliado mais adiante no Sprint Review Meeting em relaçãoao objetivo traçado para o Sprint.
22Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
• Sprint Planning
• Daily Scrum
• Sprint Review
• Sprint Retrospective
3 PERGUNTAS
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 – Daily Scrum
23Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
• Sprint Planning
• Daily Scrum
• Sprint Review
• Sprint Retrospective
DEMONSTRAÇÃO
• Apresentação das funcionalidades• Aceitação do Product Owner
Reuniões – Sprint Review
24Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
• Sprint Planning
• Daily Scrum
• Sprint Review
• Sprint Retrospective REVISÃO
• O que foi bom?• O que pode ser Melhorado?
Reuniões – Sprint Retrospective
25Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Artefatos• Product Backlog
• Sprint Backlog
• Burndown Chart
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Product Backlog
•O Backlog do Produto é uma lista contendo todas as
funcionalidades desejadas para um produto. O conteúdo desta
lista é definido pelo Product Owner.
•O Product Backlog não precisa estar completo no início de um
projeto. Pode-se começar com tudo aquilo que é mais óbvio em
um primeiro momento.
•Com o tempo, o Backlog cresce e muda à medida que se
aprende mais sobre o produto e seus usuários.
•A partir dele origina-se o Backlog do Sprint que é o que será feito
naquela tarefa.
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Quadro de Acompanhamento – Sprint Backlog
28Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Burn Down Chart• 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 e o eixo Y os dias que representam o tamanho do Sprint.
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
XP(EXTREME PROGRAMMING)
Pós-Graduação em Engenharia de Software
Metodologias Ágeis
Indivíduos e interações ao invés de processos e ferramentas
Software executável ao invés de documentação.
Colaboração do cliente ao invés de negociação de contratos.
Respostas rápidas a mudanças ao invés de seguir planos.
Software – Aperto de mãoCliente – Um abraçoGarra – GargalhadaBem Vindos - Palmas
O Garotinho chamado CLIENTE
34Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
O que é o XP?Metodologia de desenvolvimento de software, nascida nos Estados Unidos ao final da década de 90.
Produzidos em menos tempo e de forma mais econômica que o habitual.
Criar sistemas de melhor qualidade.
Identificou o que tornava simples e o que dificultava o desenvolvimento de software.
35Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus 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;
36Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Comunicação
Coragem
Feedback
Respeito
Simplicidade
37Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Comunicação
VS
Para que um projeto seja um sucesso é necessário muita interação entre as equipes:
programadores, clientes e treinador;
38Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus 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;
39Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
FeedbackQuanto mais cedo descobrimos um problema, menos prejuízos ele pode causar
As respostas às decisões tomadas devem ser rápidas
e visíveis.
40Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
RespeitoDá sustentação a todos os
demais valores
Todos têm a sua importância
dentro da equipe e devem ser
respeitados e valorizados.
41Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
SimplicidadeApenas aquilo que é claramente necessárioÉ um dos valores mais importantes. Normalmente o que o cliente quer é mais simples.
Papéis
43Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
ProgramadoresTreinador (ou coach)Acompanhador (ou
tracker)Cliente
Papéis...
44Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
ProgramadoresFoco central da metodologia, mas sem hierarquia.
45Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Treinador (coach)Pessoa com experiênciano time, é responsável por lembrar aos outros das práticas e valores do XP.
46Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus 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.
47Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Cliente
O Cliente faz parte da equipe!!
Práticas
49Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
TestesRefatoração
Programação Pareada (em pares)Propriedade ColetivaIntegração ContínuaSemana de 40 horas
Cliente junto aos desenvolvedoresPadronização do código
Práticas...
50Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
TestesDesenvolvimento orientado a TestesOs testes devem ser escritos antes do desenvolvimento.
51Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
RefatoraçãoConjunto de técnicas para simplificar, melhorar o código!
52Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Programação em Pares
Enquanto um programador digita, o outro observa, pensa em melhorias, alternativa.
53Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Propriedade ColetivaO código é de todos e ninguém precisa de permissão para modificá-loNão pertence a um único programador.
54Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Integração Contínua
Depois de testada, cada nova funcionalidade deve ser imediatamente sincronizada entre todos os desenvolvedores.
55Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Semana de 40 horas
Trabalhar com qualidade
Programação não rende se o programador não estiver descansado e disposto.
56Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Cliente juntoO cliente não é alguém de fora e sim um membro da equipe.
57Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
PadronizaçõesSe 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.
58Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
58
Métodos Ágeis Mais Conhecidos• FDD (Feature Driven Development):
• Metodologia ágil de desenvolvimento de software guiado por funcionalidades;
• Metodologia que combina as melhores práticas do gerenciamento ágil de projetos com abordagens completas para ES orientada por objetos;
• Seu lema é: "Resultados frequentes, tangíveis e funcionais."
TÉCNICAS E PROJETO DE SISTEMAS – TÉCNICO SUBSEQUENTE
59Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
ATIVIDADES• 1) Quais são as principais metodologias
ágeis? Cite três.• 2) Defina o que Scrum.• 3) Quais os principais elementos do
Scrum.• 4) O que é o XP?• 5) Quais seus valores;• 6) Cite os papeis da equipe;• 7) Cite as práticas.