Buscar

MetodosAgeis-Varios

Prévia do material em texto

1 / 21
Modelos ágeis
FDD/ASD/DSDM
 2 / 21
FDD (Feature Driven Development – 
Desenvolvimento Guiado por 
Características)
 3 / 21
FDD (Feature Driven Development)
Entre as metodologias ágeis que existiam 
antes do manifesto ágil, o FDD “Feature 
Driven Developement” é uma delas. 
Concebido originalmente por Jeff de Luca, o 
FDD surgiu em Singapura, entre os anos de 
1997 e 1999. 
 4 / 21
FDD (Feature Driven Development)
O FDD surgiu a principio como um modelo 
prático de processos para engenharia de 
softwares orientado a objetos, depois 
esse modelo foi melhorado e adaptado para 
ser aplicado a projetos de softwares de 
tamanho moderado e grande.
 5 / 21
FDD (Feature Driven Development)
O FDD busca o desenvolvimento por 
funcionalidade, ou seja, por um requisito 
funcional do sistema.
O FDD atua muito bem em conjunto com o 
Scrum, pois o Scrum atua no foco do 
gerenciamento do projeto e o FDD atua no 
processo de desenvolvimento. 
 6 / 21
FDD (Feature Driven Development)
 No contexto do FDD, uma característica é uma função 
valorizada pelo cliente que pode ser implementada em duas 
semanas ou menos. A ênfase na definição de característica fornece 
os seguintes benefícios:
● Características são pequenos blocos de funcionalidades 
passíveis de entrega;
● Podem ser organizadas em agrupamento hierárquico 
relacionados ao negocio;
● É um incremento de software passível de entrega do FDD, a 
equipe desenvolve características operacionais a cada duas 
semanas;
● Como características são pequenas, suas representações de 
projeto e de código são mais fáceis de serem inspecionadas.
● Planejamento de projeto, cronogramação e monitoração são 
guiados pela hierarquia de característica em vez de por um 
conjunto de tarefas de engenharia de software.
 7 / 21
FDD (Feature Driven Development)
O FDD possui cinco processos básicos:
● Desenvolvimento de modelo abrangente (Análise 
orientada por objetos);
● Construção de lista de funcionalidades 
(Decomposição funcional);
● Planejar por funcionalidade (Planejamento 
incremental);
● Detalhe por funcionalidade (Desenho orientado a 
objetos);
● Construção por funcionalidade (Programação e teste 
orientado a objetos). 
 8 / 21
FDD (Feature Driven Development)
 9 / 21
FDD (Feature Driven Development)
Segundo a metodologia, o percentual de tempo 
gasto em cada etapa é:
● Levantamento do domínio da aplicação = 1%;
● Projeto = 40%;
● Inspeção do projeto = 3%;
● Desenvolvimento = 45%;
● Inspeção do código = 10%;
● Integração = 1%.
 10 / 21
FDD (Feature Driven Development)
Melhores práticas (boas práticas) com o FDD:
● Modelagem Orientada a Objetos do Domínio;
● Desenvolvimento por funcionalidade;
● Classe proprietária, ou seja, a unidade é feita individualmente, 
evitando-se assim conflitos na equipe;
● Equipes de recursos: são equipes pequenas, destinadas a 
desenvolver recursos necessários ao projeto, de forma secundária;
● Inspeção é realizada constantemente para garantir a boa qualidade 
do código e do projeto;
● Gerenciamento de configuração;
● Integração contínua para demonstrar constantemente as 
funcionalidades ao cliente e;
● Visibilidade de progressos e resultados.
 11 / 21
ASD- (Adaptative Software 
Development- Desenvolvimento 
Adaptativo de Software)
 12 / 21
ASD- (Adaptative Software Development)
O DAS ou ASD foi proposto como uma técnica 
para a construção de softwares 
complexos. 
O DAS se concentra na colaboração humana 
e na auto-organização da equipe.
 13 / 21
