Está en la página 1de 14

Metodologías, Desarrollo y

Calidad en la Ingeniería de
Software
Actividad 3: Desarrollo de software mediante el uso de
técnicas ágiles

Por:
Alberto López García
Pablo Gómez Concha
Luis Gerardo Alvarez
Martín Aguirre Esquivel

Presentado al Mtro. O. Uriel Domínguez Mendoza

Tepic, Nayarit a 9 de Julio del 2022


Contenido
1. Introducción 3
2. Desarrollo 4
3. Conclusiones 12
4. Referencias 14
Asignatura Fecha
Metodologías, Desarrollo y Calidad en la
9 de Julio del 2022
Ingeniería de Software

1. Introducción
Basado en el material del curso proporcionado por Domínguez, U. (2022), se tiene
que las metodologías ágiles son modelos de gestión de proyectos originados dentro
del área de las Tecnologías de la Información debido a la insatisfacción de los
desarrolladores por la falta de fluidez de los modelos tradicionales que anteriormente
se utilizaban para proyectos de este tipo; ya que la metodología ágil es: colaborativa;
rápida y efectiva; iterativa y respaldada por datos y valora a las personas por encima
de los procesos. Aunque por lo general se suele combinar esta metodología ágil con
un enfoque más específico ya que permite crear una filosofía de gestión de proyectos
integral y un plan concreto para entregar trabajos de calidad.

Objetivos generales

• Trabajar de forma colaborativa como futuros responsables de proyectos de


desarrollo de software.
• Determinar la selección y aplicación de una técnica ágil en el desarrollo de un
tipo concreto de software, en función de las características particulares de cada
caso.

Actividad 3: Desarrollo de software mediante el uso de técnicas ágiles 3


Asignatura Fecha
Metodologías, Desarrollo y Calidad en la
9 de Julio del 2022
Ingeniería de Software

2. Desarrollo
Para la resolución de la actividad, todos los elementos del equipo aportaron sus ideas
y opiniones, por lo que se llegó a la decisión de realizar el programa mencionado a
continuación con su respectiva descripción.

Problemática

Una universidad que cuenta con 5 campus requiere poder ofrecer un servicio de
préstamo de libros a sus estudiantes de todos los campus donde se pueda administrar
las solicitudes, inventario y generar registros.

Propuesta

Diseño y desarrollo de un software que permita gestionar diversas solicitudes de renta


de libros entre los estudiantes universitarios, que incluya el procesamiento de los datos
del estudiante, como: el campus, seguimiento de peticiones, aceptación o rechazo de
préstamos de libros creados por los alumnos; el administrador de la biblioteca podrá
vetar a alumnos que no cumplan con los estatutos de uso, así como dar de alta y baja
libros, además de manejar el inventario de libros de la universidad. El cual será
nombrado “Mi Biblioteca Escolar”.

Metodología Ágil

A efecto de optimizar la entrega de resultados al cliente, sin perder la calidad de estas


entregas, recurrimos a la metodología ágil en la gestión de proyectos, empleando como
marco de trabajo a SCRUM, por ser una de las metodologías ágiles más populares y
usadas en proyectos de software. Por la facilidad para adaptarlo a diversos contextos
lo empleamos para este proyecto en donde identificamos los tres principales roles
dentro de su ciclo de vida de SCRUM, como se aprecia en la Figura 1.

Actividad 3: Desarrollo de software mediante el uso de técnicas ágiles 4


Asignatura Fecha
Metodologías, Desarrollo y Calidad en la
9 de Julio del 2022
Ingeniería de Software

• Product Owner (Dueño del producto).


• Scrum Master.
• Development Team (Equipo de desarrollo).

Figura 1. Diagrama del ciclo de SCRUM.


