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.