Material sobre FDD – Feature-Driven Development

O Feature-Driven Development (FDD) é um método que tem um foco grande na modelagem (diagrama de classes e seqüência) e utiliza como forma de planejamento e medição as características, ou melhor, funções com valor ao cliente.

A utilização de características no processo FDD tem diversas vantagens, o que permite agradar à todas as partes envolvidas. Os programadores ficam mais motivados e satisfeitos, uma vez que mudam o foco de trabalho em poucas semanas.

Os gerentes reduzem riscos ao entregar resultados frequentes, tangíveis e que estejam funcionando, além de poder usar as características como forma de medição, gerando relatórios com porcentagens. Os clientes recebem frequentemente resultados que eles entendem e também podem saber a qualquer momento o andamento do projeto com precisão.

No entanto, existem alguns pontos que podem ser apontados como fraquezas dessa metodologia, como a dificuldade de descrição de um cenário passo a passo do requisito, de acordo com a visão da solução do problema; a dificuldade de mapear User Stories para requisitos funcionais, pois sua descrição é muito informal, e dificuldades para gerar cenários de testes consistentes a fim de mais qualidade no produto final produzido pelo processo.

Em termos de gestão de projetos, a ferramenta atende as necessidades de controle sobre os processos de requisitos de softwares que estão em produção, porém, deve-se levar em consideração que para se obter um software de qualidade existem outras variáveis como estatística de tempo e estimativa de esforço a serem avaliadas quando se deseja garantir a qualidade do que está sendo implementado.

Dessa forma, em um projeto de software é extremamente benéfico associar FDD com outros métodos tais como Scrum, XP, RUP e OpenUP. Combinações com Kanban também são bem-vindas e podem melhorar ainda mais a visibilidade e facilitar a visualização do status do projeto.

Material de apoio para aprender FDD

Inicialmente há um interessante artigo, do autor do site Abuhijleh que faz um contra-ponto entre FDD e SCRUM.

Além disso recomenda-se assistir os vídeos a seguir, que abordam um pouco mais sobre o Feature-Driven Development sobre uma perspectiva e experiência de profissionais da área.

Apresentação sobre Feature Driven Development na conferência de Devouxx UK em 2014

Apresentação sobre FDD da ATSC.