UNIVERSIDAD POLITÉCNICA DE MADRID
FACULTAD DE INFORMÁTICA
Gestión y Desarrollo Ágil de Proyectos
Software con Usabilidad. Un caso práctico
Diana Díaz EstradaJessica Figueroa González
Luis García de paredes JaquesMarcelo Ramos Castillo
Master en Dirección y Gestión de Proyectos
Software
I. INTRODUCCION A menudo las personas no realizan una planificación
de su tiempo sino que van respondiendo a los hechos que surgen en el día a día o reaccionan en función de las demandas y las presiones del entorno que les rodea .
Existen numerosas técnicas que intentan ayudarnos a gestionar mejor nuestro tiempo
La Técnica Pomodoro (dividir el tiempo dedicado al trabajo en intervalos de 25 minutos, acompañados de un breve descanso; y cada 4 bloques de 25 minutos tomamos un descanso más prolongado).
El Objetivo principal de esta tesis es poner en practica todos los conocimientos de metodologías ágiles “Scrum” y técnicas de usabilidad aprendidas durante el master, a través del desarrollo de una aplicación que nos ayude a administrar nuestro tiempo y a mejorar la productividad (propia y la del equipo de trabajo), basada en la “Técnica Pomodoro”.
Para el desarrollo de esta tesis se utilizará la Metodología ágil “Scrum”.
III. ARQUITECTURA Y ENTORNO TECNOLÓGICO
Arquitectura: Cliente/Servidor de 3 Capas
Arquitectura Lógica
cmp Component Mo...
<<Nav egador>> Cliente Web
Base de datos (MySql)
AppPomodoro.UI
Gestion Usuarios Gestion de tareasGestion de Pomodoro
AppPomodoro.DAL
AppPomodoro.BL
Entorno Tecnológico Google Code Tortoise SVN Servidor web Apache y de base datos MySQL. Html, Css, JavaScript, Ajax y Php5.
cmp Paquetes
Paginas Html Paginas PHP
Jav ascriptHojas de Estilo CssAjax
V. SPRINT’S
Sprint 0 Sprint 1 Sprint 4Sprint 3Sprint 2
26/09/11 30/09/11 03/10/2011 14/10/11 17/10/11 28/10/11 31/10/11 11/11/11 14/11/11 25/11/11
Gestión de tiempo Gestión de tareas Gestión de tareas Gestión de tareas Gestión de usuarios
Sprint 0
•Se realiza el sprint planing
•Se define product backlog
•Se priorizan las historias, técnica Silence grouping
•Gestión de tiempo
•Gestión de tareas
•Gestión de usuarios
•Se define tecnología
•Configuración de plataforma
•Retrospectiva
Sprint 3•Sprint planing
•Se define sprint backlog
•Análisis y diseño
•Diagramas
•Implementación de historias
•Detalle e implementación
•Añadir interrupción
•Anular Pomodoro
•Resultado Grafico burn down
•Revisión de sprint
•Resultado
•Retrospectiva
•Resultado
Sprint Planing: Sprint Backlog
Historia de usuario Prioridad Estimación (Hrs)
Horas Reales
Usabilidad
Re-estimar una tarea 180 7 7 Multi level help
Ordenar tareas de la lista To do today
190 9 7 Multi level help
Añadir interrupción 200 5 5 Multi level help
Anular pomodoro 210 4 4 Status feedback
Buscar tareas por estado 220 3 4 Status feedback
Buscar tareas por fecha de finalización
130 2 3 Status feedbackStructured text entry
Listar resultado de la búsqueda de tareas
240 1 1
Destacar tareas urgentes en la lista “To do today”
250 5 3 Interaction feedback
Análisis y Diseño: Diagrama caso de uso y de clases
uc Sprint 3
Usuario
Gestionar tareas
Agregar tareas
Completar tareas
Mostrar Listas
Activ ity Inv entory
To Do Today
Gestionar Pomodoro
Iniciar Pomodoro Detener Pomodoro
Configurar Pomodoro
Modificar tarea
Añadir pomodoro a tarea
Eliminar tarea
Finalizar Pomodoro
Buscar tareas
Añadir interrupcion Anular Pomodoro
«extend»
«include»
«extend»
«extend»
«include»
«extend»
«extend»
class Sprint 3
Pomodoro
- estado- fechaEjecucion- idPomodoro- idTareaPomodoro
Tarea
- estimacionInicial- fechaCreacion- fechaEstimadaFin- fechaFin- idTarea- nombreTarea- numeroInterrupciones- pomodorosRealizados- reestimacion1- reestimacion2- tareaUrgente
Conexion
- conexion- respuesta- total_consultas
Implementación de historias: Detalle historias
Historia de Usuario 21
Título: Añadir interrupción Descripción: Como usuario deseo que registrar las interrupciones que se pueden
dar durante el pomodoroPrioridad: 200 Estimación: 5 Horas reales: 5Criterio de aceptación
1. Validar que si se inicia el pomodoro sin seleccionar una tarea de la lista “To do today” no se habilita el botón interrupciones
2. Validar que luego de seleccionar una tarea de la lista “To do today” e iniciar el pomodoro, se habilita el botón para registrar interrupciones
3. Validar que al presionar el botón de interrupciones se visualiza la cantidad de interrupciones acumuladas
4. Validar que cuando hay interrupciones registradas y se cancela el pomodoro el contador vuelve a cero
5. Validar que se muestra un tooltip al posicionarse sobre el botón interrupciones Patrones de usabilidadHelp, tooltip sobre el botónTareasModificar interfaz: 1Crear tabla: 1Mostrar interrupciones: 1Usabilidad: 1
Adding in the GUI tooltip on the buttonsRefactorizar: 1
Implementación de historias: Detalle historias
Historia de Usuario 22
Título: Anular pomodoro Descripción: Como usuario deseo que al registrar cinco interrupciones
el pomodoro sea anulado Prioridad: 210 Estimación: 4 Horas reales: 4Criterio de aceptación
1. Validar que al registrar la quinta interrupción se debe detener el pomodoro y mostrar un mensaje al usuario indicando que el pomodoro será anulado
2. En la lista “To do today” se debe mostrar una columna con los pomodoros anulados en la tarea correspondiente
Patrones de usabilidadStatus feedback: mensaje indicando al usuario que se anulará el
pomodoroTareasModificar interfaz: 1Guardar y mostrar pomodoros anulados: 1Modificar la funcionalidad alta tarea: 1Usabilidad: 1
Indicating that error/confirmation message in the corresponding action (message indicating that the user is nulled pomodoro)
Implementación de historias: Detalle historias
Implementación de historias: Detalle historias
Implementación de historias: Detalle historias
Implementación de historias: Detalle historias
Implementación de historias: Detalle historias
36 horas estimadas34 horas reales
Revisión Sprint: Resultado
Historia de usuario Aprobada Rechazada Detalles
Re-estimar una tarea x Se incluye patrón de usabilidad Warning.
Ordenar tareas de la lista To do today
x
Añadir interrupción x
Anular pomodoro x
Buscar tareas por estado x Se incluye patrón de usabilidad Progress feedback
Buscar tareas por fecha de finalización
x Se incluye patrón de usabilidad Progress feedback
Listar resultado de la búsqueda de tareas
Se elimina, se incluye como criterio de aceptación de historias de búsqueda.
Destacar tareas urgentes en la lista “To do today”
x
Retrospectiva: Resultado
Bien A mejorar Mal
1. Productividad2. Puntualidad3. Metodología4. Entendimiento5. Cumplimiento de objetivos6. Organización 7. Repositorio común8. Reutilización de código9. Comentarios de código10. Daily meeting
1. Documentación Diseño de arquitectura