Você está na página 1de 30

FDD Feature Driven Development

Clique para editar o estilo do subttulo mestre


Talita Stael Leonardo Virgnio Celso Padilha Felipe Oscar Eurivan Marques
5/30/12

AGENDA
FDD
DEFINIO CARACTERSTICAS MELHORES PRTICAS ESTRUTURA PROCESSOS CONSIDERAES
5/30/12

FDD
FDD Feature Driven Development

Desenvolvimento Guiado por Funcionalidades


Metodologia

gil para gerenciamento e desenvolvimento de software.

"Resultados freqentes, tangveis e funcionais. 5/30/12

FDD: Definio

uma metodologia gil para gerenciamento e desenvolvimento de software, criada em 1997 num grande projeto em Java para oUnited Overseas Bank, em Cingapura.

Nasceu a partir da experincia de anlise e

modelagem orientadas por objetos dePeter Coad, e de gerenciamento de projetos deJeff De Luca.
5/30/12

FDD

Publicada em 1999, nocaptulo 6do livro"Java Modeling in Color with UML.

Em 2002, Stephen Palmer e John Mac Felsing publicaram 5/30/12 uma verso completa, atualizada e

FDD

Em 2003, David Anderson, publicou um marco na literatura gil,"Agile Management for Software Engineering: Using the Theory of Constraints for Business 5/30/12 Results",

FDD: Caractersticas
Resultados teis a cada duas semanas ou

menos

Blocos bem pequenos de funcionalidade

valorizada pelo cliente, chamados "Features" medio preciso

Planejamento detalhado e guia para Rastreabilidade e relatrios com incrvel


5/30/12 Monitoramento detalhado dentro do

FDD: Melhores Prticas


Modelagem do objeto do domnio Desenvolver por caractersticas Propriedade individual de classes Equipes de caractersticas Inspees Construo de builds regulares Gerncia de configurao Comunicao dos resultados
5/30/12

FDD: Estrutura
A FDD uma metodologia muito objetiva.

Possui apenas duas fases:

Concepo & Planejamento: Pensar um pouco

antes de fazer (tipicamente de 1 a 2 semanas)


Construo: Fazer de forma iterativa

(tipicamente em iteraes de 2 semanas)

5/30/12

FDD: Estrutura

5/30/12

Os 5 processos do FDD
1.Desenvo lver um Modelo geral
Modelo de Objeto (mais formas do que contedo)

2. Construir uma lista de funcionalid Uma lista de ades caractersticas


categorizada

3. Planejar atravs de funcionalid ade


Um plano de desenvolvimento

(mais contedo do que forma)

4. desenhar atravs de funcionali Um pacote de 5/30/12 dade projeto (seqncias)

5. Construir atravs de funcional Uma funo do idade cliente completada

FDD: Descrio dos Processos


Cada processo descrito em no mais do

que duas pginas de papel tamanho carta


Cada descrio do processo apresenta-se

de acordo com a estrutura: Entrada, Tarefas, Verificao e Sadas (ETVX)

5/30/12

FDD Processo #1: Desenvolver um modelo geral


Adquirir conhecimento do domnio e

construir o modelo geral


novo sistema

Estabelecimento do propsito de negcio do Construo de um modelo conceitual do

sistema

5/30/12

FDD Processo #1- Atividades


Formar a Equipe de Modelagem Estudo dirigido sobre o Domnio Estudar Documentos Desenvolver pequenos Modelos de Grupo Desenvolver um Modelo da Equipe Refinar o Modelo Geral Escrever Anotaes do Modelo 5/30/12

FDD Processo #1: Entradas e Sadas


Entrada
Especialistas no domnio, programadores e

arquitetos chefes so selecionados

Sadas
Modelo geral do domnio Diagrama das classes principais com alguns

mtodos e atributos identificados

Diagramas de seqncia de algumas Comentrio sobre o modelo

funcionalidades mais complexas (se houver)


5/30/12

FDD Processo #2: Construir lista de caractersticas


O domnio decomposto at chegar nas

caractersticas categorizadas

Caractersticas so agrupadas e Caractersticas so granuladas at ser

necessrio menos de 2 semanas pro seu desenvolvimento

5/30/12

FDD Processo #2 Atividades

Formar a Equipe da Lista de funcionalidades Construir a lista de funcionalidades

5/30/12

FDD Processo #2: Entradas e Sadas


Entrada
O processo #1 ter sido concludo com sucesso

Sadas
Uma lista das reas do domnio identificadas Para cada rea, uma lista de atividades de

negcio (conjunto de caractersticas) realizados (caractersticas)

Para cada atividade, os passos a serem

5/30/12

FDD Processo #3: Planejar atravs de caractersticas


Uma data de lanamento estabelecida para

o release inicial refinada

A lista de caractersticas priorizadas O trabalho tcnico planejado e atribudo

plano de desenvolvimento

5/30/12

FDD Processo #3 - Atividades


Formar a Equipe de Planejamento

Determinar a Seqncia de Desenvolvimento Atribuir Conjuntos de Caractersticas para Programadores Chefes Atribuir Classes para Desenvolvedores

5/30/12

FDD Processo #3: Entradas e Sadas


Entrada
O processo de construir a lista de

caractersticas (processo #2) ter sido concludo com sucesso

Sadas
Atividades de negcio com datas de trmino Programadores-chefes atribudos a atividades

de negcio

A lista de classes e seus donos

(desenvolvedores)

5/30/12

FDD Processo #4: Projetar atravs de caractersticas


Regras e transaes so identificadas O modelo da interface do usurio esboado Diagramas de seqncia mais detalhados

so produzidos

Especialistas so consultados para descobrir

qualquer necessidade especfica adicional

5/30/12

FDD Processo #4 Atividades


Formar a Equipe de Caractersticas

Estudo do Domnio

Estudar Documentos de Referncias

Desenvolver Diagramas de Seqncia Refinar o Modelo Descrever os prefcios de classes e mtodos

5/30/12

FDD Processo #4: Entradas e Sadas


Entrada
O processo de planejado (processo #3) ter sido

concludo com sucesso

Sadas
Diagramas de seqncia Projetos alternativos (caso exista) O modelo de objeto com classes, mtodos e

atributos novos ou atualizados

A documentao da API do sistema


5/30/12 Lista de tarefas (calendrio/ To-Do)

FDD Processo #5: Construir atravs de caractersticas


Caractersticas so construdas

implementando todas as classes e mtodos necessrios

Testes de unidades Caractersticas so inseridas no build

quando o teste resulta em sucesso

5/30/12

FDD Processo #5- Atividades

Codificar

Testar Unidades

Inspecionar Cdigo

Promover verso atual (Build)

Ponto de integrao para a funcionalidade 5/30/12 inteira

FDD Processo #5: Entradas e Sadas


Entrada
O processo anterior ter sido concludo com

sucesso

Sadas
Classe(s) e/ou mtodo(s) que passaram na

inspeo de cdigo com sucesso

Classes inseridas no build A concluso da funcionalidade do cliente


5/30/12

CONSIDERAES

5/30/12

CONSIDERAES
Fornece clareza Eleva o controle Facilita a comunicao reporta resultados Status do projeto completo determinado

pelas caractersticas entregues

Caractersticas quebram o trabalho em

entregas menores e mais gerenciveis

Builds regulares bom para os desenvolvedores, gerentes e

clientes...

5/30/12

FDD Feature Driven Development


Clique para editar o estilo do subttulo mestre

DVIDAS?

5/30/12