SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Metodologias Ágeis de Desenvolvimento de Software 
"Antes de imprimir pense em sua responsabilidade 
e compromisso com o MEIO AMBIENTE." 
Givanaldo Rocha de Souza 
givanaldo.rocha@ifrn.edu.br 
http://docente.ifrn.edu.br/givanaldorocha 
Engenharia de Software 
Material original gentilmente cedido pelo professor Fábio Procópio
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
Introdução 
As Metodologias Ágeis de Desenvolvimento de Software são indicadas como sendo uma opção às abordagens tradicionais para desenvolver softwares; 
Comparadas a outras metodologias, produzem pouca documentação. É recomendado documentar o que realmente será útil; 
São recomendadas para projetos que: 
existem muitas mudanças; 
os requisitos são passíveis de alterações; 
a recodificação do programa não acarreta alto custo; 
a equipe é pequena; 
as datas de entrega curtas acarretam alto custo; 
o desenvolvimento rápido é fundamental. 
Em essência, as Metodologias Ágeis foram desenvolvidas com o objetivo de vencer as fraquezas percebidas e reais da Engenharia de Software (Pressman, 2010).
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
O Manifesto Ágil 
Em 2001, Kent Beck e mais 16 desenvolvedores, produtores e consultores de software, que formavam a Aliança Ágil, assinaram o Manifesto de Desenvolvimento Ágil de Software, declarando: 
Estamos descobrindo melhores modos de desenvolvimento de software fazendo-o e ajudando outros a fazê-lo. Por meio desse trabalho, passamos a valorizar: 
Indivíduos e interações ao invés de processos e ferramentas. 
Software funcionando ao invés de uma documentação abrangente. 
Colaboração do cliente ao invés de negociação de contratos. 
Resposta a modificações ao invés de seguir um plano. Isto é, ainda que haja valor nos itens à direita, valorizamos mais os itens à esquerda.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
Os 12 princípios do Manifesto Ágil 
1.Garantia da satisfação do consumidor com entrega rápida e contínua de softwares funcionais. 
2.Mudanças de requisitos, mesmo no fim do desenvolvimento, ainda são bem-vindas. 
3.Frequentemente são entregues softwares funcionais (semanas, ao invés de meses). 
4.Desenvolvedores e pessoas relacionadas aos negócios devem trabalhar, em conjunto, até o fim do projeto. 
5.Construir projetos com indivíduos motivados, dar-lhes ambiente e suporte necessários e confiar que farão seu trabalho. 
6.Uma conversa face a face é o método mais eficiente e efetivo de transmitir informações para e dentro de uma equipe de desenvolvimento.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
Os 12 princípios do Manifesto Ágil 
7.Software em funcionamento é a principal medida de progresso. 
8.Desenvolvimento sustentável, de modo a manter um ritmo constante indefinidamente. 
9.Atenção contínua para com a excelência técnica e para com bons projetos aumenta a agilidade. 
10.Simplicidade – a arte de maximizar a quantidade de trabalho não efetuado – é essencial. 
11.As melhores arquiteturas, requisitos e projetos emergem de equipes auto-organizáveis. 
12.Em intervalos regulares, a equipe deve refletir sobre como se tornar mais eficiente.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
Algumas metodologias 
Em seu livro, Pressman (2010) apresenta as seguintes metodologias: 
XP (Extreme Programming) 
DAS (Desenvolvimento Adaptativo de Software) 
DSDM (Dynamic Software Development Method) 
Scrum 
Crystal 
FDD (Feature Driven Development) 
Modelagem Ágil (AM) 
Processo Unificado Ágil (AUP)
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
XP (Extreme Programming) 
Utiliza OO como paradigma de desenvolvimento; 
Inclui um conjunto de regras e práticas com base nas seguintes atividades: 
Planejamento 
Projeto 
Codificação 
Teste
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
XP: Planejamento 
Criação de um conjunto de “histórias de usuários” descrevendo as características e funcionalidades requeridas pelo software que será construído; 
As histórias (semelhantes aos casos de uso) são escritas pelos clientes e colocadas em cartões de indexação; 
O cliente atribui uma prioridade à cada história; 
Os desenvolvedores analisam cada história e atribuem um custo a cada uma delas, com base em número de semanas necessárias para o seu desenvolvimento;
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
XP: Planejamento (Kanban)
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
XP: Planejamento (Kanban - Trello)
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
XP: Planejamento 
Se a história precisar de mais de 3 semanas para desenvolvimento, é solicitado ao cliente que ela seja dividida em histórias menores; 
Desenvolvidas em 3 modos: 1) Todas as histórias serão implementadas imediatamente (dentro de poucas semanas). 2) As histórias com valor mais alto serão antecipadas no cronograma e implementadas primeiro. 3) As histórias de maior risco serão antecipadas no cronograma e implementadas primeiro. 
Com o avanço do projeto, o cliente pode adicionar novas histórias, mudar a sua prioridade, subdividi-la e eliminá-las.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
XP: Projeto 
Segue rigorosamente o KIS (keep it simple) 
Estimula o uso de cartões CRC (Classe, Responsabilidade e Colaboração) para a identificação e organização das classes OO relevantes para o incremento do software 
Cartões CRC permitem a descrição dos conceitos identificados na metáfora na forma de classes. 
Responsabilidades são identificadas para cada classe. 
As colaborações determinam as interações entre classes. 
Os cartões permitem que o todo o time possa colaborar com o design.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
XP: Projeto 
Os cartões CRC são o único produto de trabalho do projeto; 
Caso seja identificado um problema difícil na história, recomenda-se a criação imediata de um protótipo operacional daquela parte do projeto. Denominado Solução de Ponta. 
Encoraja a refatoração. 
Técnica que altera a estrutura do sistema sem modificar o comportamento externo.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
XP: Projeto - Refatoração (extração de método)
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
XP: Codificação 
Depois que as histórias forem desenvolvidas e o início do projeto for feito, recomenda-se não iniciar a programação; 
Elemento chave do XP. 
É recomendado realizar testes unitários sobre cada uma das histórias que serão incluídas na versão atual. 
Depois de os testes unitários terem sido criados, o desenvolvedor está focado no que deve ser implementado. 
Programação em pares: 
duas pessoas trabalhando juntas na mesma máquina; 
cada pessoa fica encarregada de uma atividade; 
quando o trabalho dos programadores é completado, é feita uma integração com o trabalho de outros; 
existe uma equipe responsável pela integração.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
XP: Teste 
São aplicados os testes unitários. 
Os testes de aceitação (ou teste de cliente) são especificados sob a ótica do cliente e abrangem as características e as funcionalidades do sistema global visíveis e passíveis de revisão. 
“Resolver pequenos problemas a cada intervalo de umas poucas horas leva menos tempo do que resolver grandes problemas perto da data de entrega”, Wells (1999) apud Pressman(2010).
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
XP: Teste Unitário (exemplo)
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
XP: Teste Unitário (exemplo)
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
DAS 
Acrônimo de Desenvolvimento Adaptativo de Software ou, ASD (Adaptative Software Development). 
Proposto por Highsmith para auxiliar no desenvolvimento de sistemas e softwares complexos. 
Concentra-se na colaboração humana e na auto-organização da equipe. 
É uma propriedade de sistemas adaptativos.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
DAS 
Incorpora três fases: 
Especulação 
Declara a missão do projeto; 
Identifica as restrições do projeto; 
Realiza o levantamento dos requisitos básicos. 
Colaboração 
Filosofia de que pessoas motivadas trabalhando juntas multiplicam seus talentos e resultados. 
Aprendizado 
Clientes/usuários informam feedback; 
Revisão dos componentes de software desenvolvidos; 
Avaliação do desempenho da equipe DAS.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
DSDM 
Acrônimo de Dynamic Systems Development Method; 
“Fornece um arcabouço para construir e manter sistemas que satisfazem às restrições de prazo apertadas por meio do uso de prototipagem incremental em um ambiente controlado de projeto”, CS3 Consulting Services apud Pressman(2010); 
O DSDM Consortium é um grupo mundial de empresas que definiu um modelo ágil de processo chamada Ciclo de vida DSDM, com as seguintes atividades: 
Estudo de viabilidade; 
Estudo do negócio; 
Iteração do modelo funcional; 
Iteração de projeto e construção e; 
Implementação.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
Ciclo de vida DSDM 
Estudo de viabilidade 
Define requisitos básicos e restrições do negócio; 
Avalia se é viável desenvolver a aplicação usando DSDM. 
Estudo do negócio 
Identifica os requisitos funcionais; 
Define a arquitetura básica da aplicação; 
Identifica os requisitos de manutenibilidade da aplicação. 
Iteração do modelo funcional 
Constrói um conjunto de protótipos incrementais. 
Objetiva adquirir requisitos adicionais com feedbacks dos usuários à medida que usam o protótipo. 
Iteração de projeto e construção 
Verifica os protótipos construídos garantindo que cada um tenha passado por engenharia. 
Implementação 
Coloca o último incremento do software no ambiente de produção, apesar de ele poder ainda não estar completo e novas modificações serem solicitadas.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
Scrum 
Apresenta princípios coerentes com os do Manifesto Ágil; 
Desenvolvido na década de 90 por Jeff Sutherland. 
Enfatiza o uso de um conjunto de “padrões de processo de software” ideais para projetos com prazos apertados, requisitos mutantes e negócios críticos; 
Baseado em ciclos de 30 dias (chamados de Sprints), o Scrum trabalha para alcançar objetivos bem definidos; 
Os objetivos são representados no Product Backlog, que é uma lista de atividades a serem realizadas; 
Papéis: 
Time 
Product owner 
Scrum master
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
Scrum: papéis 
Time 
grupo pequeno, normalmente, entre 5 e 9 pessoas; 
deve ser comprometido com o trabalho a fim de atingir a meta de um Sprint; 
desenvolve e produz com qualidade; 
deve ser cada vez mais auto-gerenciável e multidisciplinar. 
Product Owner 
faz o intermédio entre o cliente e o fornecedor do produto 
boa noção do produto e das necessidades do cliente; 
responsável por atualizar o Product Backlog. 
Scrum Master 
um líder, mediador e facilitador; 
remove impedimentos da equipe assegurando que as práticas Scrum estão sendo executadas com eficiência.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
Scrum: Fluxo de processo 
Definição do Backlog 
funcionalidades ou mudanças no produto são feitas pelo Product Owner no Product Backlog; 
a lista é priorizada para refletir a necessidade dos clientes ou demandas do mercado; 
Sprints 
unidades de trabalho necessárias para atender os itens do Product Backlog, normalmente, são 30 dias. 
Reuniões 
diárias, aproximadamente 15 minutos; 
todos os membros do time respondem às perguntas: 
1.O que você fez ontem? 
2.O que pretende fazer hoje? 
3.Que impedimentos estão lhe atrapalhando? 
Revisões 
o time apresenta os resultados ao Product Owner e demais interessados; 
os itens do backlog são considerados prontos e inicia-se um novo sprint.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
Scrum: Fluxo de processo
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
Família Crystal 
Criada por Cockburn e Highsmith, contempla um conjunto de metodologias, cada qual com elementos centrais que são comuns a todas, papéis, padrões de processos, produtos de trabalho e práticas específicas de cada uma (Pressman, 2010); 
Tem como objetivo permitir que equipes ágeis selecionem o membro da família mais apropriado para o seu projeto e ambiente. 
Cada método Crystal é caracterizado por uma cor. 
4 parâmetros determinam o método de desenvolvimento: 
Tamanho da equipe. 
Localização geográfica. 
Criticalidade/Segurança 
Recursos.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
Crystal Clear 
É uma metodologia leve, para equipes de 1 a 8 pessoas. Podendo chegar até 12 casos especiais. 
Yellow: 10 a 20 membros. 
Orange: 20 a 50 membros. 
Red: 50 a 100 membros. 
Cada um dos métodos com graus de gerenciamento e de comunicação ajustados de acordo com o tamanho da equipe. 
Especificação e projeto são feitos informalmente usando quadros publicamente visíveis. 
A metodologia é propositalmente pouco definida. Para permitir que cada projeto implemente as atividades que lhes pareçam mais adequadas. Fornecendo um mínimo de suporte útil a documentação e comunicação.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
FDD – Feature Driven Development 
Define característica como sendo “uma função valorizada pelo cliente que pode ser implementada em duas semanas ou menos”, Coad (1999) apud Pressman (2010); 
Os benefícios em se utilizar a filosofia de características são: 
os usuários podem descrevê-las mais facilmente; 
podem ser organizadas de forma hierárquica; 
desenvolvimento a cada duas semanas; 
facilidade em analisar projeto e código; 
projeto e cronograma são guiados pela hierarquia de características, ao invés de um conjunto de tarefas de engenharia de software adotado arbitrariamente. 
Definição: <ação> o <resultado> <por|para|de|a> um <objeto> 
Exemplos: 
Gera o relatório de venda para um determinado período; 
Exibe as especificações técnicas de um produto; 
Adiciona o produto a um carrinho de compras.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
TDD – Test Driven Development 
Técnica de desenvolvimento de software que baseia em um ciclo curto de repetições: 
O desenvolvedor escreve um caso de teste automatizado que define uma melhoria desejada ou uma nova funcionalidade. 
É produzido código que possa ser validado pelo teste para posteriormente o código ser refatorado para um código sob padrões aceitáveis. 
Kent Beck, considerado o criador da técnica, declarou em 2003 que TDD encoraja designs de código simples e inspira confiança. 
Através de TDD, programadores podem aplicar o conceito de melhorar e depurar código legado desenvolvido a partir de técnicas antigas.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
TDD – Test Driven Development 
Escreva um teste, antes mesmo de escrever o código que este teste consome. 
Faça o teste funcionar, escrevendo o código do qual o teste depende, mesmo que seja um código ruim. 
Refatore, eliminando duplicações de código, tanto nos testes quanto nas implementações.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
Seminários 
A turma deverá apresentar seminários sobre as seguintes metodologias ágeis: 
1)SCRUM () 
2)XP () 
3)FDD () 
4)BDD () 
5)TDD () 
Deve conter mais detalhes do que os mostrados na aula. 
Devem ser apresentados exemplos reais de aplicação e de documentação gerada. 
Listar empresas conhecidas que utilizam o respectivo processo. 
Mostrar como a Orientação a Objetos é utilizada.
Metodologias Ágeis 
Metodologias Ágeis 
Introdução 
Manifesto Ágil 
Os 12 princípios 
Algumas metodologias XP 
Planejamento 
Projeto 
Codificação 
Teste 
DAS 
DSDM 
Ciclo de vida 
Scrum 
Papéis 
Fluxo 
Família Crystal 
FDD 
TDD 
Seminários 
Referências 
Prof. Fábio Procópio 
Sistemas de Informação 
Referências 
SOARES, Michel dos Santos. Comparação entre Metodologias Ágeis e Tradicionais para o Desenvolvimento de Software. Disponível em: http://www.dcc.ufla.br/infocomp/artigos/v3.2/art02.pdf. Acessado em: 26 jan. 2011. KIIOSKEA.NET. Métodos ágeis (RAD, XP). Disponível em: http://pt.kioskea.net/contents/genie- logiciel/methodes-agiles.php3. Acessado em: 26 jan. 2011. Manifesto para o desenvolvimento ágil de software. Disponível em: http://manifestoagil.com.br/index.html. Acessado em: 26 jan. 2011. WIKIPÉDIA. Desenvolvimento ágil de software. Disponível em: http://pt.wikipedia.org/wiki/Desenvolvimento_%C3%A1gil_de_software.Acessado em: 26 jan. 2011. WIKIPÉDIA. Manifesto ágil. Disponível em: http://pt.wikipedia.org/wiki/Manifesto_%C3%A1gil. Acessado em: 26 jan. 2011. FOWLER, Martin. A Nova Metodologia. Disponível em: http://simplus.com.br/artigos/a-nova- metodologia/#N1F0. Acessado em: 26 jan. 2011. CÂMARA, Fábio. Um cardápio de metodologias ágeis. Disponível em: http://imasters.com.br/artigo/7396/gerencia/um_cardapio_de_metodologias_ageis/. Acessado em: 26 jan. 2011. PRESSMAN, Roger S. Engenharia de Software. Mc Graw Hill, 6 ed, Porto Alegre, 2010. THAMIEL, Thiago. Entendendo Scrum. Disponível em: http://thiagothamiel.wordpress.com/category/desenvolvimento-agil/page/2/. Acessado em: 02 fev. 2011.

