O documento discute metodologias de desenvolvimento de software, comparando abordagens tradicionais e ágeis. Apresenta o Manifesto Ágil e a metodologia Extreme Programming (XP), destacando seus valores como comunicação, simplicidade, feedback e coragem, e práticas como programação em pares e testes automatizados. Também menciona frameworks ágeis que incorporam princípios ágeis como Grails.
2. INTRODUÇÃO
2
• Descasamento entre processos.
• Herança da Revolução Industrial.
• Sem sucesso no desenvolvimento de software
• Engenharia de Software.
• Realidade dinâmica e imprevisível.
• Manifesto ágil.
• Frameworks.
• Utilização de XP e Grails.
4. DESENVOLVIMENTO DE SOFTWARE
4
• Crise do Software
– Problemas
• Entregas fora do prazo
• Orçamentos estourados
• Desempenho insatisfatório
– Soluções
• Desenvolver Padrões para os processos de desenvolvimento
5. METODOLOGIA TRADICIONAL
5
• Planeja e documenta todo o processo antes de
começar a desenvolver.
• Permite uma comparação e repetição com dados
obtidos em desenvolvimentos anteriores.
• Baixa interação com os clientes e Falta de
flexibilidade para tratamento de falhas.
6. METODOLOGIA ÁGIL
6
• Metodologia Ágil (Agile Manifesto, 2001).
• Movimento iniciado por programadores experientes e
consultores em desenvolvimento de software.
• Enfatizam adaptações rápidas a mudanças da
realidade
• Criação da Aliança Ágil e o estabelecimento do
“Manifesto Ágil”
7. MANIFESTO ÁGIL
7
• Manifesto Ágil (BECK et al, 2001)
– Objetivo
• satisfazer o cliente entregando, rapidamente e com freqüência,
sistemas com algum valor.
– Valores
• Indivíduos e Interações mais que Ferramentas e Processos
• Software funcionando mais que documentação abrangente.
• Colaboração com clientes mais que Negociação de Contratos.
• Responder a mudanças mais que Seguir um Plano.
8. ALGUNS MÉTODOS ÁGEIS
8
• ASD (Adaptative Software Development)
• FDD (Feature Driven Development)
• Crystal Family
• SCRUM
• XP (eXtreme Programming)
10. EXTREME PROGRAMMING (XP)
10
• O que é?
“Uma disciplina de desenvolvimento de software
que aborda o risco em todas as etapas do
processo de desenvolvimento” (BECK, 2000, p. 22)
• Iterações
• Conjunto de testes
• Possui valores e práticas
11. VALORES EM XP
11
“precisamos de algum parâmetro para saber se
estamos indo no caminho certo”(BECK, 2000, p.
45).
• Norteiam o projeto
• Ajudam na tomada de decisão
• Base para as práticas
13. COMUNICAÇÃO
13
“Indivíduos e interações mais que processos e
ferramentas” Manifesto Ágil(2001, sp).
• Cliente Presente
• Interação Cliente x Equipe
• Interação entre membros da equipe
14. SIMPLICIDADE
14
“45 por cento das funcionalidades encontradas em
um sistema jamais são usadas”(JONHSON, 2002,
sp).
• Foco em funcionalidades de valor
• Refatoração
• Facilitar manutenção e entendimento do código
15. FEEDBACK
15
“A comunicação entre o cliente e a equipe permite
que todos os detalhes do projeto sejam tratados
com a atenção e agilidade que merecem” (TELES,
2004, p. 22).
• Testes de funcionalidades
• Programação em par
16. CORAGEM
16
“quando combinada com comunicação,
simplicidade, e feedback, a coragem se torna
extremamente valiosa”(BECK, 2000, p. 49).
• Inovar
• Aceitar desafios
• Flexibilidade a mudanças
17. PRÁTICAS
17
Práticas
O jogo do planejamento Propriedade coletiva
Entregas frequentes Integração Contínua
Metáfora Semana de 40 horas
Projeto simples Cliente presente
Testes Padrões de codificação
Refatoração Programação em pares
Tabela 1: As doze práticas de XP
19. FRAMEWORKS
19
• Segundo Sauve(2007) um framework provê uma
solução para uma família de problemas semelhantes.
Figura 5: Interseção de Problemas
Fonte: (SAUVÉ, 2007, sp).
20. FRAMEWORKS ÁGEIS
20
• São chamados de frameworks ágeis todos os
frameworks de programação que dão suporte
ou se baseiam completamente nos princípios
e valores propostos pelo manifesto ágil e na
filosofia e costumes ágeis(Beck,2000)
• Incorporam as praticas de metodologias ágeis.