Para este proyecto se ha decidido, en colaboración, utilizar la metodología SCRUM;
que según el material del curso proporcionado por Domínguez, U. (2022)., se tiene
que: Su gran característica es que esta metodología se lleva adelante en “Sprints”, es
decir, procesos de trabajo que deben ser lo más cortos posibles. Al finalizar cada sprint,
el equipo debe entregar una versión mejorada del proyecto para que sea analizada por
el Owner y los demás interesados, los cuales darán una devolución, para luego iniciar
con el proceso de mejora. Debido a que la metodología SCRUM tiene mucha
documentación al respecto, es muy popular (lo que significa que en las empresas se
utiliza mucho), brinda claridad en los objetivos y los alcances, es flexible y fácil de
implementar.

Actividad 3: Desarrollo de software mediante el uso de técnicas ágiles 5


Asignatura Fecha
Metodologías, Desarrollo y Calidad en la
9 de Julio del 2022
Ingeniería de Software

Para empezar con la ejecución, es necesario definir los Roles dentro de la


metodología.
• Scrum Master: Facilita la aplicación del método de trabajo y gestiona cualquier
cambio necesario. Esto será hecho por Alberto López García
• Product Owner: Representante de los Stakeholders, en este caso sería la
Universidad.
• Stakeholder: Es el cliente, el cual debe definir los requerimientos y
proporcionar el feedback. En este caso sería la Universidad, el Gobierno y
empresas privadas.
• Team: Las personas que ejecutan o producen el producto. En este caso
seríamos:
o Pablo Gomez Concha
o Martín Aguirre Esquivel
o Luis Gerardo Alvarez Carreon

Se presenta a continuación el Backlog ordenado de forma priorizada a las tareas más


importantes:

1. Junta del Scrum Master con el Product Owner para definir los alcances y
diseños del proyecto.
2. Generar los diagramas de modelado por Scrum Master y Team.
1. Interfaz y posibles interacciones.
2. Casos de uso del negocio.
3. Diagrama de componentes.
4. Diagrama de secuencia de los procesos del sistema.
5. Diagrama de clases y Entidad-Relación.
6. Diagrama de flujo general.
3. Búsqueda de fallos o errores hecha por el Scrum Master y el Team.
4. Documentación hecha por el Team.
5. Entrega de reporte del Scrum Master al Product Owner del avance.

Actividad 3: Desarrollo de software mediante el uso de técnicas ágiles 6


Asignatura Fecha
Metodologías, Desarrollo y Calidad en la
9 de Julio del 2022
Ingeniería de Software

6. Generación de las Vistas del Metamodelo por Team.


7. Definición de la tecnología a utilizar por Scrum Master y Team.
8. Implementación de plataforma de gestión de proyectos Jira por Scrum Master.
9. Implementación del “Modelo” por Team.
1. Implementación de las clases.
2. Implementación de métodos de las clases.
1. Inicio de sesión.
2. Registro de usuario.
3. Baja de usuario.
4. Búsqueda de libros.
5. Préstamo de libros.
10. Implementación de la “Vista” por Team..
. Implementación de todas las vistas del programa.
11. Implementación del “Controlador” por Team.
. Creación de Base de Datos.
a. Llamadas a la base de datos.
12. Búsqueda de fallos o errores.
13. Documentación hecha por el Team.
14. Entrega de reporte del Scrum Master al Product Owner del avance.
15. Definición de los colores llamativos para la aplicación.
16. Búsqueda de fallos o errores hecha por el Scrum Master y el Team.
17. Entrega del proyecto.
En la Figura 2 se puede apreciar una muestra del backlog:

Figura 2. Muestra del Backlog.

Actividad 3: Desarrollo de software mediante el uso de técnicas ágiles 7


Asignatura Fecha
Metodologías, Desarrollo y Calidad en la
9 de Julio del 2022
Ingeniería de Software

A continuación se presenta la priorización de las historias del usuario:

• Cuando estaba utilizando el programa no encontré de forma sencilla el botón