ASD- (Adaptative Software Development)
Essa mudança seria necessária devido ao enfoque diferente 
dos dois ciclos: o primeiro considera a estabilidade no ambiente 
de negócios, enquanto o segundo foca em ambientes de 
incerteza e de grande mudança – visão comum a todos os 
métodos ágeis. 
Planejamento 
Tradicional
Planejamento 
Com ASD
Planejar
Projetar
Construir
Especular
Colaborar
Aprender
 14 / 21
ASD- (Adaptative Software Development)
 15 / 21
ASD- (Adaptative Software Development)
 Especulação: o projeto é iniciado e o planejamento de um ciclo 
adaptativo é conduzido. Planejamento do ciclo adaptativo usa 
informações de iniciação do projeto, a declaração de missão é 
feita pelo cliente,as restrições do projeto e requisitos básicos são 
definidos e também é definido a quantidade de ciclos que serão 
realizados.
Colaboração: Pessoal motivado trabalha junto de um modo que 
multiplica seus talentos e resultados criativos além de seus 
números absolutos. 
Aprendizado:A medida que os membros da equipe DAS começam 
a desenvolver os componentes que fazem parte de um ciclo 
adaptativo,a ênfase esta tanto no aprendizado quando no 
desenvolvimento do ciclo.
 16 / 21
ASD- (Adaptative Software Development)
Para que o desenvolvimento seja realmente adaptativo é 
necessário que esse novo ciclo tenha as seguintes 
características:
● Enfoque na missão: fazer com que a equipe tenha um 
objetivo definido e permitindo que sejam feitas decisões com 
maior embasamento.
● Baseado em características: o objetivo é entregar 
resultados mais palpáveis ao cliente, ao invés de outras 
formas de produtos (como, por exemplo, documentação).
● Iterativo: a construção deve focar na evolução do produto.
 17 / 21
ASD- (Adaptative Software Development)
● Períodos fechados (time-boxes): a equipe deve ter um 
objetivo definido em um determinado período, priorizando e 
decidindo para que seja entregue o combinado no prazo 
adequado.
● Dirigido a riscos: é necessário analisar e avaliar os riscos do 
projeto continuamente, assim como em um desenvolvimento 
em espiral.
● Tolerante a mudanças: incorporar as mudanças que forem 
aparecendo durante o projeto, para que o sistema tenha maior 
valor ao cliente. 
 18 / 21
DSDM(Dynamic Systems 
Development Method – Metodo 
de desenvolvimento dinâmico de 
sistemas)
 19 / 21
DSDM- (Dynamic Systems Development Method)
O DSDM é uma abordagem ágil de desenvolvimento de 
software que que se conceitua mais como um arcabouço* do 
que um método, é na criação de protótipos que evoluem para 
o sistema, utilizando para isso a colaboração muito próxima do 
cliente.
 
Para construir e manter sistemas que satisfazem às restrições 
de prazos apertadas por meio do uso de prototipagem 
incremental em um ambiente controlado de projeto.
* Estrutura / framework
 20 / 21
DSDM- (Dynamic Systems Development Method)
Existem algumas técnicas principais que são usadas durante a 
execução de um projeto usando DSDM:
● Time-boxes: definição de um período fixo para a execução do 
projeto, colocando até datas de entrega. Com isso, caso haja 
alguma funcionalidade que não possa ser implementada 
durante o período estipulado, ela deve ser feita após o 
desenvolvimento em si (antes da fase de pós-projeto).
● MoSCoW: regra básica para a priorização de requisitos 
durante o período de desenvolvimento. A idéia fundamental é 
priorizar e implementar os requisitos que sejam considerados 
principais, deixando os menos importantes para depois.
● Modelagem: não deve ser uma atividade burocrática, sendo 
usada para prover um melhor entendimento do problema e da 
solução.
 21 / 21
DSDM- (Dynamic Systems Development Method)
● Prototipação: forma de verificar a adequação dos requisitos e 
facilitar as discussões com o cliente. O protótipo criado deve 
evoluir juntamente com o projeto.
● Teste: essa atividade deve ser executada sistematicamente e 
de forma contínua durante o projeto.
● Gerência de configuração: essencial, visto que os produtos 
são entregues com uma grande freqüência. 
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21

Continue navegando