Weitere ähnliche Inhalte

Was ist angesagt?

Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Annelise Gripp
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Ferramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareFerramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareelliando dias
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileCloves da Rocha
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
Reuso de software
Reuso de softwareReuso de software
Reuso de softwarerebekinha
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de ConfiguraçãoWagner Zaparoli
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de SoftwareNécio de Lima Veras
 
Converção de binarios para decimal.
Converção de binarios para decimal.Converção de binarios para decimal.
Converção de binarios para decimal.Alessandro Garcez
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitoselliando dias
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de SoftwareLeinylson Fontinele
 

Was ist angesagt? (20)

Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!
 
Teste de Software - Introdução
Teste de Software - IntroduçãoTeste de Software - Introdução
Teste de Software - Introdução
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Ferramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareFerramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de software
 
Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Reuso de software
Reuso de softwareReuso de software
Reuso de software
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Metodos Ageis
Metodos AgeisMetodos Ageis
Metodos Ageis
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Modelos de Engenharia de Software
Modelos de Engenharia de SoftwareModelos de Engenharia de Software
Modelos de Engenharia de Software
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Converção de binarios para decimal.
Converção de binarios para decimal.Converção de binarios para decimal.
Converção de binarios para decimal.
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Computação em nuvem
Computação em nuvemComputação em nuvem
Computação em nuvem
 

