Planificación

Partiendo de las historias de usuario anteriores se realiza una planificación en cuatro iteraciones basándose en el tiempo y procurando agrupar la funcionalidad relacionada en la misma iteración.

En la Tabla 7.5, “Fechas de entrega” pueden verse las fechas reales en las que cada versión ha sido entregada a través del sitio web [Sourceforge]. El motivo por el que se crean nuevas versiones de alguno de los módulos puede ser cambios desde la última versión o simplemente actualización de las dependencias en otros módulos cuando una nueva versión de éstos últimos es entregada, para evitar posibles problemas. Con estos datos y teniendo en cuenta que el desarrollo como tal comenzó a finales del mes de abril se obtienen los datos reales de duración de cada iteración tal y como se muestran en cada apartado.

Tabla 7.5. Fechas de entrega

 2ª semana julio4ª semana julio4ª semana agosto3ª semana septiembre
common0.1 0.20.3
common-maven 0.1-0.2[a]0.30.4
common-model0.10.20.30.4
common-webapp-controller0.10.20.30.4
common-webapp-taglib 0.1  
common-webapp-view 0.10.20.3
party-model0.10.20.30.4
party-webapp0.10.20.30.4
user-model 0.10.20.3
user-webapp 0.10.20.3
inventory-model  0.10.2
inventory-webapp  0.10.2
order-model   0.1
order-webapp   0.1

[a] 0.2 es una versión de mantenimiento que soluciona problemas de integración de la versión anterior

Primera iteración: Prototipo

En esta primera iteración se creará un prototipo con el que se comprobará la adecuación de la tecnología escogida y se intentará crear la mayor parte de la base de la arquitectura del sistema, que será encapsulada dentro de los módulos common. No se implementará una funcionalidad muy extensa tan sólo un mínimo para tener cuanto antes una demo que poder mostrar en el sitio web y así atraer posibles usuarios.

Como se puede comprobar, la duración real de esta iteración ha superado en dos semanas el tiempo estimado. Este retraso ha sido debido principalmente a la curva de aprendizaje de la tecnología usada.

Tabla 7.6. Historias primera iteración

Funcionalidad común2
Auditoría2
Creación de contactos1
Visualización, modificación, eliminación y búsqueda de contactos2
ESTIMACIÓN INICIAL7
REAL9

Segunda iteración: Autenticación y autorización, finalización de la gestión de contactos

En una segunda iteración se añadirá la funcionalidad necesaria para gestionar la autenticación y autorización de los usuarios, y se completará la gestión de contactos comenzada en la iteración anterior.

La duración real de la iteración ha sido muy breve gracias a que el núcleo del sistema ya había sido realizado en la iteración anterior con todo el esfuerzo de integración de tecnologías. Una vez hecho esto, la gestión de autenticación y autorización ha sido sencilla de integrar en el sistema, así como también ha sido breve la implementación de la gestión de contactos.

Tabla 7.7. Historias segunda iteración

Añadir información de contacto a un contacto1
Visualización, modificación y eliminación de información de contacto1
Autenticación y autorización2
ESTIMACIÓN INICIAL4
REAL2

Tercera iteración: Gestión de inventario y accesibilidad desde dispositivos móviles

En esta tercera iteración se añadirá la funcionalidad relativa a la gestión de inventario. También se hará que el sistema sea accesible desde dispositivos móviles.

A pesar de problemas surgidos que han requerido la realización de cambios en el núcleo del sistema, la duración de la iteración no ha aumentado, lo que indica que se ha sobreestimado el esfuerzo de las historias de usuario.

Tabla 7.8. Historias tercera iteración

Creación de modelos y productos1
Visualización, modificación, eliminación y búsqueda de modelos1
Creación y modificación de precios1
Accesibilidad desde dispositivos móviles1
ESTIMACIÓN INICIAL4
REAL4

Cuarta iteración: Gestión de compras y ventas

La cuarta iteración conllevará la finalización del sistema tras la implementación de las historias correspondientes a la gestión de compras y ventas.

El tiempo real de desarrollo han sido dos semanas ya que la primera semana de septiembre no se ha dedicado al desarrollo del proyecto, reduciéndose lo estimado tal y como se podía extraer de anteriores planificaciones donde se ha constatado que la implementación de nueva funcionalidad es un proceso bastante ágil.

Tabla 7.9. Historias cuarta iteración

Creación de pedidos y añadir productos a un pedido1
Visualización, modificación, eliminación y listado de pedidos1
Creación de albaranes y facturas1
ESTIMACIÓN INICIAL3
REAL2