FDD es lo que me gusta pensar como una metodología de envoltorio, ya que le permite aplicar un método para administrar proyectos a un nivel muy alto, pero aún le permite usar otras metodologías en un nivel inferior.
FDD se centra en poder establecer estimaciones y programas e informar sobre el estado de un proyecto como un todo, o en un nivel muy granular, pero no prescribe un método específico para aplicar con el fin de crear el cronograma, dejando eso a su criterio. La idea es que pueda ver su proyecto y afirmar con cierta certeza cuál es el estado del proyecto, ya sea a tiempo, resbalones, principios, etc.
Utilizo FDD como un medio para organizar mis proyectos en etapas manejables, de modo que sé CUANDO debo cerrar la sesión y comenzar cualquier etapa. Pero por sí mismo, FDD sería bastante inútil. Por ejemplo, personalmente utilizo la programación basada en la evidencia y un BDD/TDD combinado como elementos de un proceso de desarrollo que se gestionan bajo una especie de paraguas FDD. Personalmente, no pude hacer el XP completo o SCRUMM sin tener problemas porque mis proyectos y mi equipo se verían obstaculizados si se los obligara a participar en prácticas de otras metodologías que no agregan valor a nuestras circunstancias únicas.
En cualquier caso, es mejor no fijarse en ninguna metodología dada, porque las necesidades/condiciones de la empresa y el proyecto probablemente cambien con regularidad, y debe ser flexible en la forma de abordar la gestión de proyectos si lo desea ellos para tener exito Ninguna metodología única es una bala de plata, por lo que el truco es determinar qué métodos funcionan para usted y ajustar su metodología para satisfacer sus necesidades individuales. De esto se trata fundamentalmente de ser "Ágil".
Estoy votando para cerrar esta pregunta como fuera de tema porque se trata de metodologías de programación. –