Implementación de La Metodología Agil...
Implementación de La Metodología Agil...
Implementación de La Metodología Agil...
Director
SAMUEL ELÍAS BETANCUR GARZÓN
Ingeniero de sistemas, Especialista en Administración de TI
1
NOTAS DE ACEPTACIÓN:
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
___________________________________
Samuel Elías Betancur Garzón
Director
___________________________________
Javier Mauricio Enciso Moreno
Jurado
___________________________________
Fecha
2
AGRADECIMIENTOS
Agradezco a las personas que dejaron huella en estos cinco años, a mis
compañeros por las experiencias enriquecedoras y a mis amigos por cada
momento y anécdota que alegró mi estancia en la universidad. A cada uno de
ellos, nos vemos afuera dándola toda y siendo grandes, que nuestros nombres
resuenen por doquier.
3
TABLA DE CONTENIDO
1. RESUMEN 7
2. ABSTRACT 8
3. PLANTEAMIENTO DEL PROBLEMA 9
4. JUSTIFICACIÓN 10
5. OBJETIVOS 11
5.1. Objetivo general 11
5.2. Objetivos específicos 11
6. MARCO CONCEPTUAL 12
7.1 METODOLOGÍA ÁGIL SCRUM 12
7.2 COMERCIO ELECTRÓNICO EN COLOMBIA 13
7.3 MARCO LEGAL EN COLOMBIA 14
7. METODOLOGÍA 15
8. EJECUCIÓN 17
9.1 ANÁLISIS DEL EQUIPO 17
9.2 DEFINICIÓN DE ROLES 24
9.3 DEFINICIÓN DE REQUERIMIENTOS 27
9.4 DISEÑO 29
9.5 DESARROLLO POR SPRINTS 30
9.5.1 SPRINT 1 – MÓDULO DE SITIO DE ADMINISTRACIÓN 31
9.5.2 SPRINT 2 – MÓDULO DE LANDING PAGE 32
9.5.3 SPRINT 3 – MÓDULO DE REGISTRO Y AUTENTICACIÓN 33
9.5.4 SPRINT 4 – MÓDULO DE PRODUCTOS POR CATEGORÍA 34
9.5.5 SPRINT 5 – MÓDULO DE DETALLE DE PRODUCTOS 35
9.5.6 SPRINT 6 – MÓDULO DE CARRITO DE COMPRAS 36
9.5.7 SPRINT 7 – MÓDULO DE NOTIFICACIONES 38
9.5.8 SPRINT 8 – DESPLIEGUE EN AMBIENTE DE PRUEBAS 39
9.5.9 SPRINT 9 – PRUEBAS Y CORRECCIONES 39
9. RESULTADOS 40
10. CONCLUSIONES 46
11. REFERENCIAS 47
12. ANEXOS 49
4
TABLA DE ILUSTRACIONES.
Figura 1. Metodología Scrum ......................................................................................... 15
Figura 2. Resultados pregunta #1: con esta primera pregunta, ya se tienen indicios de
que existe un factor de entropía asociado a la organización para llevar a cabo los
trabajos............................................................................................................................ 17
Figura 3. Resultados pregunta #2: un 61,5% de los trabajadores conocen los objetivos
de la empresa y un 38,5% no. ........................................................................................ 17
Figura 4. Resultados pregunta #4: tan sólo un 7,7% del equipo piensa no tener la
capacidad de adaptación a eventualidades diarias ....................................................... 18
Figura 5. Resultados pregunta #5: se puede observar que los porcentajes de las
respuestas no son muy lejanos, por lo que existe una opinión dividida ........................ 19
Figura 6. Resultados pregunta #6: se tiene un ligero parte de tranquilidad al no tener
respuestas negativas con respecto a la implementación de mejoras al espacio de
trabajo.............................................................................................................................. 19
Figura 7. Resultados pregunta #7: puede observar que aunque se conocen el uno al
otro en el equipo, sigue existiendo un mínimo porcentaje contrarrestando tal opinión. 20
Figura 8. Resultados pregunta #8: podemos notar que existe un 7,7% del equipo,
piensa que la programación lo es todo en el desarrollo de un producto. ...................... 20
Figura 9. Resultados pregunta #9: aunque el equipo indicó que sí se lleva un control,
también comentaron que no era el más óptimo y se requiere una mejora en este
aspecto. ........................................................................................................................... 20
Figura 10. Resultados pregunta #10: existe un porcentaje considerable al que debe
prestarse atención, ya que el implementar Scrum incluye una cooperación entre todos
los miembros del equipo ................................................................................................. 21
Figura 11. Resultados pregunta #11: la mayoría conoce el término de metodología de
desarrollo de software, lo cual es un buen índice para el nivel de preparación que tiene
el equipo . ........................................................................................................................ 21
Figura 12. Resultados pregunta #12: uno de los más grandes inconvenientes en el
equipo es que no existe una organización ni una definición de roles dentro del mismo.
......................................................................................................................................... 21
Figura 13. Resultados pregunta #13: con esta pregunta podemos medir un nivel inicial
de conocimiento que tiene el equipo sobre Scrum y tales porcentajes positivos
permitirán a futuro realizar un mejor trabajo sobre éste. ............................................... 22
Figura 14. Resultados pregunta #14: se hace notoria el déficit de conocimiento del
equipo frente a la utilidad que tiene manejar un tablero Kanban. ................................. 22
Figura 15. Resultados pregunta #15: para esta pregunta sí se puede observar una
mayor discrepancia entre las respuestas de los miembros de CEINDETEC. ............... 23
Figura 16. Resultados pregunta #16: con este gráfico claramente se representa una
gran falta en el apropiamiento de términos básicos de la metodología ágil a
implementar..................................................................................................................... 23
Figura 17. Resultados pregunta #7: las últimas respuestas indican que se necesita un
refuerzo en la creación y manejo de las historias de usuario para desglosar un
proyecto de software. ...................................................................................................... 23
Figura 18. Modelo entidad-relación inicial. ..................................................................... 30
Figura 19. Sprint #1 - Sprint backlog en la columna de TO DO usando la herramienta
virtual de Trello. ............................................................................................................... 31
5
Figura 20. Burndown chart - Sprint #1 ............................................................................ 32
Figura 21. Sprint #2 - Sprint backlog de tareas en Trello, para ajustar el landing de
page de la plataforma web.............................................................................................. 32
Figura 22. Burndown chart - Sprint #2 ............................................................................ 33
Figura 23. Sprint #3 - Sprint backlog de tareas, en Trello, para el módulo de registro y
autenticación. .................................................................................................................. 33
Figura 24. Burndown chart - Sprint #3 ............................................................................ 34
Figura 25. Sprint #4 - Sprint backlog de tareas, en Trello, para el módulo de productos
por categoría. .................................................................................................................. 34
Figura 26. Burndown chart - Sprint #4 ............................................................................ 35
Figura 27. Sprint #5 - Sprint backlog de tareas, en Trello, para el módulo de detalle de
productos......................................................................................................................... 36
Figura 28. Burndown chart - Sprint 5 .............................................................................. 36
Figura 29. Sprint #6 - Sprint backlog de tareas, en Trello, para el módulo de carrito de
compras........................................................................................................................... 37
Figura 30. Burndown chart - Sprint #6 ............................................................................ 37
Figura 31. Sprint #7 - Sprint backlog de tareas, en Trello, para el módulo de
notificaciones. ................................................................................................................. 38
Figura 32. Burndown chart - Sprint #7 ............................................................................ 39
Figura 33. Jornada de capacitación sobre metodología Scrum. ................................... 40
Figura 34. Review de sprint con el equipo y otros programadores presentes en
CEINDETEC.................................................................................................................... 41
Figura 35. Una de las retrospectivas realizadas durante la pasantía, implementando la
técnica de Starfish Retrospective. .................................................................................. 41
Figura 36. Modelo Entidad Relación (MER) final. .......................................................... 43
Figura 37. Sitio de administración de la plataforma web oferta-demanda para
ASOMUCAO. .................................................................................................................. 44
Figura 38. Index plataforma web con tienda virtual. ...................................................... 44
Figura 39. Vista de búsqueda y listado de productos. ................................................... 45
Figura 40. Sección de cuenta y perfil del usuario logueado. ......................................... 45
6
1. RESUMEN
En el presente trabajo se describen tanto los procesos de planeación y
desarrollo de la plataforma web con tienda virtual para ASOMUCAO, como el
impacto logrado al implementar las pautas que establece la metodología ágil
Scrum durante la ejecución de un proyecto de software, analizando el progreso
en la organización y productividad del equipo de programadores involucrado
desde el punto de vista como Scrum Máster.
La plataforma tecnológica busca cubrir el proceso de oferta – demanda,
solicitado por ASOMUCAO para la comercialización de productos de las
familias cacaoteras vinculadas al plan, sin intermediarios ni terceros. De igual
manera, el personal directivo de la asociación podrá contar con un sitio de
administración con el que puede gestionar (crear, editar y/o eliminar) la
información de las famiempresas y demás asuntos necesarios para procesos
internos.
7
2. ABSTRACT
This paper describes both the processes of planning and development of the
web platform with virtual store for ASOMUCAO, and the impact achieved by
implementing the guidelines established by the Agile Scrum methodology
during the execution of a software project, analyzing progress in the
organization and productivity of the team of programmers involved from the
point of view as Scrum Máster.
The technologic platform seeks to cover the supply-demand process, requested
by ASOMUCAO for the marketing of products from cocoa producer families
linked to the plan, without intermediaries or third parties. In the same way, the
association's management staff may have an administration site with which they
can manage (create, edit and / or eliminate) the information of the families and
their crops, and other matters necessary for internal processes.
8
3. PLANTEAMIENTO DEL PROBLEMA
El software se construye según los requisitos del cliente y, en muchas
ocasiones, estos pueden variar durante la ejecución del proyecto, suprimiendo
o añadiendo algunos requerimientos; lo cual puede recaer en un bucle que
afectará la salida a producción al prolongar cada vez más el tiempo de entrega.
Es en este punto, donde implementar una metodología de desarrollo hace parte
clave de la ejecución de un proyecto ya que permite diseñar y/o aplicar un
orden de trabajo para alcanzar un mismo propósito [1]; la manera de trabajar
mejora aún más, si se lleva un proceso iterativo con el que se reduce la
probabilidad de una mala interpretación en las necesidades del usuario durante
el análisis de requerimientos [2].
De aquí que una de las principales problemáticas en un equipo de desarrollo y
una empresa en el área de Tecnologías de la Información, es que durante la
producción de un proyecto de software, exista un déficit de organización y
seguimiento para el desarrollo de un proyecto de software. Si bien la figura de
un “programador al mando” existe, es pertinente la inclusión del Scrum Máster
quien se encarga de asegurar la correcta realización de un determinado
proyecto de software. Muchas veces una planeación y un proceso erróneo,
conducen a los resultados equivocados.
CEINDETEC es una empresa que ofrece amplias soluciones en temas de
software y hardware, además de funcionar como clúster tecnológico en el que
varias nuevas y pequeñas empresas trabajan en sus propios proyectos o, como
lo es en este caso, contribuyen según la función que les fue asignada para
realizar un complejo macro-proyecto abarcando las necesidades expuestas por
la Asociación de Cacaoteros de San José del Guaviare.
En el orden de sus tareas, CEINDETEC desea desarrollar el sistema de
oferta/demanda con una debida planeación, sin ningún contratiempo y
cumpliendo con todos los requerimientos estipulados. Así pues, se hace
necesaria la implementación de la metodología Scrum y técnicas propias de
ésta, para establecer las debidas pautas de trabajo y garantizar el orden
durante el proyecto ya mencionado.
9
4. JUSTIFICACIÓN
En el 2011, el Grupo Standish presentó un reporte producto del estudio de
numerosos proyectos de software elaborados entre el 2002 y el 2010, en el que
se evidenció que sólo el 37% de estos salieron exitosos en su totalidad
(cumpliendo con requerimientos previamente establecidos, en el tiempo y con
el costo planeado). En esta misma investigación, tal grupo realizó una
comparación entre la implementación de un proceso en Cascada y un proceso
Scrum, obteniendo una gran diferencia en los porcentajes. Mientras que de los
proyectos realizados con una metodología en cascada sólo un 14% eran éxitos,
aplicando la metodología Scrum se obtuvo un 42% de casos exitosos [3]. Al
trabajar con esta, se resolverá una de las situaciones más críticas en el mundo
del software y se podrá entregar óptimos avances o resultados en un lapso
menor a 30 días e iterativo con esa misma frecuencia, utilizando en la empresa
un enfoque organizacional.
Scrum es una metodología apta para equipos de desarrollo pequeños que
estén compuestos por entre tres o nueve personas, aquellos donde la
necesidad de documentar es poca, con proyectos que tienden a cambiar
durante su fase de desarrollo y requieren ser flexibles, y sobretodo, enseña a
realizar una excelente cooperación en equipo, un trabajo en conjunto.
El enfoque en la gestión de proyectos es otro de los múltiples campos de
acción en los que un profesional de ingeniería de sistemas adquiere la cualidad
de idóneo, gracias a su completa perspectiva de lo que comprenden los
sistemas en general. Todo ese proceso de gestión, es el trabajo que se
debería realizar antes de dar la orden de empezar a codificar; una buena
planeación y seguimiento reducen las posibilidades de fracaso, pérdida de
ganancias y desborde del tiempo programado.
10
5. OBJETIVOS
11
6. MARCO CONCEPTUAL
12
que ofrecen un apoyo visual apropiado para un equipo pequeño, pues son una
manera más efectiva para que todos los miembros estén al tanto del desarrollo
del proyecto [7]. De igual manera, utilizar un tablero Kanban como sistema de
señalización, permite visualizar un panorama completo durante la ejecución del
proyecto y su respectivo monitoreo, además de llevar una comunicación
constante [8].
Al finalizar cada sprint, para evaluar el desenvolvimiento del equipo con esta
metodología, se realiza una revisión de éste y posteriormente, se hace una
retrospectiva sobre lo entregado para corregir los errores que el equipo ha
cometido y presentar una evolución de trabajo para el siguiente sprint que se
va a planear.
Para que todo lo mencionado funcione con total sincronía, se necesita la figura
de Scrum Máster, quien vela por el total cumplimiento de las tareas. Trabajar
bajo la metodología Scrum, no necesariamente en el área del software sino en
cualquier modelo de negocio, brinda una mayor flexibilidad y eficiencia para
actuales proyectos que surgen en ambientes mucho más versátiles y variantes,
los cuales por estar dispuestos a la adaptación al cambio, pueden ser
perfectamente guiados con una metodología ágil.
13
Por ello, el gobierno ha tomado participación dentro de la legislación de
actividades que incluyen la apropiación de las TIC y que promueven la
expansión del uso de medio digitales para lograr un cambio cultural en las
prácticas de compra y venta en el pueblo colombiano impartiendo leyes y/o
normas que regulen las actividades económicas de esta índole.
Sin embargo, a pesar de que ha tenido una gran acogida, es necesario seguir
trabajando para que la oferta de productos y servicios brindados por empresas
en el territorio colombiano aumente dentro del plano del comercio electrónico
[14], dando a Colombia un mejor posicionamiento en desarrollo comercial y
social.
14
7. METODOLOGÍA
La metodología Scrum conlleva una serie de eventos [9] para su
implementación en el contexto del proyecto mencionado. Aunque no esté en
esos eventos, se contempla una reunión entre el cliente y el Product Owner
(que en este caso, es el jefe de desarrollo, ya que está en constante
comunicación con el cliente), en la que el primero manifiesta todas las
necesidades que quiere cubrir con el software y así, el PO tiene la información
para proceder con la metodología Scrum.
1. PRODUCT BACKLOG:
a. Es la pila del producto; surge de la reunión entre el Development
Team (DT), Product Owner (PO) y Srum Máster (SM) para definir los
requerimientos del producto.
i. Historias de usuarios
2. SPRINT PLANNING:
a. De los requerimientos obtenidos, se eligen los que harán parte de la
pila de tareas para el sprint (Sprint Backlog), detallando cada una de
estas para que el DT tenga todo claro y se acepte bajo la definición
de “Ready”.
i. Planning póquer para definir el peso de cada tarea. Se sigue
una sucesión de pesos de acuerdo a la serie Fibonacci [10].
3. SPRINT EXECUTION:
Esta da lugar, como lo indica su nombre, a la ejecución de sprint,
es decir, al trabajo como talque se va a realizar durante el lapso
establecido.
a. Daily Meeting: Cada día dentro del sprint, se realiza una reunión
diaria para contemplar los siguientes interrogantes:
o ¿Qué se hizo el día anterior?
o ¿Qué inconvenientes se tuvieron?
o ¿Qué se hará hoy?
i. Actas de daily meeting para controlar los avances.
ii. Actualización de gráfico Burn-Down para llevar el flujo de
trabajo.
iii. Actualización del tablero Kanban en físico y en Trello.
15
4. SPRINT REVIEW:
a. Bajo la definición de “Done”, al final del sprint se tiene un hito
considerado como el incremento funcional del producto en desarrollo.
i. Acta de entrega del incremento con sus especificaciones
(según se solicite).
b. Se realiza una revisión para verificar el avance en el desarrollo,
identificando qué faltó por cumplir, qué se procede a hacer y, en
algunas ocasiones, determinar si el incremento pasa o no a
producción.
i. Documento de registro con los ítems mencionados
anteriormente.
5. SPRINT RETROSPECTIVE:
a. Al final de cada sprint se realiza una actividad de retrospectiva para
evaluar al equipo de desarrollo. Es liderada por el Scrum Máster con
el fin de identificar qué se ha hecho bien, qué no se debe seguir
haciendo y qué se podría mejorar.
i. Técnica de Starfish Retrospective. Se divide en 5 áreas y el
objetivo es que cada miembro del DT aporte opiniones en
cada una de estas.
ii. Documento de retrospectiva.
16
8. EJECUCIÓN
Figura 2. Resultados pregunta #1: con esta primera pregunta, ya se tienen indicios de que existe un factor
de entropía asociado a la organización para llevar a cabo los trabajos.
Figura 3. Resultados pregunta #2: un 61,5% de los trabajadores conocen los objetivos de la empresa y un
38,5% no.
17
En la tercera pregunta, las personas entrevistadas podían responder de
manera abierta sobre cómo es su reacción ante los cambios. Como son pocas,
las respuestas se listan a continuación.
“Ajustando tiempos y enfocando la producción en los productos con
mayor prioridad”.
“Me adapto desde que no sean cambios drásticos.”
“No muy bien”
“Se hace una reevaluación y se replantean objetivos”
“Trato de atenderlos o explicar porque no son posibles de realizar”
“Con lógica, escuchando”
“Analizando los cambios del panorama, para buscar la manera más
óptima de alcanzar la meta.”
“Con incertidumbre”
“De forma tranquila”
“Genial! Hacer cambios significa aumentar el potencial de un proyecto”
“A veces con nerviosismo por no saber qué surja”
“De manera inteligente, tratando de llevar el control de todo”
“Siempre recaen en una demora para entregar el producto final”
Tras leer cada una de estas respuestas, se puede concluir que a pesar de
existir un ligero sentimiento de incertidumbre, los desarrolladores son
conscientes y lo suficientemente capaces para actuar con tranquilidad y
profesionalismo para redistribuir el tiempo y cumplir con los objetivos de cada
proyecto.
La anterior y la pregunta número cuatro, están un poco relacionadas. Con los
resultados de esta última se puede presenciar que tan sólo el 7,7% del equipo
NO logra adaptarse a las eventualidades día a día.
Figura 4. Resultados pregunta #4: tan sólo un 7,7% del equipo piensa no tener la capacidad de
adaptación a eventualidades diarias
.
En el interrogante número cinco, sí se evidencian porcentajes muy cercanos en
los resultados ante el hecho de entregar a tiempo y en forma las tareas
asignadas. El equipo se encuentra divido casi a la mitad en sus respuestas.
18
Mientras que el 53,8% dice que sí se entrega a tiempo, el 46,2% se opone a
ello.
Figura 5. Resultados pregunta #5: se puede observar que los porcentajes de las respuestas no son muy
lejanos, por lo que existe una opinión dividida
.
Los resultados de la sexta pregunta demuestran que sí se ha propuesto o
hecho algo anteriormente para mejorar el entorno/flujo de trabajo. Pero así
mismo, al contrastarlo con la quinta pregunta, se deduce que tales propuestas
no han sido del todo efectivas dado que el porcentaje de entregas con desfases
de tiempo es alto.
Figura 6. Resultados pregunta #6: se tiene un ligero parte de tranquilidad al no tener respuestas negativas
con respecto a la implementación de mejoras al espacio de trabajo.
.
La pregunta siete concentra el 69,2% de los resultados para la respuesta
positiva, indicando que las personas sí conocen las habilidades de los demás
miembros del equipo y un 23,1% las conocen muy poco. Lo cual es bastante
beneficioso ya que manifiesta una buena comunicación.
19
Figura 7. Resultados pregunta #7: puede observar que aunque se conocen el uno al otro en el equipo,
sigue existiendo un mínimo porcentaje contrarrestando tal opinión.
Figura 8. Resultados pregunta #8: podemos notar que existe un 7,7% del equipo, piensa que la
programación lo es todo en el desarrollo de un producto.
Así como es importante una buena planeación previa al desarrollo del proyecto,
también lo es un correcto control sobre el mismo. El 84,6% del equipo
CEINDETEC contestó que sí se lleva un control sobre el proceso de los
proyectos que se están desarrollando.
Figura 9. Resultados pregunta #9: aunque el equipo indicó que sí se lleva un control, también comentaron
que no era el más óptimo y se requiere una mejora en este aspecto.
20
La pregunta número diez, última de la primera parte, deja como resultado que
el 61,5% del equipo sí sabe en qué está trabajando los demás para que en
caso de que alguno necesite ayuda puedan colaborar.
Figura 10. Resultados pregunta #10: existe un porcentaje considerable al que debe prestarse atención, ya
que el implementar Scrum incluye una cooperación entre todos los miembros del equipo
.
La segunda parte, consta de siete preguntas.
El interrogante número once, es una buena oportunidad para tener una idea
general del conocimiento del equipo, pues el 92,3% de ellos saben qué es una
metodología de desarrollo de software, ya sea porque lo han aprendido en el
ámbito profesional
Figura 11. Resultados pregunta #11: la mayoría conoce el término de metodología de desarrollo de
software, lo cual es un buen índice para el nivel de preparación que tiene el equipo .
Figura 12. Resultados pregunta #12: uno de los más grandes inconvenientes en el equipo es que no
existe una organización ni una definición de roles dentro del mismo.
21
La pregunta número trece es una de las más importantes en este ejercicio.
Afortunadamente, se obtuvieron resultados positivos; el 53,8% contestó que sí
sabe qué es la metodología SCRUM y un 46,2% la conoce, pero muy pocoes
positivo ya que el hecho de que los miembros tengan idea de la metodología,
permite lograr un mayor aprovechamiento al ejercicio de implementación.
Figura 13. Resultados pregunta #13: con esta pregunta podemos medir un nivel inicial de conocimiento
que tiene el equipo sobre Scrum y tales porcentajes positivos permitirán a futuro realizar un mejor trabajo
sobre éste.
Figura 14. Resultados pregunta #14: se hace notoria el déficit de conocimiento del equipo frente a la
utilidad que tiene manejar un tablero Kanban.
22
Figura 15. Resultados pregunta #15: para esta pregunta sí se puede observar una mayor discrepancia
entre las respuestas de los miembros de CEINDETEC.
Figura 16. Resultados pregunta #16: con este gráfico claramente se representa una gran falta en el
apropiamiento de términos básicos de la metodología ágil a implementar.
Finalmente, otro de los términos más comunes durante el pregrado y que debe
tenerse muy presente en la fase planeación, son las historias de usuario. En la
última pregunta se les pidió a los desarrolladores contestar si conocen para qué
o cómo se elaboran estas. Aunque un poco más de la mitad del equipo afirmó
conocer sobre el tema, existe un gran porcentaje que las desconoce totalmente
o que no saben exactamente cómo funcionan las historias de usuario pero sí
han escuchado ese término en alguna ocasión anterior.
Figura 17. Resultados pregunta #7: las últimas respuestas indican que se necesita un refuerzo en la
creación y manejo de las historias de usuario para desglosar un proyecto de software.
23
Con las preguntas de la primera parte, se concluye que los desarrolladores
comparten un pensamiento muy cercano. Se presentan varias coincidencias en
los resultados al definir la existencia de un plan de trabajo, lo cual se ve
reflejado en las respuestas positivas y/u optimistas ante el surgimiento de
cambios para los proyectos actuales. Sin embargo, restan porcentajes, que en
una empresa con responsabilidades de tal magnitud y que debe tener un
cumplimiento preciso en entregas de productos como lo es CEINDETEC,
deberían ser aún más bajos y esto se puede lograr con la implementación de
una metodología de desarrollo ágil de software que se adapte a su ritmo de
trabajo llevando un apropiado seguimiento y control pero sin dejar de lado la
flexibilidad que le ofrece a un equipo joven de desarrolladores.
De igual manera, se puede deducir con los resultados de la segunda parte del
cuestionario, que los empleados a pesar de saber o haber estudiado en algún
momento de sus carreras profesionales lo que es la metodología SCRUM, la
conocen en términos demasiado generales pues al preguntar por detalles más
minuciosos, que esta misma contempla dentro de su teoría, las respuestas
demuestran que no están del todo familiarizados con el desarrollo de un
proyecto bajo un marco de trabajo provisto por una metodología específica. Por
lo anterior, fue necesario plantear un plan de trabajo que permitiera desarrollar
la plataforma web con tienda virtual y que así CEINDETEC llevará un nivel
mucho mayor de profesionalismo en la organización, ejecución y entrega del
producto en particular.
24
presentaron informes de avances y se mantuvo comunicación
constante por medio de correos electrónicos y/o llamadas.
Los cinco eventos que menciona Scrum, se llevaron de igual manera a como
se exponen en la sección Metodología, del presente documento.
En cuanto a la rutina de actividades propias para cada sprint durante la
ejecución de la pasantía, se recogieron en los siguientes ítems:
DÍAS ACTIVIDADES
LUNES a Daily Meeting en los primeros 15 minutos del día.
VIERNES Trabajo habitual de desarrollo.
25
Pautas acordadas para el Daily Meeting:
En común acuerdo con todos los miembros del equipo, se establecieron las
siguientes pautas para tener en cuenta durante cada mitin diario:
Es dirigido por el Scrum Máster.
Duración máxima de 15 minutos, realizándolo de pie.
No usar el celular durante la reunión diaria.
Cada miembro presente debe darle respuesta a estos tres interrogantes:
¿Qué hizo el día anterior?
¿Qué problemas o inconvenientes tuvo?
¿Qué va a hacer el día de hoy?
Se actualizan el gráfico de avance y el tablero Kanban según las tareas
realizadas.
Se consignan las observaciones de cada Daily Meeting en un
documento por sprint.
26
Para el ejercicio de la metodología Scrum durante el desarrollo del proyecto,
nuestra definición de “DONE” se reduce a un ambiente de laboratorio, y
NO cuando quedan en un ambiente de producción. Es decir, se deja terminada
en cuanto a funcionalidad y sin realizar tests.py para las pruebas automáticas
(las cuales se realizan en su correspondiente semana).
27
ID HISTORIAS DE USUARIO
Yo como usuario quiero un slider de fotos para conocer de lo que puedo
1
encontrar en la tienda.
2 Yo como usuario quiero un buscador en la plataforma para buscar según las
palabras que especifique.
Yo como usuario quiero un listado de categorías para escoger la categoría por
3
la que quiero filtrar mi búsqueda.
4 Yo como usuario quiero ver la información de contacto en la página de inicio.
Yo como usuario quiero un filtro de precio para indicar el rango sobre el que
5
quiero buscar productos.
Yo como usuario quiero una ventana emergente para ver información básica del
6
producto.
Yo como usuario quiero listado de los productos para ver qué puedo comprar en
7
la tienda online.
Yo como usuario quiero un detalle de producto para ver toda la información de
8
estos.
9 Yo como usuario quiero un listado para ver los productos más vendidos.
10 Yo como usuario quiero un aside para ver datos o tips sobre el cacao.
11 Yo como usuario quiero un slider para ver los productos relacionados.
Yo como usuario quiero un botón para registrarme o iniciar sesión con
12
Facebook.
Yo como usuario quiero un formulario para registrarme como cliente y realizar
13
compras online.
Yo como cliente quiero un formulario y un botón para iniciar sesión en la tienda
14
virtual.
15 Yo como cliente quiero un botón para cerrar sesión.
16 Yo como cliente quiero un botón para recuperar mi contraseña.
17 Yo como cliente quiero un formulario para gestionar la información de mi perfil.
Yo como cliente quiero un botón para ir a una vista y ver el checkout de mi
18
pedido.
Yo como cliente quiero un botón añadir al carrito para agregar productos al
19
detalle de compra.
Yo como cliente quiero un botón para eliminar un producto del carrito de
20
compra.
21 Yo como cliente quiero un check para seleccionar si deseo recibir notificaciones.
22 Yo como cliente quiero un formulario para realizar el pago de mi pedido.
Yo como cliente quiero un imprimible en PDF para descargarlo y tener soporte
23
de mi pedido.
Yo como administrador quiero un formulario para registrar una nueva
24
famiempresa.
25 Yo como administrador quiero un botón para gestionar las famiempresas
28
existentes en el sistema.
Yo como administrador quiero un botón para cargar archivos y/o documentos de
26
las famiempresas vinculadas.
Yo como administrador quiero un formulario y un botón para crear un nuevo
27
cultivo.
Yo como administrador quiero un botón para gestionar los cultivos existentes en
28
el sistema.
Yo como administrador quiero un formulario y un botón para crear un tipo de
29
cultivo.
Yo como administrador quiero un botón para gestionar los tipos de cultivo
30
existentes en el sistema.
Yo como administrador quiero un formulario y un botón para crear un modelo de
31
cultivo.
Yo como administrador quiero un botón para gestionar los modelos de cultivo
32
existentes en el sistema.
Yo como administrador quiero una sección para gestionar los datos de ubicación
33
(país, ciudad, departamento).
34 Yo como administrador quiero un botón para crear nuevos productos.
35 Yo como administrador quiero un botón para gestionar un producto.
Yo como administrador quiero un listado para ver el historial de notificaciones
36
enviadas a las famiempresas.
Yo como administrador quiero un listado para ver el historial de notificaciones
37
enviadas a los clientes.
Yo como administrador quiero un formulario para crear notificaciones que serán
38
enviadas vía SMS a las famiempresas.
Yo como administrador quiero un botón para enviar notificaciones vía SMS a las
39
famiempresas.
Yo como administrador quiero gestionar las notificaciones creadas para enviarse
40
por SMS a las famiempresas.
Yo como administrador quiero un formulario para crear notificaciones que serán
41
enviadas vía mailing a los clientes.
Yo como administrador quiero gestionar las notificaciones creadas para enviarse
42
por mailing a los clientes.
Yo como administrador quiero un botón para enviar notificaciones vía mailing a
43
los clientes.
Yo como administrador quiero una sección para gestionar los pedidos
44
registrados mediante la plataforma.
9.4 DISEÑO
Teniendo todas las funcionalidades iniciales establecidas (iniciales porque
pueden agregarse o suprimirse algunas de éstas durante el proyecto), se
diseñó el Modelo Entidad Relación (MER):
29
Figura 18. Modelo entidad-relación inicial.
Cabe resaltar que durante el desarrollo del producto surgían más campos,
tablas y/o relaciones. Por lo que esa primera versión del MER sufrió varias
modificaciones y acoplamientos según se necesitara.
En cuanto al diseño frontend, el cliente final optó por una plantilla HTML
disponible en internet. Así que es con dicha elección, que se integró el backend
para darle las respectivas funcionalidades.
30
Cada uno de estos documentos por semana, se adjuntan en la sección de
ANEXOS del presente informe, y de igual manera, se referencian a
continuación dentro de cada sub-ítem en los que se trata cada uno de los
sprints.
Figura 19. Sprint #1 - Sprint backlog en la columna de TO DO usando la herramienta virtual de Trello.
31
35
30
25
20
15
10
5
0
0 MARTES JUEVES
Actual Ideal
Figura 20. Burndown chart - Sprint #1
Por lo cual, podemos ver que se cumplió con el 100% del número de historias
de usuario indicadas para el sprint correspondiente a la creación del sitio de
administración del sitio web.
Figura 21. Sprint #2 - Sprint backlog de tareas en Trello, para ajustar el landing de page de la plataforma
web.
El segundo sprint comprendió las tareas relacionadas para el debido ajuste del
landing page o página de inicio de la plataforma acorde a los requerimientos
establecidos con el cliente.
32
20
15
10
0
0 MARTES JUEVES
Actual Ideal
Figura 22. Burndown chart - Sprint #2
Figura 23. Sprint #3 - Sprint backlog de tareas, en Trello, para el módulo de registro y autenticación.
33
clientes quienes realizan compras; mientras no se encuentren logueados no
podrán realizar esta acción, es decir, podrán buscar productos y ver la
información de los mismos, pero se restringe la posibilidad de agregarlo al
carrito de compras.
30
25
20
15
10
5
0
0 MARTES JUEVES
Actual Ideal
Figura 24. Burndown chart - Sprint #3
Figura 25. Sprint #4 - Sprint backlog de tareas, en Trello, para el módulo de productos por categoría.
34
El cuarto sprint recogía las tareas relacionadas con las funcionalidades dentro
del módulo de productos por categoría que estarán disponibles en la tienda
virtual. El cliente podrá ver el listado de todos los productos que puede comprar
a través de la plataforma, filtrar la búsqueda por categoría y/o rango de precios,
observar las especificaciones del producto en el detalle del mismo e incluso
encontrar publicidad o datos de interés en el tema del cacao. Aquel usuario que
NO está registrado puede ver esta información, mas no puede agregar los
productos al carrito para su posterior compra; en tal caso, se le solicitará que
inicie sesión.
35
Figura 27. Sprint #5 - Sprint backlog de tareas, en Trello, para el módulo de detalle de productos.
Actual Ideal
Figura 28. Burndown chart - Sprint 5
Por obvias razones, se diría que fue un sprint “sobre estimado”, las dos
historias se cumplieron en su totalidad y las pruebas se llevaron de la manera
correcta.
36
Figura 29. Sprint #6 - Sprint backlog de tareas, en Trello, para el módulo de carrito de compras.
16
14
12
10
8
6
4
2
0
0 LUNES MARTES MIÉRCOLES JUEVES VIERNES
Actual Ideal
Figura 30. Burndown chart - Sprint #6
37
vio sobrecargado. Sin embargo, se logró cumplir con todos los puntos
propuestos.
Figura 31. Sprint #7 - Sprint backlog de tareas, en Trello, para el módulo de notificaciones.
38
30
25
20
15
10
0
0 MARTES JUEVES
-5
Actual Ideal
Figura 32. Burndown chart - Sprint #7
39
9. RESULTADOS
El primer resultado a destacar es el nivel de apropiamiento que tiene
actualmente el equipo sobre la metodología ágil Scrum. Realizando una “macro
retrospectiva”, cada uno de los miembros es consciente del avance y
crecimiento positivo que tuvieron durante el desarrollo de éste proyecto a
diferencia de otros en los que han trabajado con anterioridad. Todos
coincidieron en el factor de organización y control que ofrece la implementación
de una metodología que se acople al ritmo de trabajo de un equipo joven, sin
pasar a ser algo rutinario y que pueda tornarse aburridor y/o tedioso.
40
Figura 34. Review de sprint con el equipo y otros programadores presentes en CEINDETEC.
Figura 35. Una de las retrospectivas realizadas durante la pasantía, implementando la técnica de Starfish
Retrospective.
41
al final del sprint, eliminar cualquier inconveniente que surja y asegurar que la
metodología se cumpla creando un ambiente de plena productividad para los
desarrolladores. ¿Ventajas? Un Scrum Máster tiene un sinfín de opciones en el
mundo laboral, pues este marco de referencia, a pesar de que tiene sus
orígenes en el universo del software, es aplicable a cualquier industria en
donde se desee mejorar la planeación y cumplimiento de tareas. Éste se
convierte en una pieza clave educando e impulsando el cambio cultural dentro
de una organización.
Sin embargo, aunque el equipo muestre una buena ejecución de tareas,
siempre existirán factores ajenos que afecten el flujo normal de trabajo; para
este caso, por motivos de organización interna de la asociación, no se le dio fin
al módulo de pagos dado que no definieron la pasarela con la que se
conectaría y no se procedieron con nuevos cambios hasta que los directivos ya
que ellos son quienes dan vía libre para esto. Este tipo de cosas mientras se
siga una metodología ágil, no es de suma preocupación ya que es más flexible
el modo de operar; ventaja que no se encuentra en una metodología clásica
como la de cascada, en la que lo que se determina al inicio es lo que se va a
cumplir durante todo el desarrollo del proyecto y cualquier circunstancia nueva
puede reflejar un serio riesgo para el producto final.
Finalmente, culminando el período de dieciséis semanas de pasantía, el grado
de desarrollo del proyecto es alto. Empezando con el modelo entidad relación,
luego de este tiempo de desarrollo, con los diversos cambios y ajustes hechos,
obtuvimos el siguiente MER final:
42
Figura 36. Modelo Entidad Relación (MER) final.
Por otro lado, el sitio de administración desde el que pueden cargar todo el
contenido de la plataforma web y llevar el correcto registro y seguimiento de las
famiempresas vinculadas, se muestra en la imagen a continuación, en donde
se pueden observar todos los modelos necesarios para el completo
funcionamiento de la tienda virtual:
43
Figura 37. Sitio de administración de la plataforma web oferta-demanda para ASOMUCAO.
44
Figura 39. Vista de búsqueda y listado de productos.
45
10. CONCLUSIONES
Para empezar, los documentos generados durante cada sprint y el artículo
científico redactado como resultado de la pasantía, permiten ahora iniciar una
buena base de material académico que puede ser usado por otros estudiantes
interesados en el tema; y al estar cargados en CvLAC, es un gran chance de
comenzar a enriquecer el currículo propio, siendo parte del directorio de
COLCIENCIAS.
Continuando con el cierre del presente informe, en el trabajo de grado en
modalidad de pasantía “IMPLEMENTACIÓN DE LA METODOLOGÍA ÁGIL
SCRUM PARA EL DESARROLLO DE UNA PLATAFORMA WEB CON
TIENDA VIRTUAL”, se desarrolló un gran porcentaje de la totalidad de la
plataforma web de oferta-demanda para ASOMUCAO siguiendo las pautas de
una metodología ágil que se acopla perfectamente a la naturaleza del equipo y
que permite asegurar un excelente producto final al mantener una constante
comunicación con el cliente, así como las frecuentes retroalimentaciones para
que el índice de satisfacción del usuario sea alto.
La implementación de Scrum en un equipo joven, tiene un gran impacto ya que
da la oportunidad de formarlo y adecuarse a tal ritmo de trabajo; sin embargo,
puede existir un factor de disciplina que prolongue el tiempo de acoplamiento a
la nueva metodología; en un equipo maduro, la adaptación será más rápida
porque en cierta medida ya están acostumbrados a un ritmo de trabajo más
exigente y el adoptar una técnica más ágil para sus proyectos, les permitirá
tener una mayor producción en la mitad del tiempo.
Finalmente, la ingeniería de sistemas puede aplicarse en muchos campos y/o
áreas. Trabajos como éstos, permiten ver al ingeniero como líder de un
proyecto, quien entiende todo lo que un sistema, en general, debe comprender
y vela por el pleno cumplimiento del mismo; dejando de lado la limitación de
que un profesional de sistemas solamente se cierne a la programación de
software y está ligado a un ordenador; y es por esta misma razón, que la
Universidad como alma máter , debería agregar al curriculum de los cursos de
ingeniería de software, mayor cantidad de temas que traten las metodologías
para el desarrollo de software, la organización y debida planeación antes de
iniciar a programar, o incluso ofertar nuevas electivas de carácter administrativo
que ayuden a posicionar a un ingeniero en un panorama mucho más allá del
código fuente.
46
11. REFERENCIAS
[1] Repositorio Institucional del Departamento de Ingeniería Eléctrica de la
Universidad de Oviedo [en línea]. Disponible en:
http://isa.uniovi.es/docencia/docencia.html
47
eligió este país para instalar su primer centro de servicio en Sudamérica (y no a
Chile o Argentina). Disponible en: https://www.bbc.com/mundo/noticias-
america-latina-45887866
48