Sunteți pe pagina 1din 15

FDD(FEATURE-DRIVEN DEVELOPMENT)

DIANA GONZALES
HUMBERTO ANDRES CORREA
INTEGRANTES: LUIS MURCIA
CRISTIAN BOYACÁ
FDD(FEATURE-DRIVEN DEVELOPMENT)
¿QUÉ ES?

2
01 FDD(FEATURE-DRIVEN DEVELOPMENT)

• Es un “framework” o una metodología ágil que se enfoca en iteraciones


cortas, que permiten entregas tangibles del producto en un periodo corto de
tiempo, de como máximo dos semanas. Este método ágil está basado en un
ciclo de vida iterativo e incremental (el mismo que usa Scrum) y necesita ser
aplicada a casos concretos.
• Fue desarrollada por Jeff De Luca y Peter Coad en 1997. Esta se creó para un
gran banco de Singapur.

3
02 FDD(FEATURE-DRIVEN DEVELOPMENT)

• Una iteración en FDD (desarrollo impulsado por características) consta de 5


pasos diferentes:

Crea el modelo Construir una lista Planificar Diseñar Construir


del sistema con de características
un diagrama de
(Plan by feature) (Design by feature) (Build by feature).
(Build feature list)
clase UML

4
03 FDD(FEATURE-DRIVEN DEVELOPMENT)

Los 3 primeros pueden considerarse la “iteración cero”,


aunque en FDD no le llaman así, y los consideran “procesos
iníciales”.
Los dos primeros procesos son secuenciales y definen el
modelo global. Los tres finales se iteran para cada
“feature” (que vienen a ser los requisitos).

5
03 FDD(FEATURE-DRIVEN DEVELOPMENT)
Los 3 primeros pueden considerarse la “iteración cero”, aunque en FDD no le llaman así,
y los consideran “procesos iníciales”.
Los dos primeros procesos son secuenciales y definen el modelo global. Los tres finales
se iteran para cada “feature” (que vienen a ser los requisitos).

1. Desarrollar un modelo globa:


Se construye un modelo basado en la visión, el
contexto y los requisitos que debe tener el
sistema a construir. Este se divide en áreas que se
analizan detalladamente. Se construye un
diagrama de clases por cada área. 2. Construir una lista:
Lista que resuma las funcionalidades que debe
tener el sistema, cuya lista es evaluada por el
cliente. Cada funcionalidad de la lista se divide
en funcionalidades más pequeñas para un
3. Planear: mejor entendimiento del sistema.
Se procede a ordenar los conjuntos de
funcionalidades conforme a su prioridad y
dependencia, y se asigna a los programadores
jefes.

6
03 FDD(FEATURE-DRIVEN DEVELOPMENT)
4. Diseñar:
Se selecciona un conjunto de funcionalidades de la lista. Se
procede a diseñar y construir la funcionalidad mediante un
proceso iterativo, decidiendo que funcionalidad se van a realizar
en cada iteración. Este proceso iterativo incluye inspección de
diseño, codificación, pruebas unitarias, integración e inspección
de código.

5. Construir:
Se procede a la construcción total del proyecto.
A diferencia de la programación de Scrum y Extreme, FDD
(desarrollo impulsado por funciones) recomienda
encarecidamente asignar funciones a un desarrollador o
desarrolladores específicos.

7
04 VENTAJAS
05.
Trabajo conjunto entre
04.
Entrega continua y en 03.
el cliente y el equipo de plazos cortos de
Rápida respuesta a
desarrollo. software funcional.
cambios de requisitos a
lo largo del desarrollo.

02.
Cada componente del
producto final ha sido
probado y satisface los
requerimientos.
05
08 07 06 01.
04 El equipo de desarrollo no malgasta
09 el tiempo y dinero del cliente
desarrollando soluciones
10 03 innecesariamente generales y
complejas que en realidad no son
un requisito del cliente.
02 8

01
04 VENTAJAS
08.
Atención continua a la
07.
Importancia de la
simplicidad, al eliminar
el trabajo innecesario.
06.
Minimiza los costos frente a
excelencia técnica y al
09. buen diseño. cambios.
Mejora continua de los
procesos y el equipo de
desarrollo.
10.
Evita malentendidos de
requerimientos entre el
cliente y el equipo.

05
08 07 06
04
09
10 03

02 9

01
05
01

02

01. 03
Falta de documentación del diseño. El
código no puede tomarse como una
documentación. En sistemas de tamaño 04
grande se necesitar leer los cientos o miles 04.
de páginas del listado de código fuente. Falta de reusabilidad. La falta de
documentación hace difícil que
02. pueda reutilizarse el código ágil.
Problemas derivados de la comunicación 03.
oral. Este tipo de comunicación resulta Fuerte dependencia de las
difícil de preservar cuando pasa el personas. Como se evita en lo
tiempo y está sujeta a muchas posible la documentación y los
ambigüedades. diseños convencionales, los
proyectos ágiles dependen
críticamente de las personas.

DESVENTAJAS
10
CATEGORÍAS DE
ROL EN FDD

11
CATEGORÍAS DE ROL EN FDD

HAY TRES CATEGORÍAS DE ROL EN FDD:


• ROLES CLAVES

• ROLES DE SOPORTE

• ROLES ADICIONALES.

12
07
ADMINISTRADOR DEL PROYECTO
LOS SEIS ROLES CLAVES DE UN PROYECTO:

ARQUITECTO JEFE (PUEDE DIVIDIRSE EN


ARQUITECTO DE DOMINIO Y ARQUITECTO
6

5
Su función será hacer buenos TÉCNICO).
informes de progreso, trabajar por el
Es el responsable del modelado completo
bienestar del equipo, tratar con los
presupuestos, la contratación y la
de la arquitectura del producto en 4
desarrollo.
logística.

MANAGER DE DESARROLLO. PROGRAMADOR JEFE.


Es el responsable de la actividad de Que participa en el análisis del
3
los desarrollos. requerimiento y selecciona rasgos del
conjunto a desarrollar en la siguiente
iteración 2
PROPIETARIOS DE CLASES. EXPERTO DE DOMINIO.
Estos son desarrolladores que trabajan
en grupos pequeños justo debajo del
Los usuarios clave, patrocinadores y
analistas de negocios representan este rol.
1
Programador Jefe con roles para Están allí para identificar las necesidades y
desarrollar, probar y documentar las permitir que los desarrolladores trabajen.
funcionalidades realizadas. Su presencia es imprescindible para tener
un producto de calidad. 13
08
ADMINISTRADOR
LOS SEIS ROLES CLAVES DE UN PROYECTO:

INGENIERO DE
CONSTRUCCIÓN
ADMINISTRADOR
DEL SISTEMA.
DE ENTREGA. Que controla el
Que se encarga del
Que controla el progreso control de versiones ambiente de
del proceso revisando de los builds y trabajo
los reportes del publica la o productiza el
programador jefe y documentación. sistema cuando se
manteniendo reuniones lo entrega.
breves con él; reporta al
manager del proyecto.

01 02 03 04 05 ABOGADO/ HERRAMIENTISTA
GURU DE (TOOLSMITH).
LENGUAJE. Que construye
Que conoce a la herramientas ad
perfección el hoc o mantiene
lenguaje y la bases de datos y
tecnología. sitios Web.
14
09 ROLES ADICIONALES

Verificadores
Un miembro de un equipo puede tener otros
roles a cargo, y un solo rol puede ser
compartido por varias personas

Encargados del
despliegue

Escritores técnicos

S-ar putea să vă placă și