de realizar búsqueda de libro, me gustaría que se realizara en menos pasos y
que el botón sea más llamativo.
• No puedo entrar al portal porque se me olvidó mi contraseña, me gustaría que
hubiera una forma de recuperarla..
• Se me dificulta ver la información de los libros porque es muy pequeña, me
gustaría que tuviera un tamaño de fuente mayor.
• El sistema no me permite ingresar un libro escrito en Alemán porque utilizan
letras que no son de nuestro alfabeto, me gustaría que hubiera una opción de
descargar lenguaje para poder utilizarlo.
• No entiendo el sistema y no sé nada de tecnología, yo prefiero que un asistente
de la biblioteca me de el libro que necesito.
• Me gustaría que el programa tuviera una función para que reprodujera por voz
el la información del libro porque tengo problemas de la vista.

Ahora, se presentan los Sprints que se utilizan para el proyecto:

Se tiene un horario de trabajo de 9am a 6pm de lunes a viernes, entonces se


programaron las juntas de los Sprints para que sean todos los lunes, miércoles y
viernes, de 9am a 9:15am. En las cuales se verán los avances realizados y se definirán
los futuros avances. En ciertos casos habrá corrección de errores. El objetivo en estas
juntas es tener un avance sustancial y entregable.

A continuación se presenta el Sprint backlog, que es una descripción aún más detallada
que el Sprint, tratando de mencionar a detalle cada punto de este:

Actividad 3: Desarrollo de software mediante el uso de técnicas ágiles 8


Asignatura Fecha
Metodologías, Desarrollo y Calidad en la
9 de Julio del 2022
Ingeniería de Software

• Generar los diagramas de modelado por Scrum Master y Team.


o Utilizar Draw.io para la realización de los diagramas
• Búsqueda de fallos o errores hecha por el Scrum Master y el Team.
o Revisión del código por otras personas.
• Documentación hecha por el Team.
o Utilización de MS Word compartido y creación de diagramas.
• Generación de las Vistas del Metamodelo por Team.
o Utilización de código HTML y CSS para generar las vistas del
programa dentro del metamodelo.
• Definición de la tecnología a utilizar por Scrum Master y Team.
o Definir lenguaje de programación: HTML/CSS y Javascript para el
frontend, del lado del backend se utiliza PHP junto con Python
(Django) para el manejo de índices, búsquedas y coincidencias.
o Definir base de datos: se utiliza MariaDB porque la cantidad de
información manejada es relativamente ligera.
o Definir entorno de programación: se utiliza VS Code como entorno
GUI de programación, así como el gestor de versiones Git Hub.
• Implementación de plataforma de gestión de proyectos Jira por Scrum Master.
o Creación del proyecto en la plataforma Jira.
o Alta de colaboradores.
o Repartición de asignaciones.
• Implementación del “Modelo” por Team.
o Creación de clases, atributos y métodos.
§ Inicio de sesión.
§ Registro de usuario.
§ Baja de usuario.
§ Búsqueda de libros.
§ Préstamo de libros.
• Implementación de la “Vista” por Team.
o Implementación de todas las vistas del programa.
• Implementación del “Controlador” por Team.

Actividad 3: Desarrollo de software mediante el uso de técnicas ágiles 9


Asignatura Fecha
Metodologías, Desarrollo y Calidad en la
9 de Julio del 2022
Ingeniería de Software

o Creación de Base de Datos.


o Llamadas a la base de datos.
§ Funciones que utilizan MongoDB.
• Búsqueda de fallos o errores.
o Revisión del código por otras personas.
• Documentación hecha por el Team.
o Utilización de MS Word compartido y creación de diagramas.
• Definición de los colores llamativos para la aplicación.
o Junta del Scrum Master con el Product Owner para definir esto.
• Búsqueda de fallos o errores hecha por el Scrum Master y el Team.
o Analizar el código entre varias personas tratando de encontrar fallos.
• Entrega del proyecto.
o Presentación oficial.

En un sprint, el equipo comprueba durante el scrum diario, o reunión rápida, cómo


progresa el trabajo. El objetivo de esta reunión es descubrir los impedimentos y retos
que afectarían a la capacidad de los equipos para alcanzar el objetivo del sprint. Ver
Figura 3.

Actividad 3: Desarrollo de software mediante el uso de técnicas ágiles 10


