1. ¿Qué metodología utilizar? ¿Por qué?
Se recomienda utilizar una metodología ágil, como Scrum, por las siguientes
razones:
Flexibilidad: Permite adaptarse a los cambios de requerimientos que
puedan surgir al comprender mejor las necesidades del negocio.
Iteración y entrega continua: Las funcionalidades clave (ventas,
inventario, campañas) se pueden desarrollar y entregar en ciclos cortos
(sprints).
Colaboración constante: Facilita el trabajo conjunto entre
desarrolladores, usuarios finales y gerentes de la tienda.
Priorización: Permite enfocarse primero en las funciones esenciales,
como la gestión de ventas e inventarios.
2. Levantamiento de requerimientos funcionales y no funcionales
Técnicas a utilizar:
1. Entrevistas: Conversaciones directas con los dueños de la tienda,
empleados y gerentes para entender necesidades específicas.
2. Observación directa: Ver cómo se realizan las operaciones diarias en
la tienda para identificar posibles mejoras.
3. Talleres colaborativos: Sesiones para priorizar funcionalidades y
definir procesos clave.
Preguntas para la entrevista:
1. Sobre ventas y clientes:
o ¿Qué datos registran actualmente sobre las compras de los
clientes?
o ¿Qué información les gustaría tener sobre los hábitos de compra
de los clientes?
o ¿Tienen algún sistema actual para gestionar clientes o ventas?
¿Qué limitaciones tiene?
2. Sobre inventarios:
o ¿Cómo controlan el inventario de productos actualmente?
o ¿Qué tan frecuentemente actualizan los datos de existencias?
o ¿Necesitan alertas de inventario bajo?
3. Sobre campañas de marketing:
o ¿Qué tipo de campañas realizan actualmente?
o ¿Cómo segmentan a sus clientes para estas campañas?
o ¿Qué canales de comunicación utilizan?
4. Sobre usabilidad del sistema:
o ¿Qué nivel de experiencia tienen los empleados con la tecnología?
o ¿Qué dispositivos prefieren usar para operar el sistema
(computadora, tablet, móvil)?
Requerimientos funcionales:
Gestión de clientes: Registro y actualización de datos personales,
historial de compras y preferencias.
Gestión de ventas: Creación de facturas, registro de transacciones, y
generación de reportes.
Inventarios: Control de existencias, alertas por agotamiento de stock, y
gestión de categorías de productos.
Marketing: Segmentación automática de clientes y generación de listas
para campañas personalizadas.
Requerimientos no funcionales:
Seguridad: Protección de los datos de los clientes y control de acceso por
roles.
Escalabilidad: Soporte para un número creciente de clientes y productos.
Usabilidad: Interfaz sencilla e intuitiva para empleados sin experiencia
técnica.
3. Análisis de la base de datos
Diagrama Entidad-Relación (E-R)
El diagrama incluiría entidades clave como:
Clientes: ID_cliente, nombre, correo, teléfono, segmento.
Productos: ID_producto, nombre, categoría, precio, stock.
Ventas: ID_venta, fecha, ID_cliente, total.
Detalle de venta: ID_detalle, ID_venta, ID_producto, cantidad, subtotal.
Modelo Relacional
Tabla Atributos Llaves
ID_cliente, nombre, correo,
Clientes PK: ID_cliente
teléfono, segmento
ID_producto, nombre, categoría,
Productos PK: ID_producto
precio, stock
Ventas ID_venta, fecha, ID_cliente, total PK: ID_venta, FK: ID_cliente
Detalle de ID_detalle, ID_venta, ID_producto, PK: ID_detalle, FK: ID_venta,
venta cantidad, subtotal FK: ID_producto
4. Cronograma de actividades
Duració Seman
Actividad Responsable
n a
Levantamiento de 2
Analista de negocio 1-2
requerimientos semanas
Diseño del sistema y base de 1 Diseñador de
3
datos semana sistemas
Desarrollo del módulo de 2 Equipo de
4-5
ventas semanas desarrollo
Desarrollo del módulo de 2 Equipo de
6-7
inventario semanas desarrollo
Desarrollo del módulo de 2 Equipo de
8-9
clientes semanas desarrollo
Desarrollo del módulo de 2 Equipo de
10-11
marketing semanas desarrollo
2 QA y
Pruebas e integración 12-13
semanas desarrolladores
1
Capacitación y despliegue Equipo técnico 14
semana
Este cronograma puede adaptarse según la complejidad del sistema y el
tamaño del equipo de trabajo.
Con base en los factores mencionados, aquí se proponen consideraciones clave
y estrategias para abordar el desarrollo del sistema:
1. Metodología adecuada: Metodología Ágil (Scrum)
La elección de Scrum como metodología responde a las siguientes razones:
Adaptabilidad a cambios: Scrum permite incorporar nuevos requisitos
o ajustes sin afectar de manera drástica el cronograma.
Entrega incremental: El sistema puede desarrollarse en sprints de 2
semanas, entregando partes funcionales del sistema (ventas,
inventarios, etc.) para evaluación y retroalimentación constante.
Prioridad en requisitos clave: Se enfoca en las funcionalidades
esenciales primero, asegurando que el prototipo esté listo en 2 meses.
2. Plan de trabajo con fases y entregables
Fase Objetivo Duración Entregables
Comprender las Documento de
Levantamiento de
necesidades y definir 2 semanas requisitos funcionales y
requisitos
prioridades no funcionales
Crear modelos
Diagramas y prototipo
Diseño del sistema iniciales (E-R, 1 semana
visual
prototipos UI/UX)
Desarrollo del Implementar ventas, 4 semanas Módulo funcional para
prototipo inventarios y clientes (2 sprints) ventas e inventarios
Desarrollo de Incluir promociones y Segmentación de
4 semanas
funcionalidades campañas de clientes, campañas
(2 sprints)
avanzadas marketing personalizadas
Pruebas e Asegurar la calidad Informe de pruebas y
2 semanas
integración del sistema sistema integrado
Entrenar al personal
Capacitación y Sistema completo y
y desplegar el 1 semana
entrega final guía de usuario
sistema
3. Estrategia para manejar los requisitos del cliente
Técnicas sugeridas:
1. Entrevistas:
o Preguntar sobre las funcionalidades específicas deseadas (ventas,
marketing, inventarios).
o Validar el flujo de trabajo actual y entender sus limitaciones.
2. Prototipos visuales:
o Crear bocetos iniciales de la interfaz para garantizar que las
expectativas coincidan con la realidad.
3. Revisión periódica:
o Presentar avances al cliente después de cada sprint para obtener
retroalimentación y ajustar según sea necesario.
4. Plan para entregar un prototipo funcional en 2 meses
Primera iteración (2 semanas):
Objetivo: Implementar la base de datos y el módulo de ventas.
Entregable: Sistema capaz de registrar y visualizar transacciones
básicas.
Segunda iteración (2 semanas):
Objetivo: Agregar gestión de clientes y consultas sobre historial de
compras.
Entregable: Modulo para registrar clientes y ver sus compras
asociadas.
Tercera iteración (2 semanas):
Objetivo: Incluir el módulo de inventario básico (consulta y
actualización).
Entregable: Prototipo con funcionalidades básicas de ventas, clientes e
inventarios.
Cuarta iteración (2 semanas):
Objetivo: Crear un dashboard con reportes básicos de ventas y alertas
de stock bajo.
Entregable: Prototipo funcional listo para pruebas iniciales.
5. Flexibilidad para cambios
Para manejar ajustes o nuevas funcionalidades durante el desarrollo:
Priorizar tareas críticas en cada sprint.
Reservar un 20-25% del tiempo en cada iteración para abordar cambios
no planificados.
Realizar reuniones diarias (daily standups) para identificar y resolver
problemas rápidamente.
6. Consideraciones técnicas
1. Tecnología base:
o Backend: MySQL o PostgreSQL para la base de datos.
o Frontend: Frameworks ligeros como React o [Link].
o Integraciones: Con sistemas de punto de venta como Square o
Stripe (si aplica).
2. Escalabilidad:
o Diseñar la base de datos para soportar un aumento en clientes y
productos.
3. Seguridad:
o Implementar controles de acceso y cifrado para proteger datos
sensibles.
7. Riesgos y mitigación
Riesgo Plan de mitigación
Cambios inesperados en los
Reservar tiempo adicional en cada sprint.
requisitos
Prototipo no cumple expectativas Mostrar avances frecuentes y ajustar en
del cliente tiempo real.
Priorizar funcionalidades críticas sobre
Retrasos en el cronograma
complementarias.
Este enfoque garantiza que el sistema de gestión esté alineado con las
expectativas del cliente, cumpliendo plazos y ofreciendo flexibilidad para
mejoras futuras