Ähnlich wie Metodologias Ágeis Desenvolvimento Software

Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareEmerson Henrique
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareLuciano Almeida
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareDaniel Cukier
 
Gestão Ágil de Projetos
Gestão Ágil de ProjetosGestão Ágil de Projetos
Gestão Ágil de ProjetosInaniaVerba
 
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...Luiz Lemos
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaRalph Rassweiler
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilRebecca Betwel
 
Palestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPalestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPaulo Furtado
 
Gestao Agil de Projetos com Scrum
Gestao Agil de Projetos com ScrumGestao Agil de Projetos com Scrum
Gestao Agil de Projetos com ScrumRafael Ramos
 
Introdução Metodologias áGeis Para Desenvolvimento De Software
Introdução  Metodologias áGeis Para Desenvolvimento De SoftwareIntrodução  Metodologias áGeis Para Desenvolvimento De Software
Introdução Metodologias áGeis Para Desenvolvimento De SoftwareMarcos Cardoso
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)André Dias
 

Ähnlich wie Metodologias Ágeis Desenvolvimento Software (20)

Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de Software
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de Software
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de Software
 
Gestão Ágil de Projetos
Gestão Ágil de ProjetosGestão Ágil de Projetos
Gestão Ágil de Projetos
 
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Artigo corrigido
Artigo corrigidoArtigo corrigido
Artigo corrigido
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e prática
 