Asignatura Fecha
Metodologías, Desarrollo y Calidad en la
9 de Julio del 2022
Ingeniería de Software

Figura 3. Muestra del Sprint.

El Roadmap permite a todos los actores visualizar el progreso de las tareas de manera
dinámica, en nuestro caso utilizamos la herramienta Jira para realizar el proyecto y
poder plasmar el tiempo que requiere el desarrollo de este software. Ver Figura 4.

Figura 4. Muestra del Roadmap.

Actividad 3: Desarrollo de software mediante el uso de técnicas ágiles 11


Asignatura Fecha
Metodologías, Desarrollo y Calidad en la
9 de Julio del 2022
Ingeniería de Software

3. Conclusiones
Pablo Gómez Concha. En lo personal me agradó mucho haber elegido junto con el
equipo la metodología SCRUM, ya que esta es muy utilizada por equipos de trabajo
en todo el mundo porque se comprueba que es funcional; yo en lo personal vengo de
un área de la ingeniería que utiliza el método tradicional para desarrollo de proyectos,
pero el implementar y conocer esta metodología me permite extrapolar mi
conocimiento hacia otras áreas, logrando así formarme aún mejor como profesionista
de calidad.

Luis Gerardo Alvarez. Personalmente pienso que hablar de metodologías ágiles es


sinónimo de hablar de SCRUM, por lo que me pareció muy interesante coincidir con
mis compañeros en el uso de esta metodología para el desarrollo de esta tarea, ya que
es uno de los más conocidos y utilizados por pequeñas y grandes empresas.
Al utilizar herramientas colaborativas como Jira, nos permite precisamente eso,
colaborar sin necesariamente estar en la misma ubicación o zona horaria, ya que el
trabajo del backlog y los paneles se pueden ir actualizando por cualquiera de los
integrantes del equipo conforme se va avanzando en el proyecto.
A modo personal, me parece fascinante el impacto que podría tener el implementar
estas metodologías ágiles en otras áreas fuera del desarrollo de Software, ya que veo
mucho potencial en este tipo de administración de proyectos.

Martín Aguirre Esquivel. Realizar entregas con calidad y cercanas a lo que el cliente
requiere, es una de las ventajas más apreciadas por las organizaciones de desarrollo y
por los dueños de la información (empresas), veo realmente una ventaja en usar este
tipo de metodologías, hasta hoy conocí a SCRUM y me ha convencido para empezar a
usarla en mis proyectos.

Alberto López Garcia: las metodologías ágiles son las más utilizadas en el ámbito del
desarrollo para pequeñas y medianas organizaciones debido a que estas en cierto
punto no pueden costear arquitectos de software o especialistas en ingeniería de
requisitos, y en otro punto, las metodologías ágiles, priorizan el tiempo de desarrollo
por encima de algunos otros puntos, y aunque esto no signifique que sean malas, sin
duda alguna la simplicidad que estas tienen para ser aplicadas es lo que las hace tan
populares, y lo que como primer metodologia para desarrollo, conviene aplicar,

Actividad 3: Desarrollo de software mediante el uso de técnicas ágiles 12


Asignatura Fecha
Metodologías, Desarrollo y Calidad en la
9 de Julio del 2022
Ingeniería de Software

algunos otro podrían pensar que estas tienen más desventajas que ventajas, pero todo
esto es relativo, al final si el que se pone como SCRUM Master es alguien habilidoso y
capacitado, el proyecto sale sin contratiempos.

Actividad 3: Desarrollo de software mediante el uso de técnicas ágiles 13


Asignatura Fecha
Metodologías, Desarrollo y Calidad en la
9 de Julio del 2022
Ingeniería de Software

4. Referencias

Domínguez, U. (2022). Tema 8. Agilidad en el desarrollo de software. Universidad


Internacional de la Rioja en México.

SCRUM.ORG. (2020). What is Scrum?. November 2020, de SCRUM.ORG Sitio web:


https://www.scrum.org/resources/what-is-scrum

Actividad 3: Desarrollo de software mediante el uso de técnicas ágiles 14

También podría gustarte