Documente Academic
Documente Profesional
Documente Cultură
16
Facultad de
Ingeniería en
Ciencias de la
Computación y
Telecomunicaciones
Sistema de Información para Gestionar la
Venta y Inventario en un E-commerce
aplicando CRM
INF 412 – SA
DOCENTE: Ing. Angélica Garzón Cuellar
1
INDICE
1. PERFIL ........................................................................................................................................................ 4
1.1. INTRODUCCIÓN ............................................................................................................................. 4
1.2. OBJETIVOS ................................................................................................................................... 5
1.2.1. Objetivo General ................................................................................................................. 5
1.2.2. Objetivos Específicos .......................................................................................................... 5
1.3 DESCRIPCIÓN DEL PROBLEMA ........................................................................................................ 6
1.4. ALCANCE ..................................................................................................................................... 8
2. MARCO TEORICO METODOLOGÍA ÁGIL..................................................................................... 12
2.1. PROPÓSITO DE SCRUM ............................................................................................................... 12
2.2. VISIÓN GENERAL DE SCRUM........................................................................................................ 16
2.3. EL EQUIPO DE SCRUM (SCRUM TEAM) ......................................................................................... 17
2.4. EL DUEÑO DE PRODUCTO (PRODUCT OWNER) ............................................................................. 17
2.5. EL EQUIPO DE DESARROLLO (DEVELOPMENT TEAM) .................................................................... 18
2.6. EL SCRUM MASTER .................................................................................................................... 20
2.7. EVENTOS DE SCRUM ................................................................................................................... 22
2.8. EL SPRINT .................................................................................................................................. 22
2.9. REUNIÓN DE PLANIFICACIÓN DE SPRINT (SPRINT PLANNING MEETING) .......................................... 23
2.10. OBJETIVO DEL SPRINT (SPRINT GOAL) ....................................................................................... 24
2.11. SCRUM DIARIO (DAILY SCRUM) ................................................................................................. 25
2.12. REVISIÓN DE SPRINT (SPRINT REVIEW)...................................................................................... 26
2.13. RETROSPECTIVA DE SPRINT (SPRINT RETROSPECTIVE) .............................................................. 27
2.14. ARTEFACTOS DE SCRUM ........................................................................................................... 28
2.15. LISTA DE PRODUCTOS (PRODUCT BACKLOG) ............................................................................. 32
2.16. LISTA DE PENDIENTES DEL SPRINT (SPRINT BACKLOG) ............................................................... 33
2.17. INCREMENTO ............................................................................................................................ 33
2.18. TRANSPARENCIA DE LOS ARTEFACTOS....................................................................................... 34
2.19. DEFINICIÓN DE “TERMINADO” ..................................................................................................... 35
2.20. VENTAJAS Y DESVENTAJAS ....................................................................................................... 36
2.20.1. Ventajas........................................................................................................................... 36
2.20.2. Desventajas ..................................................................................................................... 36
2.21. VALORES DE TRABAJO .............................................................................................................. 37
2.22. HERRAMIENTAS DE TRABAJO ..................................................................................................... 38
3. PERSONAS Y ROLES DEL PROYECTO .......................................................................................... 40
4. MODELOS USADOS PARA EL DESARROLLO DE SCRUM...................................................... 41
4.1. REUNIÓN DE PLANEAMIENTO DEL SPRINT (SPRINT PLANNING) ....................................................... 41
4.2. PILA DE SPRINT (SPRINT BACKLOG 0) .......................................................................................... 43
4.3. ELEMENTOS: PILA DEL SPRINT..................................................................................................... 44
4.4. SPRINT REVIEW .......................................................................................................................... 45
4.5. SPRINT RETROSPECTIVE ............................................................................................................. 45
4.6. PROCESO SCRUM (ROLES, COMPONENTES, REUNIONES Y PILAS DE PRODUCTO POR SPRINT) ......... 46
4.7. EJECUCIÓN DE LA ITERACIÓN....................................................................................................... 47
4.8. DIAGRAMA DE CLASE .................................................................................................................. 48
4.9. LISTA DE CASOS DE USO Y DIAGRAMA DE CASOS DE USO ............................................................ 49
4.9.1. Lista de Casos de Uso ...................................................................................................... 49
4.9.2. Diagrama General de Casos de Uso ................................................................................ 50
2
4.10. PAQUETES DE CASOS DE USO ................................................................................................... 51
4.10.1. Paquete Usuario .............................................................................................................. 51
4.10.2. Paquete Inventario .......................................................................................................... 52
4.10.3. Paquete Venta ................................................................................................................. 53
4.10.4. Paquete Promociones ..................................................................................................... 54
4.11. ARTEFACTO .............................................................................................................................. 55
4.11.1. Product Backlog .............................................................................................................. 55
4.11.2. Scrum Taskboard ............................................................................................................ 56
3
1. PERFIL
1.1. Introducción
A veces al momento de desarrollar un sistema de información nos encontramos
con proyectos que por sus requerimientos no pueden ser definidos completamente
en la fase de Análisis del proyecto ya que requieren un proceso constante de
revisión y modificación.
Para este tipo de proyectos debemos utilizar una metodología de desarrollo ágil
que nos permita una mayor flexibilidad capaz de adaptarse a los continuos posibles
cambios requeridos por el cliente, sin que estas peticiones de cambio afecten el
análisis que se hizo del proyecto.
En este contexto, SCRUM se puede considerar como el paradigma de
metodología ágil.
Scrum es un proceso en el que se aplican de manera regular un conjunto de
buenas prácticas para trabajar colaborativamente, en equipo, y obtener el mejor
resultado posible de un proyecto. Estas prácticas se apoyan unas a otras y su
selección tiene origen en un estudio de la manera de trabajar de equipos altamente
productivos.
En Scrum se realizan entregas parciales y regulares del producto final, priorizadas
por el beneficio que aportan al receptor del proyecto. Por ello, Scrum está
especialmente indicado para proyectos en entornos complejos, donde se necesita
obtener resultados pronto, donde los requisitos son cambiantes o poco definidos,
donde la innovación, la competitividad, la flexibilidad y la productividad son
fundamentales.
Este documento describe la implementación de la metodología de trabajo scrum en
las empresas para la gestión del desarrollo el proyecto “Desarrollo del módulo de
contabilidad del proyecto homónimo”.
Incluye junto con la descripción de este ciclo de vida iterativo e incremental para el
proyecto, los artefactos o documentos con los que se gestionan las tareas de
adquisición y suministro: requisitos, monitorización y seguimiento del avance, así
como las responsabilidades y compromisos de los participantes en el proyecto.
4
1.2. Objetivos
1.2.1. Objetivo General
Implementar la metodología de desarrollo ágil (SCRUM) en el proyecto de comercio
electrónico de un producto o servicio, para la categoría Empresa-consumidor (B2C)
de comercio electrónico utilizando CRM.
mercado en general).
sprint.
5
1.3 Descripción del Problema
Clientes
El seguimiento hacia los clientes no se lo realiza por no realizar los reportes
necesarios, saber sus más mínimos intereses es importante para evitar gastos
innecesarios.
Deficiencia en la atención al cliente. Por normativa de ley las empresas empiezan
su horario laboral a las 8:00 am, hora en que están disponibles para empezar a
recibir sus primeros clientes lo cual todo está preparado para empezar la jornada
laboral.
En la mayoría de las empresas se puede observar que el cliente llega y observa la
gama de productos, elige los productos que va a comprar, espera a la realización
del pago que se hace en facturas convencionales, y luego se retira. La empresa
cuando se retira el cliente no llega a saber más de ese cliente, así que puede a
llegar a perder lo que pudo haberse convertido en un cliente potencial.
Los reportes de fidelizar de los clientes no se lo realizan por la inconsistencia de
datos.
Ventas
Los registro de los productos o servicios que ofrece la empresa hay inconsistencia.
Las estadística de productos más requeridos por clientes es muy demoroso, por lo
tanto nadie lo realiza.
6
Mora en el proceso de pago
En este proceso podemos resaltar unos de los problemas más habituales que
sufren la mayoría de las empresas que están en pleno incursiona miento de
crecimiento. Tales como el momento cuando los clientes necesitan realizar sus
transacciones de pago, y se presentan las colas largas de clientes en espera de
poder pagar sus productos, cobranzas de manera manual, cajas insuficientes para
abastecer los pagos, productos sin un código de especificación de precio son
perjudiciales para los usuarios en su tiempo.
Marketing
Una agenda estructurada para las campañas de marketing o lanzamiento de un
producto. Organizar estos eventos llega a ser muy tedioso si no se tiene una buena
gestión de información acerca de las necesidades de los clientes. Gestionar la
publicidad es tan importante como la elaboración de un producto por eso
imprescindible capacitar a nuestro personal de ventas y proporcionarles las
herramientas adecuadas para un excelente desempeño.
Soporte y Asistencia
Los clientes no tienen suficiente tiempo para acudir a la empresa y recibir
asistencia, esto hace que el cliente no vuelva más a adquirir algún producto o
servicio por parte de la empresa.
Estas son algunas de las razones por la cual hemos decidido optar por trabajar con
la metodología ágil “Scrum”. A través de esta metodología se pretende darle
agilidad a los procesos que se realizaran en el desarrollo de nuestro proyecto,
además de poder brindar un control del progreso a nuestros clientes y poder
trabajar de manera ordenada como equipo.
Con las todas herramientas que nos ofrece esta metodología y haciendo un buen
uso de ellas, pretendemos cumplir con el objetivo de poder realizar un buen
sistema de comercio electrónico cubriendo todas las necesidades ya mencionadas
y por supuesto las requeridas por nuestros clientes en un corto plazo.
7
1.4. Alcance
El proyecto tiene como finalidad facilitar las tareas críticas, priorizando las más
necesarias que presenta actualmente, además de simplificar y automatizar otras
tareas. Por lo tanto, el sistema estará compuesto o formado por los siguientes
procesos:
Gestionar Usuario
Permitirá al administrador: registrar, modificar y dar de baja a los distintos tipos de
usuarios que interactuarán con el sistema. Las contraseñas serán encriptados para
mejor seguridad en el sistema. Se registraran los siguientes datos:
(Nombre de usuario, Contraseña, Habilitado)
Iniciar sesión
Permitirá al usuario ingresar al sistema a través de su cuenta, escribiendo su
nombre de usuario y su contraseña para ingresar en este.
Asignar Privilegio
Permitirá al administrador: asignar como quitar privilegios a los diferentes usuarios
que se encuentran registrados en el sistema. Los datos son los siguientes:
(ID del Privilegio, Tipo de Privilegio, Descripción)
Gestionar Perfil
Permitirá al usuario: registrar, modificar información sobre su cuenta personal en el
sistema. El cual cuando se cree un nuevo usuario y este ingrese por primera vez al
sistema se le informara mediante un mensaje que debe introducir estos datos de
forma alternativa para una facturación de forma más detallada. Los datos a
registrar son:
(Nombre, Apellido, Correo Electrónico, Carnet de Identidad, Fecha de Nacimiento,
Puntos, Foto)
8
Mensajes
En esta parte los clientes pueden enviar mensajes de consultas sobre algún
producto o cualquier consulta en general al administrador, las cuales serán
enviadas a un buzón de mensajes donde el administrador podrá leer los mensajes
y responderlos.
(ID del Mensaje, Mensaje, Fecha, Hora)
Ver bitácora
Se administrador podrá visualizar todas las operaciones realizadas por los distintos
usuarios en el sistema.
(ID del usuario, Fecha, Hora, Tipo de Acción)
Gestionar Categorías
El administrador podrá realizar la creación de nuevas categorías, modificaciones y
eliminar categorías creadas.
(ID de Categoría, Tipo de Categoría, Descripción)
Gestionar Subcategorías
El administrador podrá realizar la creación de nuevas subcategorías para poder
ordenar en mejor detalle los productos, permitiendo modificaciones y eliminación de
subcategorías creadas.
(ID de subcategoría, Tipo de subcategoría, Descripción)
Gestionar Producto
Cumplirá la función de registrar, modificar los datos de los productos y también se
los podrá dar de baja, los datos a registrar serán:
(ID del producto, Nombre del producto, Descripción, Precio, Foto, Habilitado)
9
Gestionar Almacén
Se administrara la cantidad de stock de productos en cada almacén, realizando las
acciones de registrar, modificar y reducir la cantidad de stock de un producto
determinado en el sistema. Se registraran los siguientes datos:
(Nombre del Almacén, Stock)
Gestionar Bolsa
Aquí encontramos todos los productos que se escogieron para comprar en el cual
se podrá eliminar productos indeseados y confirmar la compra de los productos
para pasar a las metodologías de pago. En esta parte se anotara lo siguiente:
(Fecha, Precio Total, Puntos Ganados, Puntos Gastados)
10
Realizar el proceso de Facturación e compra
Una vez se ha escogido la metodología de pago y confirmándola, se guardara e
imprimirá una factura detallada y se aumentaran los puntos ganados o se reducirán
los puntos gastados en la compra en la cuenta del cliente, se guardaran los
siguientes datos:
(ID del cliente, Nro. Bolsa)
Marketing
11
Reportes
❖ Generar reporte de venta: Se podrá obtener reporte de las ventas realizadas.
❖ Generar reporte de clientes: Se podrá obtener un reporte de los clientes
detallado de todos sus movimientos.
❖ Generar reporte de promoción: se emitirá un reporte de las diferentes
promociones ofrecidas por la empresa y como es que esta promoción fue
acogida por los clientes.
Los propósitos de scrum son fundamentales para para que se pueda desarrollar el
proyecto con eficiencia de parte del equipo scrum.
Skills de un miembro de equipo scrum.
12
Veamos cuáles son estos grupos de skills en más detalle:
El miembro del equipo scrum tiene que estar orientado a producir con CALIDAD,
tiene que saber compaginar los siguientes aspectos:
13
Inteligencia emocional – Capacidad de trabajar en equipo
El miembro del equipo scrum tiene que favorecer la COMUNICACIÓN y para ello
tener las siguientes aptitudes:
❖ Transparencia en las tareas que realiza y su estado, para que el resto del
equipo tenga la información necesaria (por ejemplo en las reuniones diarias
de sincronización (Scrum daily meetings) o en las retrospectivas), que todos
puedan colaborar y ayudarse a conseguir los objetivos de la iteración,
evitando también que se realicen esfuerzos innecesarios.
❖ Franqueza con el cliente sobre la situación del proyecto (especialmente en
las demostraciones (Sprint review)), para que pueda tomar decisiones
basadas en lo que realmente está hecho y en la velocidad del equipo.
❖ No hacerse dueño de conocimiento, si no compartirlo y ser capaz para
enseñar.
❖ Escucha activa, entender lo que le están explicando
❖ Observar, escuchar, preguntar mucho y re parafrasear para entender las
necesidades, motivaciones y sentimientos de los otros, ponerse en su lugar
antes de dar la propia opinión (si realmente es necesario ofrecerla). Es decir,
evitar juzgar inmediatamente al otro y tener empatía.
❖ El miembro del equipo ágil tiene que saber respetar las opiniones de los
otros y para ello tener las siguientes aptitudes:
❖ Confianza en los demás miembros del equipo, creer que serán capaces de
realizar sus tareas, sin necesidad de estar controlándolos, recordar siempre
que todos están actuando con la mejor voluntad posible, y tener paciencia.
Esta confianza se ve facilitada por la compartición de conocimiento que se
produce en las reuniones de alta productividad que el equipo al completo
realiza en las actividades de Scrum, las cuales necesitan de la transparencia
indicada anteriormente.
14
❖ Consensuar, ser capaz de negociar un ganar/ganar, no imponer su criterio.
Ser honesto y sincero, no engañar o aprovecharse de los otros (sean
clientes, gestores o miembros del equipo).
❖ Educación, buenas maneras, dando su opinión sin atacar ni acusar
(simplemente hablando de los hechos que le han sucedido), tranquilo, no
irascible, afable y con sentido del humor, para no vivir en tensión constante
y, por contra, compartir momentos de relajación con el resto del equipo.
15
❖ Como se ha mencionado anteriormente, tiene que ser capaz de disfrutar en
el camino, realizarse en su trabajo (son muchas horas a la semana como
para que no sea así), aprendiendo, creando, superando retos, progresando y
contagiando entusiasmo al resto del equipo.
❖ Evitar estar en sobreesfuerzo continuo, tener como objetivo no trabajar más
de 40 horas a la semana (en caso contrario, cuando sea necesario un
sobreesfuerzo, no va a haber de donde sacar, sin contar con que la calidad
del trabajo se degrada cuando se alarga demasiadas horas) y dedicar el
tiempo restante a actividades personales, familiares, ocio, formarse, otros
proyectos. Es necesario disponer de tiempo para crecer a nivel personal y
profesional, para alcanzar un equilibrio y tener estos pilares vitales
afianzados
Se inicia con la demanda del cliente, o una necesidad que debe ser atendida. Tras
la identificación de las necesidades del cliente, el desarrollo se mueve a través de
las distintas fases (del proceso de lanzamiento del producto), hasta llegar al
proceso de prueba final, después del cual el producto pasa a producción y
finalmente es entregado al cliente.
16
2.3. El Equipo de Scrum (Scrum Team)
17
❖ Asegurar que el Equipo de Desarrollo entiende los elementos de la Lista del
Producto al nivel necesario.
Para que el Dueño de Producto pueda hacer bien su trabajo, toda la organización
debe respetar sus decisiones. Las decisiones del Dueño de Producto se reflejan en
el contenido y en la priorización de la Lista del Producto. No está permitido que
nadie pida al Equipo de Desarrollo que trabaje con base en un conjunto diferente
de requerimientos, y el Equipo de Desarrollo no debe actuar con base en lo que
diga cualquier otra persona.
18
Los Equipos de Desarrollo tienen las siguientes características:
los dominios particulares que requieran ser tenidos en cuenta, como pruebas
19
Los Equipos de Desarrollo más pequeños podrían encontrar limitaciones en cuanto
a las habilidades necesarias durante un Sprint, haciendo que el Equipo de
Desarrollo no pudiese entregar un Incremento que potencialmente se pueda poner
en producción. Tener más de nueve miembros en el equipo requiere demasiada
coordinación.
El Scrum Master es un líder que está al servicio del Equipo Scrum. El Scrum
Master ayuda a las personas externas al Equipo Scrum a entender qué
interacciones con el Equipo Scrum pueden ser de ayuda y cuáles no.
20
El Servicio del Scrum Master al Dueño de Producto
21
El Servicio del Scrum Master a la Organización
Otro factor determinante para la buena marcha de la metodología son los eventos
que realizan los distintos participantes, los cuales tienen lugar tanto en la etapa
previa del proceso como durante y después de su ejecución.
2.8. El Sprint
Se le considera la esencia del método Scrum. Son períodos cortos de 15-30 días
en los que se realiza una acción concreta. Cada sprint debe ponerse en marcha
sólo cuando el anterior haya terminado. Lo ideal es no modificar sus plazos y
tiempos; por el contrario, la mejor forma de obtener los resultados esperados es
cumpliendo con lo acordado.
22
2.9. Reunión de Planificación de Sprint (Sprint Planning Meeting)
La reunión de planificación del sprint es uno de los eventos de scrum técnico.
Descripción:
En esta reunión se toman como base las prioridades y necesidades de negocio del
cliente, y se determinan cuáles y cómo van a ser las funcionalidades que se
incorporarán al producto en el siguiente sprint.
Se trata de una reunión conducida por el responsable del funcionamiento del marco
scrum (Scrum Master en scrum técnico, o un miembro del equipo, en scrum
pragmático) a la que deben asistir el propietario del producto y el equipo completo,
y a la que también pueden asistir otros implicados en el proyecto.
La reunión puede durar una jornada de trabajo completa, cuando se trata de
planificar un sprint largo (de un mes de duración) o un tiempo proporcional para
planificar un sprint más breve. Esta reunión debe dar respuesta a dos cuestiones:
Qué se entregará al terminar el sprint.
Cuál es el trabajo necesario para realizar el incremento previsto, y cómo lo llevará a
cabo el equipo.
• La reunión se articula en dos partes de igual duración, para dar respuesta a
una de estas cuestiones, en cada una.
Precondiciones
La organización tiene determinados los recursos disponibles para llevar a cabo el
sprint.
Ya están “preparados” los elementos prioritarios de la pila del producto, de forma
que ya tienen un nivel de detalle suficiente y una estimación previa del trabajo que
requieren.
El equipo tiene un conocimiento de las tecnologías empleadas, y del negocio del
producto suficiente para realizar estimaciones basadas en juicio de expertos, y para
comprender los conceptos del negocio que expone el propietario del producto.
23
Entradas
La pila del producto.
El producto desarrollado hasta la fecha en los incrementos anteriores
(Excepto si se trata del primer sprint).
Dato de la velocidad o rendimiento del equipo en el último sprint, que se emplea
como criterio para estimar la cantidad de trabajo que es razonable suponer para el
próximo sprint.
Circunstancias de las condiciones de negocio del cliente y del escenario
tecnológico empleado.
Resultados
Pila del sprint.
Duración del sprint y fecha de la reunión de revisión.
Objetivo del sprint.
Formato de la reunión
Esta reunión marca el inicio de cada sprint. Duración máxima: un día. Asistentes:
Propietario del producto, equipo de desarrollo y Scrum Master. Pueden asistir: todo
aquellos que aporten información útil, ya que es una reunión abierta. Consta de dos
partes separadas por una pausa de café o comida, según la duración.
Cada iteración debe tener un objetivo claro, el cual está definido de antemano en el
Product Backlog. A medida que los equipos trabajan, se deben ir implementando
los recursos previstos u otros que no se habían tenido en cuenta previamente.
24
2.11. Scrum Diario (Daily Scrum)
Formato de la reunión
Se recomienda realizarla de pie junto a un tablero con la pila del sprint y el gráfico
de avance del sprint, para que todos puedan compartir la información y anotar. En
la reunión está presente todo el equipo, y pueden asistir también otras personas
relacionadas con el proyecto o la organización, aunque éstas no pueden intervenir.
En esta reunión cada miembro del equipo de desarrollo explica:
❖ Lo que ha logrado desde el anterior scrum diario.
25
Y actualiza sobre la pila del sprint el esfuerzo que estima pendiente en las tareas
que tiene asignadas, o marca como finalizadas las ya completadas. Al final de la
reunión:
-El equipo refresca el gráfico de avance del sprint, con las estimaciones
actualizadas,
- El Scrum Master realiza las gestiones adecuadas para resolver las
necesidades o impedimentos identificados.
El equipo es el responsable de esta reunión, no el Scrum Master; y no se trata de
una reunión de “inspección” o “control” sino de comunicación entre el equipo para
compartir el estado del trabajo, chequear el ritmo de avance y colaborar en posibles
dificultades o impedimentos.
26
Formato de la reunión
Es una reunión informal. El objetivo es ver el incremento realizado. Están
prohibidas las presentaciones gráficas y “PowerPoint”. El equipo no debe invertir
más de una hora en desarrollar la reunión, y lo que se muestra es el resultado final:
terminado, probado y operando en el entorno del cliente (incremento). Según las
características del proyecto puede incluir también documentación de usuario, o
técnica. Es una reunión informativa. Su misión no es la toma de decisiones ni la
crítica del incremento. Con la información obtenida, posteriormente el propietario
del producto tratará las posibles modificaciones sobre la visión del producto.
Protocolo recomendado:
1. El equipo expone el objetivo del sprint, la lista de funcionalidades que se incluían
y las que se han desarrollado.
2. El equipo hace una introducción general del sprint y demuestra el funcionamiento
de las partes construidas.
3. Se abre un turno de preguntas y sugerencias. Esta parte genera información
valiosa para que el propietario del producto y el equipo en general, puedan mejorar
la visión del producto.
4. El Scrum Master, de acuerdo con las agendas del propietario del producto y el
equipo, cierra la fecha para la reunión de preparación del siguiente sprint.
Backlog de Producto
El Backlog de Producto es un listado dinámico y públicamente visible para todos los
involucrados en el proyecto.
28
En él, el Dueño de Producto, mantiene una lista actualizada de requerimientos
funcionales para el software. Esta lista, representa "qué es lo que se pretende"
pero sin mencionar "cómo hacerlo", ya que esta última, como vimos en el capítulo
anterior, será tarea del Scrum Team.
29
Estas estimaciones, no se efectúan sobre items poco prioritarios ni tampoco sobre
aquellos donde exista un alto grado de incertidumbre.
De esta manera, se evita la pérdida de tiempo en estimaciones irrelevantes,
postergándolas para el momento en el cual realmente sea necesario comenzar a
desarrollarlas.
Granulidad de los ítems
Los items del Backlog de Producto no necesariamente deben tener una granulidad
pareja. Es posible encontrar ítems tales como "es necesario contar con un módulo
de control de stock y logística" o uno tan pequeño como "Modificar el color de fondo
de los mensajes de error del sistema, de negro a rojo".
Una historia de usuario es aquella que puede escribirse con la siguiente frase
Como [un usuario], puedo [una funcionalidad] para [un beneficio]
Como usuario registrado, puedo cargar un voucher para calcular mi descuento en
la compra.
Criterios de Aceptación
Cada ítem del Backlog de Producto, es necesario que especifique cuales son los
criterios de aceptación (o test de aceptación que debe superar), para considerar
cumplido el requisito.
Backlog de Sprint
es la recopilación sintética de items del Backlog de Producto, negociados entre el
Dueño de Producto y el Scrum Team en la ceremonia de planificación,
reunión que se realiza al comienzo del Sprint.
30
Esta recopilación, que durante la planificación ha sido propuesta por el Dueño de
Producto y ya negociada, es aquella que el Scrum Team se compromete a
construir durante el Sprint en curso.
El Backlog de Sprint, generalmente (y muy recomendado), se visualiza mediante
tableros físicos – también llamados Scrum Taskboard - que hacen visible el
proceso de construcción, a toda persona que ingrese al área de desarrollo.
Para armar el Backlog de Sprint, el Scrum Team, divide los items en tareas – tasks
– de que no demanden una labor superar a una jornada de trabajo. Es decir, que
una tarea, no debería superar las 8 horas de trabajo.
Estas tareas, serán divididas en pendientes, en curso y terminadas y cada una de
ellas, debe permitir visualizar, como mínimo, el esfuerzo que demanda su
construcción y el nombre del miembro del equipo que se ha asignado dicha tarea.
Como administrador quiero poder administrar las secciones del sistema para poder
establecer el orden de visualización de las mismas
Otro detalle a considerar, es el tiempo que demanda cada tarea. Por ejemplo,
correr un ORM lleva solo algunos minutos, pues no puede ser considerado una
única tarea. Entonces, puede "sumarse como detalle" a la tarea "crear modelos".
De manera contraria, documentar en el manual del usuario, llevará todo un día de
trabajo. Por lo cual, debe asignarse a una única tarea.
31
Tableros de Scrum
Con la lista de tareas ya armada, estamos en condiciones de crear el tablero
Un Scrum Taskboard, básicamente se divide en 3 columnas: pendientes, en curso
y terminadas y se complementa la información con un Diagrama de Burndown que
mostrará el esfuerzo restante para concluir el Sprint.
Incremento de Funcionalidad
32
❖ En la lista se indican las posibles iteraciones y las entregas (releases)
esperadas por el cliente (los puntos en los cuales desea que se le entreguen
los objetivos/requisitos completados hasta ese momento), en función de la
velocidad de desarrollo del (los) equipo(s) que trabajará(n) en el proyecto.
Es conveniente que el contenido de cada iteración tenga una coherencia, de
manera que se reduzca el esfuerzo de completar todos sus objetivos.
❖ La lista también tiene que considerar los riesgos del proyecto e incluir los
requisitos o tareas necesarios para mitigarlos.
2.17. Incremento
El incremento es la parte de producto producida en un sprint, y tiene como
característica el estar completamente terminada y operativa, en condiciones de ser
entregadaalcliente.
33
No se deben considerar como Incremento a prototipos, módulos o sub-módulos, ni
partes pendientes de pruebas o integración. Idealmente en scrum:
❖ Cada elemento de la pila del producto se refiere a funcionalidades
entregables, no a trabajos internos del tipo “diseño de la base de datos”.
❖ Se produce un “incremento” en cada iteración.
Sin embargo es una excepción frecuente el primer sprint. En el que objetivos del
tipo “contrastar la plataforma y el diseño” pueden resultar necesarios, e implican
trabajos de diseño o desarrollo de prototipos para contrastar las expectativas de la
plataforma o tecnología que se va a emplear. Teniendo en cuenta esta excepción
habitual:
Incremento es la parte de producto realizada en un sprint potencialmente
entregable: terminada y probada.
Si el proyecto o el sistema requiere documentación, o procesos de validación y
verificación documentados, o con niveles de independencia que implican procesos
con terceros, éstos también tienen que estar realizados para considerar que el
incremento está “hecho”.
34
Un Scrum Master puede detectar la falta de transparencia inspeccionando
artefactos, reconociendo patrones, escuchando atentamente lo que se dice y
detectando diferencias entre los resultados esperados y los reales. La labor del
Scrum Master es trabajar con el Equipo Scrum y la organización para mejorar la
transparencia de los artefactos.
Este trabajo usualmente incluye aprendizaje, convicción y cambio. La transparencia
no ocurre de la noche a la mañana, sino que es un camino.
2.20.1. Ventajas
❖ Entregables en tiempo y forma, puedes ir enviando entregables al cliente
mientras vas atacando los objetivos más sencillos, eso te hace ganar tiempo
para atacar los objetivos más complejos.
❖ El ScrumMaster tiene el conocimiento necesario para lograr el objetivo
primario y secundario por lo cual puede ir controlando el proyecto y
delegando roles.
❖ Cada persona sabe que es lo que tiene que hacer y no es necesario estar
reorganizando una y otra vez los Tracks de cada persona.
❖ Se involucra desde un principio y se da un rol a todos los stakeholders
(personas que van a participar en el proyecto incluyendo cliente final, QA,
Testers, etc.)
2.20.2. Desventajas
❖ Algunos miembros de tu equipo pueden saltar pasos importantes en el
camino rápido para llegar al “sprint” final.
❖ El cliente siempre va a esperar los informes con la fecha exacta, y muchas
veces los va a pedir antes, cuando capaz no pudiste avanzar en
nada.Demasiadas reuniones para poco avance, a veces es muy cansador y
estresante reunirse demasiadas veces por el mismo tema, algunos van
perdiendo el interés en el proyecto.
36
Si una persona renuncia o hay algún cambio es complicado remplazar ese rol ya
que es la persona que se lleva el conocimiento específico y afecta a todo el
proyecto.
1.- FOCO
Los equipos Scrum se enfocan en un conjunto acotado de características por vez.
Esto permite que al final de cada Sprint se entregue un producto de alta calidad y
adicional mente se reduce el time-to-Marquet.
2.-CORAJE
Debido a que los equipos Scrum trabajan como verdaderos equipos nos apoyamos
entre compañeros para así asumir compromisos desafiantes.
3.- APERTURA
Nos permite una discusión abierta de los problemas que tenemos al realizar el
proyecto, la información está disponible para todos.
4.- COMPROMISO
Cada integrante del equipo debe tener un compromiso para lograr el éxito del
grupo.
Ya que el grupo trabaja en forma conjunta compartiendo éxitos y fracasos se
fomenta el respeto mutuo.
5.- RESPETO
Ya que el grupo trabaja en forma conjunta compartiendo éxitos y fracasos se
fomenta el respeto mutuo.
37
2.22. Herramientas de trabajo
Herramienta #1 – JIRA
JIRA es una aplicación, basada en el estándar J2EE, para la administración de
proyectos que ofrece flexibilidad y adaptabilidad para satisfacer las necesidades
particulares de los distintos modelos de gestión de los mismos. Esto le permite
adaptarse fácilmente a métodos propios del agilismo como Scrum o Kanban.
Documentación de US (y gestión del conocimiento) en Confluence y transformarse
en tareas en JIRA. Facilitar el flujo de trabajo de desarrollo actualizando
automáticamente los issues de JIRA cuando un desarrollador introduce código en
Stash o Bitbucket haciendo “Commit”. Implementar Continuous integration
mediante Bamboo y supervisar el estado de los builds desde dentro de JIRA.
Herramienta # 2 – SeeNowDo
SeeNowDo ofrece una interfaz de usuario simple y sencilla para la creación y
especificación de US, así como también para la generación de sprints, y la
correspondiente asignación de US a sprints. Si bien provee funcionalidad para
estadísticas y generación de charts, posee dos grandes limitaciones: por un lado,
no existe el concepto de backlog. Todo debe desarrollarse dentro de sprints, lo cual
hace difícil el manejo y gestión de US. Por otro lado, su performance no es buena.
Aún con proyectos chicos de pocas US la herramienta se vuelve lenta. Su principal
ventaja es que en la versión gratuita tiene disponible toda su funcionalidad y no es
necesario abonar por features adicionales.
Herramienta #3 AgileFant
AgileFant es de las herramientas que mayor crecimiento registra en cuanto a
popularidad y cantidad de usuarios. Es bastante completa, incluye generación de
estadísticas, velocity, burndown charts y utilización de métricas. Una característica
interesante es que brinda la posibilidad de definir US generales (denominadas
también EPIC Stories) y luego ir refinándolas, agregándoles más detalle a medida
que el proyecto avanza.
38
Entre sus puntos débiles se puede mencionar la poca flexibilidad para personalizar
la herramienta, y su inexistente integración con otros sistemas, lo cual puede
atentar contra su utilización en ambientes corporativos.
Herramienta #4 RallyDev
RallyDev es también una poderosa herramienta para la gestión de proyectos ágiles.
Posee características avanzadas entre las cuales se destaca la generación
automática de los distintos diagramas de seguimiento y la posibilidad de
exportarlos a diferentes formatos. Esto es particularmente útil para la generación
automática de reportes. Brinda también la posibilidad de control de cambios y
revisiones para el manejo de US. Finalmente, dentro de cada US es posible definir
criterios de aceptación como casos de tests, lo cual facilita la interacción con la
fase de testing. Entre sus puntos débiles se puede mencionar una interfaz poco
amigable, y bajo rendimiento en cuanto al tiempo esperado de respuesta para
algunas características.
Herramienta #5 Trello
Trello es un servicio en la nube muy recomendable para gestionar proyectos o
tareas y coordinar a un equipo de trabajo. Con este servicio dispondremos de una
pizarra digital (o board) en la que podremos abrir columnas en las que ir agrupando
tarjetas (o cards) con las tareas que tenemos que asignar. Dicho de otra forma, si
por ejemplo tuviésemos un flujo de trabajo con tareas abiertas, tareas en ejecución,
tareas en espera y tareas finalizadas (muy cercano a GTD), podríamos ir moviendo
las tarjetas entre estos estados y, de un vistazo, ver el estado de nuestras tareas.
¿Y qué tiene que ver Trello con Scrum? Pizarra y tarjetas, dos componentes que se
incluyen en Trello y que podemos aplicar para ayudarnos a realizar la planificación
de los sprints de nuestro proyecto.
39
3. PERSONAS Y ROLES DEL PROYECTO
ROL ENCARGADO TAREAS
Garantizar el cumplimiento de
roles y responsabilidades.
40
4. MODELOS USADOS PARA EL DESARROLLO DE SCRUM
4.1. Reunión de planeamiento del Sprint (Sprint Planning)
ABRIL
SPRINT 0 SPRINT 1 SPRINT 2 SPRINT 3
TERMINADO
ACTIVIDAD 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
ESTABLECIMIENTO DE
LOS OBJETIVOS
GENERALES Y
ESPECIFICOS X
ESTABLECIMIENTO DEL
ALCANCE X
PLANIFICACION DEL
CRONOGRAMA DE
TRABAJO X
DESARROLLO DEL
PRODUCT BACKLOG X
ESTABLECIMIENTO DE
ROLES X
ANALISIS DE
REQUISITOS X X X X X
DESARROLLO DEL
LOGIN DE USUARIO X X X X
REUNION DEL SPRINT X
DESARROLLO DEL
PAQUETE
ADMINISTRACION DE
USUARIOS X X X X X X
41
REUNION DEL SPRINT X
DESARROLLO DEL
PAQUETE ADMINISTRAR
ALMACEN Y
PROVEEDORES X X X
REUNION DEL SPRINT X
DESARROLLO DEL
PAQUETE ADMINISTRAR
PRODUCTO Y
CATEGORIA X
DESARROLLO DEL
PAQUETE ADMINISTRAR
VENTA X X
REUNION DEL SPRINT X
42
4.2. Pila de Sprint (Sprint Backlog 0)
43
4.3. Elementos: Pila del Sprint
02-abril
03-abril
04-abril
05-abril
06-abril
07-abril
08-abril
Sprint Inicio Duración
0 06-sep 7 dias
Tareas Pendientes 10 7 6 6 2 1 1
Horas de trabajo Pendientes 10 2 6 19 4 2 1
Pila Del Sprint
ESFUERZO
Código Tarea Tipo Estado Responsable
Entrevista con Análisis Terminado Hurtado Gutiérrez
HU0-1 ProductOwner Erasmo Cuarto
1 1 1 2 1 1 1
Explicar al Análisis Terminado Hurtado Gutiérrez
ProductOwner como Erasmo Cuarto
HU0-2
funciona la
metodología a usar 1 1 1 2 1 1 1
Crear un perfil que Preparación Terminado Hurtado Gutiérrez
explique la finalidad Erasmo Cuarto
HU0-3 del proyecto Cardona Chávez
Alex
1 1 1 2 1 1 1
Asignación de roles a Análisis Terminado Avisa Mamani
los miembros del Alexander
Colque Orellana Nicolás
HU0-4 equipo LimachiSarzuriGrover
Fernando
Portugal Hurtado Maguin 1 1 1 2 1 1 1
Capacitación de los Capacitación Terminado Avisa Mamani
miembros del equipo Alexander
Colque Orellana Nicolás
HU0-5 en las herramientas a LimachiSarzuriGrover
utilizar Fernando
Portugal Hurtado Maguin 1 1 1 2 1 1 1
Diseñar un modelo de Diseño Terminado Avisa Mamani
base de Datos Alexander
Colque Orellana Nicolás
HU0-6 LimachiSarzuriGrover
Fernando
Portugal Hurtado Maguin 1 1 1 2 1 1 1
Encontrar los casos de Análisis Terminado Hurtado Gutiérrez
HU0-7 Uso funcionales Erasmo Cuarto
1 1 1 2 1 1 1
Preparación del Preparación Terminado Avisa Mamani
entorno de desarrollo Alexander
Colque Orellana Nicolás
HU0-8 de programación LimachiSarzuriGrover
Fernando
Portugal Hurtado Maguin 1 1 1 2 1 1 1
44
4.4. Sprint Review
Durante el Sprint 0, se realizó la planificación necesaria a través de la
información recopilada previamente con la misión de cumplir con la
metodología elegida SCRUM definiendo que el sistema será dirigido al
desarrollo del B2C de un sistema E-commerce. Para cumplir con lo establecido
se realizó una capacitación a todo el equipo de trabajo y se definió un plan de
desarrollo por Sprints designando diferentes roles por cada etapa del proyecto;
En la cual hubieron cerca de 4 reuniones por semana con 2 horas por reunión
y un continuo trabajo por realizar las tareas asignadas. Hubo bastante
colaboración entre todos los compañeros del grupo teniendo en cuenta nuestro
inicio tardío como grupo.
En el HU0-3 el trabajo fue bastante duro debido a que esos momentos solo
eramos 2 personas en el grupo a pesar de eso pudimos desarrollar las tareas
con éxito y precisión.
45
4.6. Proceso Scrum (Roles, componentes, reuniones y pilas de
producto por sprint)
46
4.7. Ejecución de la Iteración
47
4.8. Diagrama de Clase
48
4.9. Lista de Casos de Uso y Diagrama de Casos de Uso
4.9.1. Lista de Casos de Uso
49
4.9.2. Diagrama General de Casos de Uso
50
4.10. Paquetes de Casos de Uso
4.10.1. Paquete Usuario
51
4.10.2. Paquete Inventario
52
4.10.3. Paquete Venta
53
4.10.4. Paquete Promociones
54
4.11. Artefacto
4.11.1. Product Backlog
55
4.11.2. Scrum Taskboard
• Gestionar Usuario
• Gestionar Privilegios
• Gestionar Acciones
• Gestionar Perfil
• Gestionar Rank de
Comprador
• Gestionar Mensajes
• Gestionar Almacén
• Gestionar Proveedor
• Gestionar Empresa
• Gestionar Tipo de
Empresa
• Gestionar Producto
• Gestionar Categoría
• Gestionar
Subcategoria
• Gestionar Descuento
• Gestionar Venta
• Gestionar Estado
• Gestionar Pago
• Gestionar
Promociones de
Descuento
• Gestionar
Promociones por
Puntos
• Gestionar Venta
Mayor
• Gestionar Moneda
56