Artigo23
Artigo23Artigo23
Artigo23
 
Metodologias Ágeis
Metodologias ÁgeisMetodologias Ágeis
Metodologias Ágeis
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
 
Palestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPalestra de SCRUM em Juazeiro
Palestra de SCRUM em Juazeiro
 
Gestao Agil de Projetos com Scrum
Gestao Agil de Projetos com ScrumGestao Agil de Projetos com Scrum
Gestao Agil de Projetos com Scrum
 
APS - RAD x Ágeis
APS - RAD x ÁgeisAPS - RAD x Ágeis
APS - RAD x Ágeis
 
Introdução Metodologias áGeis Para Desenvolvimento De Software
Introdução  Metodologias áGeis Para Desenvolvimento De SoftwareIntrodução  Metodologias áGeis Para Desenvolvimento De Software
Introdução Metodologias áGeis Para Desenvolvimento De Software
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
 

Mehr von Fernando Palma

CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...Fernando Palma
 
Formação em ciência de dados
Formação em ciência de dadosFormação em ciência de dados
Formação em ciência de dadosFernando Palma
 
Apostila de Introdução ao Arduino
Apostila de Introdução ao ArduinoApostila de Introdução ao Arduino
Apostila de Introdução ao ArduinoFernando Palma
 
Apostila Arduino Basico
Apostila Arduino BasicoApostila Arduino Basico
Apostila Arduino BasicoFernando Palma
 
Cartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.brCartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.brFernando Palma
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioFernando Palma
 
Apostila Zend Framework
Apostila Zend FrameworkApostila Zend Framework
Apostila Zend FrameworkFernando Palma
 
Ebook Governança de TI na Prática
Ebook Governança de TI na PráticaEbook Governança de TI na Prática
Ebook Governança de TI na PráticaFernando Palma
 
Simulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões ComentadasSimulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões ComentadasFernando Palma
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaFernando Palma
 
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)Fernando Palma
 
Guia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half BrasilGuia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half BrasilFernando Palma
 
Gerenciamento na nuvem e System Center
Gerenciamento na nuvem e System CenterGerenciamento na nuvem e System Center
Gerenciamento na nuvem e System CenterFernando Palma
 
SAN: Storage Area Network
SAN: Storage Area NetworkSAN: Storage Area Network
SAN: Storage Area NetworkFernando Palma
 
Ebook ITIL Na Prática
Ebook ITIL Na PráticaEbook ITIL Na Prática
Ebook ITIL Na PráticaFernando Palma
 
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECExemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECFernando Palma
 
Apostila Tutorial CakePHP
Apostila Tutorial CakePHPApostila Tutorial CakePHP
Apostila Tutorial CakePHPFernando Palma
 

Mehr von Fernando Palma (20)

CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
 
Formação em ciência de dados
Formação em ciência de dadosFormação em ciência de dados
Formação em ciência de dados
 
Apostila de Introdução ao Arduino
Apostila de Introdução ao ArduinoApostila de Introdução ao Arduino
Apostila de Introdução ao Arduino
 
Apostila Arduino Basico
Apostila Arduino BasicoApostila Arduino Basico
Apostila Arduino Basico
 
Cartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.brCartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.br
 
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia Introdutório
 
Apostila Zend Framework
Apostila Zend FrameworkApostila Zend Framework
Apostila Zend Framework
 
Hacker Ético
Hacker ÉticoHacker Ético
Hacker Ético
 
Ebook Governança de TI na Prática
Ebook Governança de TI na PráticaEbook Governança de TI na Prática
Ebook Governança de TI na Prática
 
Simulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões ComentadasSimulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões Comentadas
 
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de Máquina
 
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
 
Guia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half BrasilGuia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half Brasil
 
Tutorial memcached
Tutorial memcachedTutorial memcached
Tutorial memcached
 
Gerenciamento na nuvem e System Center
Gerenciamento na nuvem e System CenterGerenciamento na nuvem e System Center
Gerenciamento na nuvem e System Center
 
SAN: Storage Area Network
SAN: Storage Area NetworkSAN: Storage Area Network
SAN: Storage Area Network
 
Linguagem ABAP
Linguagem ABAPLinguagem ABAP
Linguagem ABAP
 
Ebook ITIL Na Prática
Ebook ITIL Na PráticaEbook ITIL Na Prática
Ebook ITIL Na Prática
 
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MECExemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MEC
 
Apostila Tutorial CakePHP
Apostila Tutorial CakePHPApostila Tutorial CakePHP
Apostila Tutorial CakePHP
 

