Desarrollo basado en funcionalidades (FDD)

Desarrollo basado en funcionalidades (FDD)

Enfoque ágil

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 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

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

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

Origen

Por Jeff de Luca y Peter Coad

Se diseño con el fin de trabajar
con otras metodologías

Características

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

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

Desventajas

Necesita miembros con experiencia

Se deben repartir muchos roles

Evita cualquier tipo de documentación