Desarrollo basado en funcionalidades (FDD)
Enfoque ágil
Se enfoca en interaciones cortas que
entregan funcionalidades tangibles
Énfasis en diseño y construcción
Se diseño para trabajar con otras
actividades de desarrollo
No requiere la utilización de ningún
modelo de proceso especifico
Roles y responsabilidades
Roles principales
Director de proyecto
Arquitecto jefe
Director de desarrollo
Programador jefe
Propietarios de clase
Jefe de dominio
Roles de soporte
Administrador de entregas
Abogado o gurú del lenguaje
Ingeniero de construcción
Administrador de sistemas
Roles de verificadores
Se encargan del despliegue
y documentación
Momentos de uso
Cuando se necesita algo ágil pero
el equipo es grande
Cuando se utiliza personal externo
Orientada a equipos más grandes de los que
normalmente se usan en otras metodologías
Contempla la figura del jefe de proyecto
Ventajas
Esta metodología esta pensada
para equipos más grandes
Detalla más el proceso
Detalla la iteración cero
Contempla la fase de arquitectura
y el diseño
Define roles como el jefe de
proyecto y el arquitecto
Manejo jerárquico de los requisitos
Origen
Por Jeff de Luca y Peter Coad
Se diseño con el fin de trabajar
con otras metodologías
Características
Proceso ágil
No hace tanto énfasis en
obtener requerimientos
Se enfoca en las fases de diseño
y construcción
Se preocupa por la calidad
Evita el exceso de presupuesto y fallas
en el programa
Se obtienen resultados periódicos y tangibles
Se basa en un proceso iterativo
con iteraciones cortas
Propone etapas de cierre en
periodos de dos semanas
Procesos
Desarrollar un Modelo Global
Se construye primero un modelo teniendo
en cuenta ciertos puntos
Visión
Contexto
Requisitos
Se divide en áreas que analizan el
diagrama de clases de cada una
Construir una lista de los rasgos
Lista informal que resume las
funcionalidades
Se evalúa por el cliente
Se divide en funcionalidades pequeñas
Planear por rasgo
Se termina la parte lineal del modelo
Ordena las funcionalidades
Prioridad
Dependencia
Diseñar por rasgo
Se seleccionan un conjunto
de funcionalidades
Se construye la funcionalidad por medio
de un proceso iterativo
Se incluyen las mismas tareas que
en la construcción
Construir por rasgo
Construcción total del proyecto
Se incluyen tareas
Inspección del diseño
Codificación
Testing unitario
Integración e inspección del código
Desventajas
Necesita miembros con experiencia
Se deben repartir muchos roles
Evita cualquier tipo de documentación