Metodologias Ágeis Desenvolvimento Software

  • 1. Metodologias Ágeis de Desenvolvimento de Software "Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE." Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha Engenharia de Software Material original gentilmente cedido pelo professor Fábio Procópio
  • 2. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação Introdução As Metodologias Ágeis de Desenvolvimento de Software são indicadas como sendo uma opção às abordagens tradicionais para desenvolver softwares; Comparadas a outras metodologias, produzem pouca documentação. É recomendado documentar o que realmente será útil; São recomendadas para projetos que: existem muitas mudanças; os requisitos são passíveis de alterações; a recodificação do programa não acarreta alto custo; a equipe é pequena; as datas de entrega curtas acarretam alto custo; o desenvolvimento rápido é fundamental. Em essência, as Metodologias Ágeis foram desenvolvidas com o objetivo de vencer as fraquezas percebidas e reais da Engenharia de Software (Pressman, 2010).
  • 3. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação O Manifesto Ágil Em 2001, Kent Beck e mais 16 desenvolvedores, produtores e consultores de software, que formavam a Aliança Ágil, assinaram o Manifesto de Desenvolvimento Ágil de Software, declarando: Estamos descobrindo melhores modos de desenvolvimento de software fazendo-o e ajudando outros a fazê-lo. Por meio desse trabalho, passamos a valorizar: Indivíduos e interações ao invés de processos e ferramentas. Software funcionando ao invés de uma documentação abrangente. Colaboração do cliente ao invés de negociação de contratos. Resposta a modificações ao invés de seguir um plano. Isto é, ainda que haja valor nos itens à direita, valorizamos mais os itens à esquerda.
  • 4. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação Os 12 princípios do Manifesto Ágil 1.Garantia da satisfação do consumidor com entrega rápida e contínua de softwares funcionais. 2.Mudanças de requisitos, mesmo no fim do desenvolvimento, ainda são bem-vindas. 3.Frequentemente são entregues softwares funcionais (semanas, ao invés de meses). 4.Desenvolvedores e pessoas relacionadas aos negócios devem trabalhar, em conjunto, até o fim do projeto. 5.Construir projetos com indivíduos motivados, dar-lhes ambiente e suporte necessários e confiar que farão seu trabalho. 6.Uma conversa face a face é o método mais eficiente e efetivo de transmitir informações para e dentro de uma equipe de desenvolvimento.
  • 5. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação Os 12 princípios do Manifesto Ágil 7.Software em funcionamento é a principal medida de progresso. 8.Desenvolvimento sustentável, de modo a manter um ritmo constante indefinidamente. 9.Atenção contínua para com a excelência técnica e para com bons projetos aumenta a agilidade. 10.Simplicidade – a arte de maximizar a quantidade de trabalho não efetuado – é essencial. 11.As melhores arquiteturas, requisitos e projetos emergem de equipes auto-organizáveis. 12.Em intervalos regulares, a equipe deve refletir sobre como se tornar mais eficiente.
  • 6. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação Algumas metodologias Em seu livro, Pressman (2010) apresenta as seguintes metodologias: XP (Extreme Programming) DAS (Desenvolvimento Adaptativo de Software) DSDM (Dynamic Software Development Method) Scrum Crystal FDD (Feature Driven Development) Modelagem Ágil (AM) Processo Unificado Ágil (AUP)
  • 7. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação XP (Extreme Programming) Utiliza OO como paradigma de desenvolvimento; Inclui um conjunto de regras e práticas com base nas seguintes atividades: Planejamento Projeto Codificação Teste
  • 8. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação XP: Planejamento Criação de um conjunto de “histórias de usuários” descrevendo as características e funcionalidades requeridas pelo software que será construído; As histórias (semelhantes aos casos de uso) são escritas pelos clientes e colocadas em cartões de indexação; O cliente atribui uma prioridade à cada história; Os desenvolvedores analisam cada história e atribuem um custo a cada uma delas, com base em número de semanas necessárias para o seu desenvolvimento;
  • 9. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação XP: Planejamento (Kanban)
  • 10. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação XP: Planejamento (Kanban - Trello)
  • 11. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação XP: Planejamento Se a história precisar de mais de 3 semanas para desenvolvimento, é solicitado ao cliente que ela seja dividida em histórias menores; Desenvolvidas em 3 modos: 1) Todas as histórias serão implementadas imediatamente (dentro de poucas semanas). 2) As histórias com valor mais alto serão antecipadas no cronograma e implementadas primeiro. 3) As histórias de maior risco serão antecipadas no cronograma e implementadas primeiro. Com o avanço do projeto, o cliente pode adicionar novas histórias, mudar a sua prioridade, subdividi-la e eliminá-las.
  • 12. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação XP: Projeto Segue rigorosamente o KIS (keep it simple) Estimula o uso de cartões CRC (Classe, Responsabilidade e Colaboração) para a identificação e organização das classes OO relevantes para o incremento do software Cartões CRC permitem a descrição dos conceitos identificados na metáfora na forma de classes. Responsabilidades são identificadas para cada classe. As colaborações determinam as interações entre classes. Os cartões permitem que o todo o time possa colaborar com o design.
  • 13. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação XP: Projeto Os cartões CRC são o único produto de trabalho do projeto; Caso seja identificado um problema difícil na história, recomenda-se a criação imediata de um protótipo operacional daquela parte do projeto. Denominado Solução de Ponta. Encoraja a refatoração. Técnica que altera a estrutura do sistema sem modificar o comportamento externo.
  • 14. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação XP: Projeto - Refatoração (extração de método)
  • 15. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação XP: Codificação Depois que as histórias forem desenvolvidas e o início do projeto for feito, recomenda-se não iniciar a programação; Elemento chave do XP. É recomendado realizar testes unitários sobre cada uma das histórias que serão incluídas na versão atual. Depois de os testes unitários terem sido criados, o desenvolvedor está focado no que deve ser implementado. Programação em pares: duas pessoas trabalhando juntas na mesma máquina; cada pessoa fica encarregada de uma atividade; quando o trabalho dos programadores é completado, é feita uma integração com o trabalho de outros; existe uma equipe responsável pela integração.
  • 16. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação XP: Teste São aplicados os testes unitários. Os testes de aceitação (ou teste de cliente) são especificados sob a ótica do cliente e abrangem as características e as funcionalidades do sistema global visíveis e passíveis de revisão. “Resolver pequenos problemas a cada intervalo de umas poucas horas leva menos tempo do que resolver grandes problemas perto da data de entrega”, Wells (1999) apud Pressman(2010).
  • 17. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação XP: Teste Unitário (exemplo)
  • 18. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação XP: Teste Unitário (exemplo)
  • 19. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação DAS Acrônimo de Desenvolvimento Adaptativo de Software ou, ASD (Adaptative Software Development). Proposto por Highsmith para auxiliar no desenvolvimento de sistemas e softwares complexos. Concentra-se na colaboração humana e na auto-organização da equipe. É uma propriedade de sistemas adaptativos.
  • 20. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação DAS Incorpora três fases: Especulação Declara a missão do projeto; Identifica as restrições do projeto; Realiza o levantamento dos requisitos básicos. Colaboração Filosofia de que pessoas motivadas trabalhando juntas multiplicam seus talentos e resultados. Aprendizado Clientes/usuários informam feedback; Revisão dos componentes de software desenvolvidos; Avaliação do desempenho da equipe DAS.
  • 21. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação DSDM Acrônimo de Dynamic Systems Development Method; “Fornece um arcabouço para construir e manter sistemas que satisfazem às restrições de prazo apertadas por meio do uso de prototipagem incremental em um ambiente controlado de projeto”, CS3 Consulting Services apud Pressman(2010); O DSDM Consortium é um grupo mundial de empresas que definiu um modelo ágil de processo chamada Ciclo de vida DSDM, com as seguintes atividades: Estudo de viabilidade; Estudo do negócio; Iteração do modelo funcional; Iteração de projeto e construção e; Implementação.
  • 22. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação Ciclo de vida DSDM Estudo de viabilidade Define requisitos básicos e restrições do negócio; Avalia se é viável desenvolver a aplicação usando DSDM. Estudo do negócio Identifica os requisitos funcionais; Define a arquitetura básica da aplicação; Identifica os requisitos de manutenibilidade da aplicação. Iteração do modelo funcional Constrói um conjunto de protótipos incrementais. Objetiva adquirir requisitos adicionais com feedbacks dos usuários à medida que usam o protótipo. Iteração de projeto e construção Verifica os protótipos construídos garantindo que cada um tenha passado por engenharia. Implementação Coloca o último incremento do software no ambiente de produção, apesar de ele poder ainda não estar completo e novas modificações serem solicitadas.
  • 23. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação Scrum Apresenta princípios coerentes com os do Manifesto Ágil; Desenvolvido na década de 90 por Jeff Sutherland. Enfatiza o uso de um conjunto de “padrões de processo de software” ideais para projetos com prazos apertados, requisitos mutantes e negócios críticos; Baseado em ciclos de 30 dias (chamados de Sprints), o Scrum trabalha para alcançar objetivos bem definidos; Os objetivos são representados no Product Backlog, que é uma lista de atividades a serem realizadas; Papéis: Time Product owner Scrum master
  • 24. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação Scrum: papéis Time grupo pequeno, normalmente, entre 5 e 9 pessoas; deve ser comprometido com o trabalho a fim de atingir a meta de um Sprint; desenvolve e produz com qualidade; deve ser cada vez mais auto-gerenciável e multidisciplinar. Product Owner faz o intermédio entre o cliente e o fornecedor do produto boa noção do produto e das necessidades do cliente; responsável por atualizar o Product Backlog. Scrum Master um líder, mediador e facilitador; remove impedimentos da equipe assegurando que as práticas Scrum estão sendo executadas com eficiência.
  • 25. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação Scrum: Fluxo de processo Definição do Backlog funcionalidades ou mudanças no produto são feitas pelo Product Owner no Product Backlog; a lista é priorizada para refletir a necessidade dos clientes ou demandas do mercado; Sprints unidades de trabalho necessárias para atender os itens do Product Backlog, normalmente, são 30 dias. Reuniões diárias, aproximadamente 15 minutos; todos os membros do time respondem às perguntas: 1.O que você fez ontem? 2.O que pretende fazer hoje? 3.Que impedimentos estão lhe atrapalhando? Revisões o time apresenta os resultados ao Product Owner e demais interessados; os itens do backlog são considerados prontos e inicia-se um novo sprint.
  • 26. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação Scrum: Fluxo de processo
  • 27. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação Família Crystal Criada por Cockburn e Highsmith, contempla um conjunto de metodologias, cada qual com elementos centrais que são comuns a todas, papéis, padrões de processos, produtos de trabalho e práticas específicas de cada uma (Pressman, 2010); Tem como objetivo permitir que equipes ágeis selecionem o membro da família mais apropriado para o seu projeto e ambiente. Cada método Crystal é caracterizado por uma cor. 4 parâmetros determinam o método de desenvolvimento: Tamanho da equipe. Localização geográfica. Criticalidade/Segurança Recursos.
  • 28. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação Crystal Clear É uma metodologia leve, para equipes de 1 a 8 pessoas. Podendo chegar até 12 casos especiais. Yellow: 10 a 20 membros. Orange: 20 a 50 membros. Red: 50 a 100 membros. Cada um dos métodos com graus de gerenciamento e de comunicação ajustados de acordo com o tamanho da equipe. Especificação e projeto são feitos informalmente usando quadros publicamente visíveis. A metodologia é propositalmente pouco definida. Para permitir que cada projeto implemente as atividades que lhes pareçam mais adequadas. Fornecendo um mínimo de suporte útil a documentação e comunicação.
  • 29. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação FDD – Feature Driven Development Define característica como sendo “uma função valorizada pelo cliente que pode ser implementada em duas semanas ou menos”, Coad (1999) apud Pressman (2010); Os benefícios em se utilizar a filosofia de características são: os usuários podem descrevê-las mais facilmente; podem ser organizadas de forma hierárquica; desenvolvimento a cada duas semanas; facilidade em analisar projeto e código; projeto e cronograma são guiados pela hierarquia de características, ao invés de um conjunto de tarefas de engenharia de software adotado arbitrariamente. Definição: <ação> o <resultado> <por|para|de|a> um <objeto> Exemplos: Gera o relatório de venda para um determinado período; Exibe as especificações técnicas de um produto; Adiciona o produto a um carrinho de compras.
  • 30. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação TDD – Test Driven Development Técnica de desenvolvimento de software que baseia em um ciclo curto de repetições: O desenvolvedor escreve um caso de teste automatizado que define uma melhoria desejada ou uma nova funcionalidade. É produzido código que possa ser validado pelo teste para posteriormente o código ser refatorado para um código sob padrões aceitáveis. Kent Beck, considerado o criador da técnica, declarou em 2003 que TDD encoraja designs de código simples e inspira confiança. Através de TDD, programadores podem aplicar o conceito de melhorar e depurar código legado desenvolvido a partir de técnicas antigas.
  • 31. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação TDD – Test Driven Development Escreva um teste, antes mesmo de escrever o código que este teste consome. Faça o teste funcionar, escrevendo o código do qual o teste depende, mesmo que seja um código ruim. Refatore, eliminando duplicações de código, tanto nos testes quanto nas implementações.
  • 32. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação Seminários A turma deverá apresentar seminários sobre as seguintes metodologias ágeis: 1)SCRUM () 2)XP () 3)FDD () 4)BDD () 5)TDD () Deve conter mais detalhes do que os mostrados na aula. Devem ser apresentados exemplos reais de aplicação e de documentação gerada. Listar empresas conhecidas que utilizam o respectivo processo. Mostrar como a Orientação a Objetos é utilizada.
  • 33. Metodologias Ágeis Metodologias Ágeis Introdução Manifesto Ágil Os 12 princípios Algumas metodologias XP Planejamento Projeto Codificação Teste DAS DSDM Ciclo de vida Scrum Papéis Fluxo Família Crystal FDD TDD Seminários Referências Prof. Fábio Procópio Sistemas de Informação Referências SOARES, Michel dos Santos. Comparação entre Metodologias Ágeis e Tradicionais para o Desenvolvimento de Software. Disponível em: http://www.dcc.ufla.br/infocomp/artigos/v3.2/art02.pdf. Acessado em: 26 jan. 2011. KIIOSKEA.NET. Métodos ágeis (RAD, XP). Disponível em: http://pt.kioskea.net/contents/genie- logiciel/methodes-agiles.php3. Acessado em: 26 jan. 2011. Manifesto para o desenvolvimento ágil de software. Disponível em: http://manifestoagil.com.br/index.html. Acessado em: 26 jan. 2011. WIKIPÉDIA. Desenvolvimento ágil de software. Disponível em: http://pt.wikipedia.org/wiki/Desenvolvimento_%C3%A1gil_de_software.Acessado em: 26 jan. 2011. WIKIPÉDIA. Manifesto ágil. Disponível em: http://pt.wikipedia.org/wiki/Manifesto_%C3%A1gil. Acessado em: 26 jan. 2011. FOWLER, Martin. A Nova Metodologia. Disponível em: http://simplus.com.br/artigos/a-nova- metodologia/#N1F0. Acessado em: 26 jan. 2011. CÂMARA, Fábio. Um cardápio de metodologias ágeis. Disponível em: http://imasters.com.br/artigo/7396/gerencia/um_cardapio_de_metodologias_ageis/. Acessado em: 26 jan. 2011. PRESSMAN, Roger S. Engenharia de Software. Mc Graw Hill, 6 ed, Porto Alegre, 2010. THAMIEL, Thiago. Entendendo Scrum. Disponível em: http://thiagothamiel.wordpress.com/category/desenvolvimento-agil/page/2/. Acessado em: 02 fev. 2011.