Aplicación de La Metodología Ágil Scrum para El Desarrollo de Una Aplicación Web
Aplicación de La Metodología Ágil Scrum para El Desarrollo de Una Aplicación Web
ASIGNATURA
DOCENTE
ESTUDIANTES
1.1.2 Alcance.
Scrum es una metodología ágil para la gestión de proyectos que se adapta bien al
desarrollo de aplicaciones web. Los aspectos clave de scrum, incluyendo las interacciones
cortas, los roles claros, las reuniones estructuradas, el enfoque en la entrega de valor y la
flexibilidad, permiten a los equipos de desarrollo de aplicaciones web trabajar de una
manera efectiva y eficiente para entregar productos de alta calidad.
1.2 Objetivos del trabajo.
1.2.1 Objetivo general
Aplicar la metodología ágil scrum en el desarrollo de una aplicación web para una
tienda de artículos de tecnología, utilizando ASP.NET Core 7 y angular 14, y analizar los
resultados obtenidos.
Scrum, como gestión de proyectos, se puede definir como un modelo de desarrollo ágil y flexible, cuya
principal prioridad es maximizar el retorno de la investigación. (“Qué es Scrum: Origen y características |
OpenWebinars”)
scrum está formado por un conjunto de buenas prácticas que nos van a permitir, trabajando en equipo,
conseguir una agilidad que nos va a favorecer mucho durante el desarrollo, y que además nos va a
permitir obtener mejores resultados. (Abraham Requena Mesa, 2018)
desde 1995 miles de proyectos en todo el mundo han utilizado el scrum para el
desarrollo de productos, tanto en empresas pequeñas, startups como tan solo 3
personas desarrollando un producto, como en multinacionales.
"Ken Schwaber presenta Por Primera Vez el proceso de desarrollo con scrum en
la conferencia OOPSLA en la cual expone las ventajas de este marco de trabajo."
(“Historia y evolución de Scrum”)
el problema es que muchos equipos scrum ni siquiera saben que esos valores existen y, sí
ignoramos su existencia, difícilmente podremos aplicarlos. (“Valores Scrum: cómo ponerlos
en práctica”) Otras veces, aun conociendo que forman parte de scrum, no se ponen en
práctica, dado su supuesto carácter abstracto o teórico.
• Coraje: los miembros del equipo scrum tienen la valentía para hacer lo correcto y
trabajar en problemas complejos. (“ Los 5 VALORES SCRUM AGILE NOW 2021
Curso rápido de AGILE y SCRUM”) Sabemos que crear productos que nuestros clientes
utilicen y paguen por no es nada fácil, como tampoco lo es hacerlo con un proceso de
trabajo ágil. Ante los traspiés, que son oportunidades de mejora, nos levantamos.
• Foco: los compañeros del equipo scrum se centran en el trabajo del sprint y en la
consecución del objetivo del sprint, estrechamente conectado con el Product Goal.
(“ Los 5 VALORES SCRUM AGILE NOW 2021 Curso rápido de AGILE y SCRUM”)
Scrum nos da un cierto grado de certidumbre en forma de Sprint: nos permite dedicar
todos nuestros esfuerzos a una parte del Product backlog, dejando a un lado, si quiera
por un momento coma el ruido procedente de un entorno cambiante.
• Compromiso: todos hemos de comprometernos personalmente con lograr el objetivo
del sprint. El compromiso no se entiende como una suerte de contrato por el cual los
desarrolladores han de garantizar la entrega de todos los elementos del Product
backlog qué hayas seleccionado para el sprint, sino con dar lo mejor de nosotros
mismos para alcanzar las metas del equipo. La guía es scrum2020 enfatiza el significado
de este compromiso, hasta el punto de asociar un compromiso a cada uno de los
artefactos.
• Respeto: los integrantes del equipo scrum se tratan de una forma adecuada y se tienen
en consideración como profesionales capaces y autónomos. (“ Los 5 VALORES
SCRUM AGILE NOW 2021 Curso rápido de AGILE y SCRUM”)
• Sinceridad, apertura: el equipo scrum y los interesados o stakeholders han de ser
transparentes en cuanto al trabajo y las vicisitudes que surjan. (“ Los 5 VALORES
SCRUM AGILE NOW 2021 Curso rápido de AGILE y SCRUM”) (Rodríguez, 2020)
• Product Owner
"El Product Owner es el encargado de optimizar y maximizar el valor del
producto, siendo la persona encargada de gestionar el flujo de valor del
producto a través del Product backlog." (“Scrum un marco de trabajo ágil -
esieduc.org”) "Adicionalmente, es fundamental su labor como interlocutor
con los stakeholders y sponsors del proyecto, así como su faceta de altavoz
de las peticiones y requerimientos de los clientes." (“Scrum: roles y
responsabilidades | Deloitte España”) sí el Product Owner también juega el
rol de representante de negocio, su trabajo también aportará valor al
producto.
• Scrum Master
el scrum master tiene 2 funciones principales dentro del marco de trabajo:
gestionar el proceso scrum y ayudar a eliminar impedimentos que puedan
afectar a la entrega del producto. Además, se encarga de las labores de
Mentoring y formación, coaching y de facilitar reuniones y eventos si es
necesario. (“Scrum: roles y responsabilidades | Deloitte España”)
o "Gestionar el proceso scrum: el scrum master se encarga de gestionar y
asegurar que el proceso scrum se lleva a cabo correctamente, así como de
facilitar la ejecución del proceso y sus mecánicas." (“Scrum: roles y
responsabilidades | Deloitte España”) Siempre atendiendo a los 3 pilares
de control empírico de procesos y haciendo que la metodología sea una
fuente de generación de valor.
o Eliminar impedimentos: esta función del Scrum Master indica la necesidad
de ayudar a eliminar progresiva y constantemente impedimentos que
vayan surgiendo en la organización y que afectan a su capacidad para
entregar valor, así como a la integridad de esta metodología. el scrum
master debe ser el responsable de velar porque el scrum se lleve adelante,
transmitiendo sus beneficios a la organización facilitando su
implementación. (“Scrum: roles y responsabilidades | Deloitte España”)
Aplicación de Scrum al desarrollo de una aplicación web. (Roche, s.f.).
Demostrando que puede haber muchas ventajas al utilizar la metodología scrum en el desarrollo
de aplicaciones web. Algunas de las más importantes ventajas son las siguientes:
• Flexibilidad: excluirse una metodología ágil que se adapta bien a los cambios constantes
en los requisitos de un proyecto de desarrollo de aplicación web. Los equipos de
desarrollo pueden ajustar rápidamente su enfoque para satisfacer las necesidades de
los usuarios y los cambios en el mercado.
• Entrega temprana de valor : scrum enfatiza la entrega temprana y frecuente de valor al
usuario, lo que significa que los equipos de desarrollo pueden obtener
retroalimentación valiosa de los usuarios temprano en el proceso y ajustar en
consecuencia.
• Mayor control del proyecto: scrum proporcionar herramientas y técnicas para que los
equipos de desarrollo gestión y control en su trabajo de manera efectiva los equipos
pueden seguir de cerca el progreso del proyecto y tomar medidas proactivas para
abordar cualquier problema que surja.
• Mejora en la calidad del producto: el enfoque de excluir en la entrega de valor y la
retroalimentación continua el usuario puede ayudar a garantizar que el producto final
cumpla con las necesidades del usuario y tenga una calidad alta.
• Colaboración efectiva: scrum fomenta la colaboración entre los miembros del equipo
de desarrollo, lo que puede ayudar a garantizar que el trabajo se realice de manera más
eficiente y efectiva.
• Mejora en la productividad: scrum puede ayudar a los equipos de desarrollo a ser más
productivos al fomentar la responsabilidad individual y el trabajo en equipo, y al
eliminar los obstáculos que pueden impedir el progreso.
Aparte las fases anteriormente mencionadas y cómo se realiza su aplicación o cuál es la función
de cada fase dentro de la metodología scrum se debe tener en cuenta otras formas en que
scrum pueda afectarse específicamente al desarrollo de aplicaciones web:
• crear prototipos: los equipos de desarrollo pueden utilizar prototipos para validar
rápidamente las ideas y las funcionalidades clave de la aplicación web. Esto puede
ayudar a reducir el riesgo de que se invierta tiempo y recursos en una funcionalidad
que no se ajusta a las necesidades del usuario.
• enfocarse en la experiencia del usuario: el enfoque es en la entrega temprana hay
frecuente del valorar usuario puede ayudar a los equipos de desarrollo a centrarse en
las necesidades y expectativas del usuario. Al enfocarse en la experiencia del usuario,
los equipos pueden garantizar que la aplicación web sea más fácil de usar y satisfaga las
necesidades del usuario.
• Asegurar la calidad del código: el desarrollo de aplicaciones web implica una gran
cantidad de código, lo que puede hacer que sea difícil garantizar la calidad del mismo
punto scrum fomenta la integración continua y la revisión de código, lo que puede
ayudar a garantizar que el código de la aplicación web sea de alta calidad.
• Gestión de la complejidad: el desarrollo de aplicaciones web puede ser complejo y
puede implicar múltiples plataformas y tecnologías. Scrum puede ayudar a los equipos
de desarrollo a gestionar la complejidad al permitir trabajar en pequeñas
funcionalidades de forma interactiva y entregando valor temprano.
en general, escribir es una metodología altamente adaptable que se puede aplicar con
éxito al desarrollo de aplicaciones web.
- Velocidad y rendimiento
"Angular cuenta con código de generación que permite convertir tus plantillas en códigos
altamente optimizados." (“¿Qué es Angular? Características y ventajas - HubSpot”) Esto te
ofrece todos los beneficios del código escrito a mano con la productividad de un marco. "De
igual manera, allana el camino para los sitios que optimizan para SEO y sus aplicaciones
angulares se cargan rápidamente." (“¿Qué es Angular? Características y ventajas - HubSpot”)
Esto ofrece una división de código automática para que sólo cargues el código que necesitas
para representar la vista que requieres.
- Productividad
angular permite la creación rápida de vistas de interfaz de usuario con una sintaxis de plantilla
muy sencilla y eficaz. Además, con sus herramientas de líneas de comandos puedes comenzar a
construir en menor tiempo y agregar componentes, pruebas e implementaciones al instante.
(“¿Qué es Angular? Características y ventajas - HubSpot”)
- Directivas
los archivos HTML se ven ampliados gracias a directivas habilitadas por los desarrolladores
cuando agregan el prefijo ng- a los atributos HTML punto existen diferentes tipos de directivas
muy útiles que puedes usar para diferentes acciones como vincular el contenido de un elemento
HTML a los datos de aplicación, o especificar que el contenido de un texto debe reemplazarse
con una plantilla. (“¿Qué es Angular? Características y ventajas - HubSpot”)
- Pruebas
angular hace uso del framework de pruebas llamado Jasmine, el cual proporciona diversas
funcionalidades para escribir diferentes tipos de casos de prueba punto de igual manera, el
marco admite pruebas unitarias y de integración. (“¿Qué es Angular? Características y ventajas -
HubSpot”) (Coppola, 2023)
Como resumen de las anteriores características mencionadas de angular podemos definir que
angular es un framework de JavaScript de código abierto que se utiliza para desarrollar
aplicaciones web de una sola página (SPA). Angular ofrece una arquitectura de aplicación
robusta que permite a los desarrolladores crear aplicaciones web altamente interactivas y
dinámicas. Con angular, los desarrolladores pueden crear componentes reutilizables, manejar el
enrutamiento de las aplicaciones, validar formularios y usar una variedad de herramientas de
prueba para garantizar la calidad de código.
La aplicación contará con una interfaz gráfica de usuario desarrollada en angular 14, que
ofrecerá una navegación fluida y una experiencia de usuario atractiva. La página principal de
la tienda mostrará una selección de productos destacados así como opciones para buscar y
filtrar por categorías y características de los productos. En cuanto a la parte de funcionarios
contará con un que permitirá al dueño de la tienda llevar estadísticas claras sobre las ventas
y visitas que ha tenido su tienda también permitiendo administrar los usuarios creados en su
tienda para poder obtener los datos de sus clientes.
4.2.1 Sprint 1
Duración: 2 semanas
objetivos:
• Definir las historias de usuario para el desarrollo de la interfaz gráfica de usuario en
angular 14.
• Crear el esquema de la base de datos en SQL server.
• Implementar las primeras funcionalidades de la capa de acceso a datos.
4.2.2 Sprint 2
Duración: 2 semanas
objetivos:
• Desarrollar la interfaz gráfica de usuario para la página principal de la tienda incluyendo
la selección de productos destacados y las opciones de búsqueda y filtrado.
• Implementar las funcionalidades de gestión de productos en la capa de aplicación,
incluyendo la creación, modificación y eliminación de productos.
• Refinar el esquema de la base de datos y los procedimientos almacenados para mejorar
la eficiencia y escalabilidad.
4.2.3 Sprint 3
Duración: 2 semanas
objetivos:
• Para la interfaz gráfica de usuario para la gestión de ventas y clientes.
• Implementar las funciones de gestión de ventas y clientes en la capa de aplicación,
incluyendo la creación, modificación y eliminación de ventas y clientes.
• Realizar pruebas de integración y de usuario para asegurar la funcionalidad y usabilidad
de la aplicación.
4.2.4 Sprint 4
Duración: 1 semanas
objetivos:
• Actualidad pruebas finales y correcciones de errores.
• Preparar la documentación técnica y de usuario.
• Realizar la entrega final del proyecto.
En cada sprint, Se llevará a cabo las siguientes actividades en el marco de scrum:
• Sprint planning: reunión al inicio de cada sprint para definir los objetivos y tareas del
sprint.
• Daily scrum: reunión diaria para actualizar el estado de las tareas e identificar posibles
problemas o riesgos.
• Sprint review: reunión al final de cada sprint para revisar el trabajo realizado y hacer
mejoras para el siguiente sprint.
• Sprint retrospective: reunión al final de cada sprint para analizar los procesos y
prácticas utilizadas y hacer ajustes para el siguiente sprint.
con esta planificación en scrum, se asegura una entrega constante y de alta calidad de la
aplicación, con una comunicación fluida y una adaptación continua a las necesidades y
requerimientos del proyecto.
Después de la reunión de revisión del equipo comienza a prepararse para el siguiente sprint. Se
actualiza el Product backlog en función de la retroalimentación recibida durante la revisión y la
planificación del próximo sprint en la reunión de planificación del sprint.
En la última reunión de scrum, conocida como la reunión retrospectiva del proyecto, se realiza
una revisión final del proyecto en su conjunto y se discuten las lecciones aprendidas y las
oportunidades de mejora para futuros proyectos.
Finalmente, el equipo de desarrollo entrega el proyecto completo a los interesados para su uso y se
prepara para futuras actualizaciones y mejoras en función de las necesidades del cliente.
También la revisión de la calidad del producto ya que él tiene reuniones constantes se puede
realizar una medida final sobre el éxito del desarrollo evaluando la calidad del producto a través
de las pruebas de usuario y pruebas de calidad que proporcionarán una valiosa información
sobre el proceso de desarrollo.
De esta forma se apoyó también llegar a medir la satisfacción del cliente de acuerdo a sus ideas
propuestas para el desarrollo de una aplicación web que su plan de necesidades de su tienda,
esta satisfacción pudo ser mi día mediante las reuniones realizadas en cada sprint frente al
cliente demostrando las funcionalidades nuevas que se han implementado en la aplicación
recibiendo la retrospectiva del cliente de acuerdo a su medida objetiva del éxito del proceso de
desarrollo.
Finalmente llevando a una revisión de un proceso en scrum el cual puede proporcionar una
valiosa información sobre el éxito de este proceso de desarrollo de una aplicación web para una
tienda de tecnología dejando como precepto las actividades aplicadas a este proyecto como
huella de planificación para los próximos proyectos que se deban implementar teniendo una
idea sólida de una planificación antes ya exitosa.
6 Conclusiones.
6.1 Conclusiones generales.
• La metodología scrum resultó ser una herramienta efectiva para el desarrollo de la
aplicación web en la tienda de tecnología. La división del proyecto en Sprint y la
asignación de roles y responsabilidades claras permitió un enfoque ágil y una
adaptación rápida a los cambios de los requerimientos del proyecto.
• La elección de asp.net corchete y angular 14 para el desarrollo de la aplicación web
permitía una arquitectura n capas y una experiencia de usuario de alta calidad. La base
de datos es QL server proporciona una solución robusta y escalable para el
almacenamiento de datos de la aplicación.
• La planificación del proyecto y la ejecución de los sprint se llevaron a cabo según lo
previsto lo que permitió cumplir con los plazos establecidos y entregar una aplicación
web funcional y de alta calidad.
• La colaboración y comunicación efectiva dentro del equipo de desarrollo fue clave para
el éxito del proyecto. La asignación de roles y responsabilidades claras, así como las
reuniones diarias de scrum y la retroalimentación continua, permitieron una
colaboración efectiva y una solución eficiente de los problemas.
• en general la aplicación web de la tienda de tecnología fue un proyecto exitoso que
cumplió con los objetivos establecidos. la metodología es scrum permitió una
planificación y ejecución efectiva del proyecto, mientras que la elección de tecnologías
modernas y la colaboración efectiva dentro del equipo de desarrollo permitieron la
creación de una aplicación web funcional y de alta calidad.
https://revistas.uexternado.edu.co/index.php/ecoins/article/view/5971/7695
https://veeduriadistrital.gov.co/archivos
https://normas-apa.org/
7.2 Referencias
Abraham Requena Mesa. (17 de 12 de 2018). Openwebinars. Obtenido de
https://openwebinars.net/blog/que-es-scrum/