sexta-feira, 15 de março de 2013

Que Tal FDD?

Olá,

Como já realizada em uma enquete neste blog, notei que algumas pessoas não conhecem sobre FDD. Com intuito de compartilhar o pouco que sei sobre a metodologia participei de um evento no Instituto Atlântico (Atlantico Tech Day), onde realizei uma lightning talk com o tema deste post. Como houve muito interesse para conhecer mais sobre a metodologia, hoje foi realizado um treinamento institucional também no IA, a fim de saberem na prática o funcionamento desta metodologia ágil. Resolvi então compartilhar com todos neste blog um pouco sobre FDD.

Feature Driven Development (FDD) ou desenvolvimento guiado por funcionalidade é uma metodologia ágil para gerenciamento e desenvolvimento de software que nasceu em um projeto em Cingapura, entre 1997 e 1999, a partir do Método Coad e de gerenciamento de projetos de Jeff De Luca . Esta metodologia combina as melhores práticas do gerenciamento ágil de projetos com uma abordagem completa para Engenharia de Software orientada a objetos.

Os princípios e práticas desta metodologia proporcionam um equilíbrio entre as filosofias tradicionais e as metodologias ágeis mais extremas, situando-se numa posição intermediária entre as abordagens mais prescritivas (Processo Unificado, Cascata Tradicional – Waterfall) e as abordagens ágeis (XP, Scrum, Crystal, etc.).

O start do processo FDD é um mínimo de insumo de requisitos necessários para o entendimento do escopo do projeto. A FDD é divida nas fases de concepção e planejamento, e contrução do projeto. A Fase de concepção e planejamento abrange as etapas: desenvolver um modelo abrangente - DMA, desenvolver uma lista de funcionalidades - CLF e planejar por funcionalidades - PPF. A fase de construção é divida nas etapas: detalhar por funcionalidades - DPF e Construir por funcionalidade - CPF.

A grande vantagem da FDD sobre as demais metodologias ágeis é conseguir que a equipe se adapte facilmente à nova metodologia sem muito sofrimento de mudança de cultura, por ser uma metodologia que possui princípios de engenharia de software. Dessa forma é possível aproveitar o conhecimento e experiência já existente na equipe, pois já está habituada a trabalhar com metodologias tradicionais. Assim para passar a utilizar FDD deverá apenas aplicar pequenas mudanças de cultura de forma gradativa, conseguindo portanto um resultado de maior qualidade.

Na apresentação abaixo é apresentada uma estrutura da FDD.

Que Tal FDD?
Referências: http://www.heptagon.com.br/fdd-estrutura