Você está na página 1de 2

Feature Driven Development (Desenvolvimento Guiado por Funcionalidades) uma

metodologia gil para gerenciamento e desenvolvimento de software. Ela combina as


melhores prticas do gerenciamento gil de projetos com uma abordagem completa para
Engenharia de Software orientada por objetos, conquistando os trs principais
pblicos de um projeto de software: clientes, gerentes e desenvolvedores.

Seus princpios e prticas proporcionam um equilbrio entre as filosofias


tradicionais e as mais extremas, proporcionando uma transio mais suave para
organizaes mais conservadoras, e a retomada da responsabilidade para as
organizaes que se desiludiram com as propostas mais radicais.

O lema da FDD : Resultados freqentes, tangveis e funcionais.

A FDD nasceu num projeto em Singapura, entre 1997 e 1999, a partir do Mtodo Coad
(uma metodologia completa para Anlise, Desenho e Programao Orientados por
Objetos, desenvolvida por Peter Coad nas dcadas de 1980 e 1990) e das tcnicas de
gerenciamento iterativo, incremental e enxuto de projetos utilizadas por Jeff De
Luca, um gerente de projetos australiano.

Seu lema "Resultados frequentes, tangveis e funcionais".

A primeira descrio oficial dos processos foi publicada no livro "Java Modeling in
Color with UML", por Peter Coad, Eric Lefebvre e Jeff De Luca, em 1999.

O livro de referncia "A Practical Guide to Feature-Driven Development", por


Stephen Palmer e John Mac Felsing, publicado em 2002 pela Prentice-Hall, compondo
uma srie editada pelo prprio Peter Coad.

Com relao s outras metodologias de desenvolvimento de software, situa-se numa


posio intermediria entre as abordagens mais prescritivas (Processo Unificado,
Cascata tradicional - Waterfall) e as abordagens geis (XP - Programao Extrema,
Scrum, Crystal, etc.).

Oferece um conjunto coeso de princpios e prticas tanto para a Gesto de Projetos


quanto para a Engenharia de Software, mas convive bem com abordagens mais
especialistas, como Scrum.

Apesar de algumas divergncias pontuais com a XP, vrias prticas propostas por
esta ltima tambm so utilizadas por equipes usando FDD, como os testes unitrios,
refatorao, programao em pares, integrao contnua, entre outras. Apenas a
nfase na FDD que no to grande quanto na XP. A FDD tambm prope prticas
como inspeo formal (de desenho e de cdigo) e posse individual/situacional de
cdigo/classe, que podem contrastar com algumas das prticas fundamentais da XP. A
experincia da equipe e dos gerentes que deve julgar quais prticas so mais
apropriadas.

Os Processos[editar | editar cdigo-fonte]

Os cinco processos da FDD


A FDD , classicamente, descrita por cinco processos:

Desenvolver um Modelo Abrangente: pode envolver desenvolvimento de requisitos,


anlise orientada por objetos, modelagem lgica de dados e outras tcnicas para
entendimento do domnio de negcio em questo. O resultado um modelo de objetos
(e/ou de dados) de alto nvel, que guiar a equipe durante os ciclos de construo.
Construir uma Lista de Funcionalidades: decomposio funcional do modelo do
domnio, em trs camadas tpicas: reas de negcio, atividades de negcio e passos
automatizados da atividade (funcionalidades). O resultado uma hierarquia de
funcionalidades que representa o produto a ser construdo (tambm chamado de
product backlog, ou lista de espera do produto).
Planejar por Funcionalidade: abrange a estimativa de complexidade e dependncia das
funcionalidades, tambm levando em considerao a prioridade e valor para o
negcio/cliente. O resultado um plano de desenvolvimento, com os pacotes de
trabalho na seqncia apropriada para a construo.
Detalhar por Funcionalidade: j dentro de uma iterao de construo, a equipe
detalha os requisitos e outros artefatos para a codificao de cada funcionalidade,
incluindo os testes. O projeto para as funcionalidades inspecionado. O resultado
o modelo de domnio mais detalhado e os esqueletos de cdigo prontos para serem
preenchidos.
Construir por Funcionalidade: cada esqueleto de cdigo preenchido, testado e
inspecionado. O resultado um incremento do produto integrado ao repositrio
principal de cdigo, com qualidade e potencial para ser usado pelo cliente/usurio.

Você também pode gostar